mbox series

[0/5] Expose SCMI Transport properties

Message ID 20241018080602.3952869-1-cristian.marussi@arm.com (mailing list archive)
Headers show
Series Expose SCMI Transport properties | expand

Message

Cristian Marussi Oct. 18, 2024, 8:05 a.m. UTC
Hi,

SCMI transports are characterized by a number of properties: the values
assumed by some of them tightly depend on the choices taken at design
time and on the overall archiecture of the specific platform: things like
timeouts, maximum message size and number of in-flight messages are closely
tied to the architecture of the platform like number of SCMI agents on the
system, physical memory available to the SCMI server...so on and so forth.

Moreover, since the SCMI specification does not delve into the details
of specific transports, that are, indeed, outside the scope of the
specification itself, such characteristics are NOT even discoverable
at run-time on an SCMI platform.

Currently such properties are simple default values defined at build time,
but the increasing number and variety of platforms using SCMI with a wide
range of designs has increased the need to have a way to describe such
properties across all these platforms.

This series, at first removes a few ambiguities in how some of the current
built-in properties are interpreted, then lays out a way for the core to
propagate back to the transports any possible setting gathered at runtime
from devicetree and finally introduce a pair of new properties used to
describe such per-platform transport characteristics.

Based on v6.12-rc3.

Any feedback welcome.

Thanks,
Cristian

Cristian Marussi (5):
  firmware: arm_scmi: Account for SHMEM memory overhead
  firmware: arm_scmi: Calculate virtio PDU max size dynamically
  dt-bindings: firmware: arm,scmi: Introduce more transport properties
  firmware: arm_scmi: Use max_msg and max_msg_size devicetree properties
  firmware: arm_scmi: Relocate atomic_threshold to scmi_desc

 .../bindings/firmware/arm,scmi.yaml           | 16 +++++++
 drivers/firmware/arm_scmi/common.h            | 11 ++++-
 drivers/firmware/arm_scmi/driver.c            | 42 +++++++++++--------
 drivers/firmware/arm_scmi/shmem.c             |  7 ++++
 .../firmware/arm_scmi/transports/mailbox.c    |  4 +-
 drivers/firmware/arm_scmi/transports/optee.c  |  2 +-
 drivers/firmware/arm_scmi/transports/smc.c    |  4 +-
 drivers/firmware/arm_scmi/transports/virtio.c | 15 +++----
 8 files changed, 72 insertions(+), 29 deletions(-)