• C
    firmware: arm_scmi: Add support for atomic transports · 69255e74
    Cristian Marussi 提交于
    An SCMI transport can be configured as .atomic_enabled in order to signal
    to the SCMI core that all its TX path is executed in atomic context and
    that, when requested, polling mode should be used while waiting for command
    responses.
    
    When a specific platform configuration had properly configured such a
    transport as .atomic_enabled, the SCMI core will also take care not to
    sleep in the corresponding RX path while waiting for a response if that
    specific command transaction was requested as atomic using polling mode.
    
    Asynchronous commands should not be used in an atomic context and so a
    warning is emitted if polling was requested for an asynchronous command.
    
    Add also a method to check, from the SCMI drivers, if the underlying SCMI
    transport is currently configured to support atomic transactions: this will
    be used by upper layers to determine if atomic requests can be supported at
    all on this SCMI instance.
    
    Link: https://lore.kernel.org/r/20211220195646.44498-7-cristian.marussi@arm.comSigned-off-by: NCristian Marussi <cristian.marussi@arm.com>
    Signed-off-by: NSudeep Holla <sudeep.holla@arm.com>
    69255e74
scmi_protocol.h 26.5 KB