summaryrefslogtreecommitdiff
path: root/include/linux/memory
diff options
context:
space:
mode:
authorMahesh Rao <mahesh.rao@altera.com>2026-07-10 00:04:40 -0700
committerDinh Nguyen <dinguyen@kernel.org>2026-07-10 09:58:23 -0500
commitef7453e1f986813d8bf734af33088e34bf91f70a (patch)
treef4d954da4eaad9c31d16ded41086d39f42feff2a /include/linux/memory
parentfe8c977b35fd9e945ff281382c808026d41731e5 (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