]> git.ipfire.org Git - thirdparty/linux.git/commit
firmware: stratix10-svc: Add support for async communication
authorMahesh Rao <mahesh.rao@altera.com>
Mon, 27 Oct 2025 14:54:41 +0000 (22:54 +0800)
committerDinh Nguyen <dinguyen@kernel.org>
Thu, 13 Nov 2025 12:32:58 +0000 (06:32 -0600)
commitbcb9f4f0706147afc62c48533276a18fe7b8f354
tree5893ea9e5d5fd86c6ecc31dc6bb2b4ce9b5ab2d0
parent85f96cbbbc67b59652b2c1ec394b8ddc0ddf1b0b
firmware: stratix10-svc: Add support for async communication

Introduce support for asynchronous communication with the Stratix10
service channel. Define new structures to enable asynchronous messaging
with the Secure Device Manager (SDM). Add and remove asynchronous
support for existing channels. Implement initialization and cleanup
routines for the asynchronous framework. Enable sending and polling of
messages to the SDM asynchronously.

The new public functions added are:
- stratix10_svc_add_async_client: Adds a client to the service channel.
- stratix10_svc_remove_async_client: Removes an asynchronous client from
        the service channel.
- stratix10_svc_async_send: Sends an asynchronous message to the SDM
        mailbox in EL3 secure firmware.
- stratix10_svc_async_poll: Polls the status of an asynchronous service
        request in EL3 secure firmware.
- stratix10_svc_async_done: Marks an asynchronous transaction as
        complete and frees up the resources.

These changes enhance the functionality of the Stratix10 service channel
by allowing for more efficient and flexible communication with the
firmware.

Signed-off-by: Mahesh Rao <mahesh.rao@altera.com>
Reviewed-by: Matthew Gerlach <matthew.gerlach@altera.com>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
drivers/firmware/stratix10-svc.c
include/linux/firmware/intel/stratix10-smc.h
include/linux/firmware/intel/stratix10-svc-client.h