• Sudeep Holla's avatar
    firmware: arm_scmi: Add support for asynchronous commands and delayed response · 58ecdf03
    Sudeep Holla authored
    Messages that are sent to platform, also known as commands and can be:
    
    1. Synchronous commands that block the channel until the requested work
    has been completed. The platform responds to these commands over the
    same channel and hence can't be used to send another command until the
    previous command has completed.
    
    2. Asynchronous commands on the other hand, the platform schedules the
    requested work to complete later in time and returns almost immediately
    freeing the channel for new commands. The response indicates the success
    or failure in the ability to schedule the requested work. When the work
    has completed, the platform sends an additional delayed response message.
    
    Using the same transmit buffer used for sending the asynchronous command
    even for the delayed response corresponding to it simplifies handling of
    the delayed response. It's the caller of asynchronous command that is
    responsible for allocating the completion flag that scmi driver can
    complete to indicate the arrival of delayed response.
    Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
    58ecdf03
driver.c 26 KB