diff options
| author | Mahesh Rao <mahesh.rao@altera.com> | 2026-07-10 00:04:40 -0700 |
|---|---|---|
| committer | Dinh Nguyen <dinguyen@kernel.org> | 2026-07-10 09:58:23 -0500 |
| commit | ef7453e1f986813d8bf734af33088e34bf91f70a (patch) | |
| tree | f4d954da4eaad9c31d16ded41086d39f42feff2a /include/linux/memory | |
| parent | fe8c977b35fd9e945ff281382c808026d41731e5 (diff) | |
firmware: stratix10-rsu: Add synchronous fallback for async SVC operations
The RSU driver was migrated to the Stratix10 asynchronous service
framework, which assumes async client registration always succeeds. On
platforms where the async controller is unavailable or RSU async support
is not present, probe fails or sysfs operations cannot reach firmware.
Detect async capability at probe via stratix10_svc_add_async_client() and
fall back to the legacy synchronous rsu_send_msg() path when registration
fails. Track capability in priv->async and branch accordingly for:
- Initial RSU status and retry counter during probe (retry is bundled in
async status; issue COMMAND_RSU_RETRY separately in sync mode)
- notify sysfs store (notify, status, and retry)
- SPT table retrieval (COMMAND_RSU_GET_SPT_TABLE async vs mbox
COMMAND_MBOX_SEND_CMD synchronous)
Restore synchronous callbacks (rsu_status_callback, rsu_retry_callback,
rsu_get_spt_callback) and wire COMMAND_MBOX_SEND_CMD payload handling in
__rsu_send_msg_locked.
Improve probe and remove cleanup: return on intermediate probe failures,
remove the async client when registered, and free the SPT response buffer
on sync-path allocation errors.
Suggested-by: Anders Hedlund <anders.hedlund@windriver.com>
Signed-off-by: Mahesh Rao <mahesh.rao@altera.com>
Signed-off-by: Asyraaf Azhar <mohamad.asyraaf.azhar@altera.com>
Signed-off-by: Tze Yee Ng <tze.yee.ng@altera.com>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
Diffstat (limited to 'include/linux/memory')
0 files changed, 0 insertions, 0 deletions
