mbox series

[GIT,PULL] firmware: arm_scmi: Updates for v6.13

Message ID 20241106110727.4007489-1-sudeep.holla@arm.com (mailing list archive)
State New
Headers show
Series [GIT,PULL] firmware: arm_scmi: Updates for v6.13 | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git tags/scmi-updates-6.13

Message

Sudeep Holla Nov. 6, 2024, 11:07 a.m. UTC
Hi ARM SoC Team,

Please pull ! Sorry for the late PR but most of the changes are in -next
for a while now.

Regards,
Sudeep

-->8

The following changes since commit 54962707f8b8b53812d3d7fca279a68c6e18faae:

  firmware: arm_scmi: Use vendor string in max-rx-timeout-ms (2024-10-28 14:49:27 +0000)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git tags/scmi-updates-6.13

for you to fetch changes up to 109aa654f85c5141e813b2cd1bd36d90be678407:

  firmware: arm_scpi: Check the DVFS OPP count returned by the firmware (2024-11-06 10:48:13 +0000)

----------------------------------------------------------------
Arm SCMI updates for v6.13

Just couple of main additions:
1. Support for variable I/O width within ARM SCMI shared memory area.

   Some shared memory areas might only support a certain access width,
   such as 32-bit, which memcpy_{from,to}_io() does not adhere to at least
   on ARM64 by making both 8-bit and 64-bit accesses to such memory.

    This support updates the shmem layer to support reading from and
    writing to such shared memory area using the specified I/O width
    in the Device Tree. The various transport layers making use of the
    shmem.c code are updated accordingly to pass the I/O accessors that
    they store. The device tree bindings are also updated for the same.

2. Extension of SCMI transport bindings to add more properties

   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 platform and so on. Such details are not discoverable as they are
   outside the scope of the SCMI protocol specification.

   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.

Apart from the above two, there is one NULL pointer dereference fix for
very age old SCPI protocol driver which seems to be still in use on few
platforms.

----------------------------------------------------------------
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

Florian Fainelli (2):
      dt-bindings: sram: Document reg-io-width property
      firmware: arm_scmi: Support 'reg-io-width' property for shared memory

Luo Qiu (1):
      firmware: arm_scpi: Check the DVFS OPP count returned by the firmware

 .../devicetree/bindings/firmware/arm,scmi.yaml     | 15 ++++
 Documentation/devicetree/bindings/sram/sram.yaml   |  6 ++
 drivers/firmware/arm_scmi/common.h                 | 45 ++++++++++--
 drivers/firmware/arm_scmi/driver.c                 | 42 ++++++-----
 drivers/firmware/arm_scmi/shmem.c                  | 85 ++++++++++++++++++++--
 drivers/firmware/arm_scmi/transports/mailbox.c     | 15 ++--
 drivers/firmware/arm_scmi/transports/optee.c       | 19 +++--
 drivers/firmware/arm_scmi/transports/smc.c         | 13 +++-
 drivers/firmware/arm_scmi/transports/virtio.c      | 15 ++--
 drivers/firmware/arm_scpi.c                        |  3 +
 10 files changed, 204 insertions(+), 54 deletions(-)