mbox series

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

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

Pull-request

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

Message

Sudeep Holla Feb. 23, 2024, 3:34 a.m. UTC
Hi ARM SoC Team,

Please pull !

Sorry for the delayed pull request, was waiting for Ack from clk
maintainers for some trivial changes but Stephen had some comments/
discussion on one of them, so dropped all clk changes due to dependencies.
All the other changes are in -next for a while now.

Regards,
Sudeep

-->8

The following changes since commit 6bd1b3fede83d8ba5314886062a9bfdada5102a9:

  firmware: arm_scmi: Fix the clock protocol supported version (2024-01-22 10:01:17 +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.9

for you to fetch changes up to c2f0961a45c4a973437285871540c155bed18ccb:

  MAINTAINERS: Update SCMI entry with HWMON driver (2024-02-23 02:01:13 +0000)

----------------------------------------------------------------
Arm SCMI updates for v6.9

Quite a few changes to extend support to SCMI v3.2 specification,
to enhance notification handling and other miscellaneous updates.

1. Enhancements to notification handling

   Until now, trying to register a notifier for an unsuppported
   notification returned an error genrating unneeded message exchanges
   with the SCMI platform. This can be avoided by looking up in advance
   the specific protocol and resources available.

   With these changes SCMI driver user will fail to register a notifier
   if the related command or resource is not supported (like before)
   without the need of exchanging any message.

   Perf notifications are also extended to provide the pre-calculated
   frequencies corresponding to the level or index carried by the

2. More SCMI v3.2 related updates

   One of the main addition includes a centralized support to the SCMI
   core to handle v3.2 optional protocol version negotiation, so that
   at protocol initialization time, if the platform advertised version
   is newer than supported by the kernel and protocol version negotiation
   is supported, the SCMI core will attempt to negotiate an older protocol
   version.

   It also includes the clock get permissions which indicates if any of
   the clock operations are forbidden by the platform for the OSPM agent.
   It can be used in the clock driver to avoid unnecessary message
   exchanges between the kernel and the platform which will always end
   up with the failure. It also includes other missing bits of clock
   v3.2 protocol so that the supported protocol version can be bumped
   to 0x30000 (v3.2).

3. Miscellaneous updates

   This includes addition of warning if the domain frequency multiplier
   is 0 or rounded off to indicate the actual frequencies are either
   wrong ot rounded off, hardening of clock domain info lookups, addition
   of multiple protocols registration support within a SCMI driver,
   update to SCMI entry in MAINTAINERS to include HWMON driver and
   constifying the scmi_bus_type structure.

   This also includes couple for fixes to minor issues: double free in
   SMC transport cleanup path and struct kernel-doc warnings in optee
   transport.

----------------------------------------------------------------
Andre Przywara (1):
      firmware: arm_scmi: Fix double free in SMC transport cleanup path

Cristian Marussi (17):
      firmware: arm_scmi: Rework clock domain info lookups
      firmware: arm_scmi: Add multiple protocols registration support
      firmware: arm_scmi: Check for notification support
      firmware: arm_scmi: Add a common helper to check if a message is supported
      firmware: arm_scmi: Implement is_notify_supported callback in perf protocol
      firmware: arm_scmi: Implement is_notify_supported callback in power protocol
      firmware: arm_scmi: Implement is_notify_supported callback in system power protocol
      firmware: arm_scmi: Implement is_notify_supported callback in clock protocol
      firmware: arm_scmi: Implement is_notify_supported callback in sensor protocol
      firmware: arm_scmi: Implement is_notify_supported callback in reset protocol
      firmware: arm_scmi: Implement is_notify_supported callback in powercap protocol
      firmware: arm_scmi: Use opps_by_lvl to store opps
      firmware: arm_scmi: Report frequencies in the perf notifications
      firmware: arm_scmi: Add support for v3.2 NEGOTIATE_PROTOCOL_VERSION
      firmware: arm_scmi: Add clock check for extended config support
      firmware: arm_scmi: Add standard clock OEM definitions
      firmware: arm_scmi: Update the supported clock protocol version

Florian Fainelli (1):
      MAINTAINERS: Update SCMI entry with HWMON driver

Peng Fan (1):
      firmware: arm_scmi: Implement clock get permissions

Randy Dunlap (1):
      firmware: arm_scmi: Fix struct kernel-doc warnings in optee transport

Ricardo B. Marliere (1):
      firmware: arm_scmi: Make scmi_bus_type const

Sudeep Holla (1):
      firmware: arm_scmi: Warn if domain frequency multiplier is 0 or rounded off

 MAINTAINERS                           |   1 +
 drivers/firmware/arm_scmi/bus.c       |  26 ++++-
 drivers/firmware/arm_scmi/clock.c     | 194 +++++++++++++++++++++++++++++-----
 drivers/firmware/arm_scmi/common.h    |   2 +-
 drivers/firmware/arm_scmi/driver.c    |  99 ++++++++++++++++-
 drivers/firmware/arm_scmi/notify.c    |  17 ++-
 drivers/firmware/arm_scmi/notify.h    |   4 +
 drivers/firmware/arm_scmi/optee.c     |   6 +-
 drivers/firmware/arm_scmi/perf.c      | 163 +++++++++++++++++++++++++---
 drivers/firmware/arm_scmi/power.c     |  30 +++++-
 drivers/firmware/arm_scmi/powercap.c  |  45 +++++++-
 drivers/firmware/arm_scmi/protocols.h |   5 +
 drivers/firmware/arm_scmi/reset.c     |  37 +++++--
 drivers/firmware/arm_scmi/sensors.c   |  37 ++++++-
 drivers/firmware/arm_scmi/smc.c       |   7 ++
 drivers/firmware/arm_scmi/system.c    |  16 +++
 include/linux/scmi_protocol.h         |  21 +++-
 17 files changed, 635 insertions(+), 75 deletions(-)