|
|
Log in / Subscribe / Register

SCMIv3.1 Powercap protocol and driver

From:  Cristian Marussi <cristian.marussi-AT-arm.com>
To:  linux-kernel-AT-vger.kernel.org, linux-arm-kernel-AT-lists.infradead.org
Subject:  [PATCH 0/7] SCMIv3.1 Powercap protocol and driver
Date:  Wed, 04 May 2022 10:36:02 +0100
Message-ID:  <20220504093609.3077646-1-cristian.marussi@arm.com>
Cc:  sudeep.holla-AT-arm.com, james.quinlan-AT-broadcom.com, Jonathan.Cameron-AT-Huawei.com, f.fainelli-AT-gmail.com, vincent.guittot-AT-linaro.org, daniel.lezcano-AT-linaro.org, tarek.el-sherbiny-AT-arm.com, adrian.slatineanu-AT-arm.com, souvik.chakravarty-AT-arm.com, Cristian Marussi <cristian.marussi-AT-arm.com>
Archive-link:  Article

Hi all,

this short series introduces the last missing bit of SCMIv3.1, Powercap
protocol. Along the series, there is a small refactoring around the SCMI
FastChannels handling routines so as to reuse as much as possible the
pre-existent (and tested) FastChannel code from the Perf protocol.

As a last step in the series an ARM SCMI based powercap driver is added,
which takes care to expose via the Powercap framework all the SCMI Powercap
zones that have been discovered asking the SCMI platform firmware.

Basic testing has been performed against an emulated SCMI platform
supporting SCMIv3.1 Powercap protocol, with the exclusion of the FCs
bits whose generalization has been only tested for regression on a
JUNO platform sporting a regular SCP/SCMI v2.10 fw.

The series is based on sudeep/for-next/scmi [1] on top of:

commit c7f8852d4216 ("firmware: arm_scmi: Fix late checks on pointer dereference")

Thanks,
Cristian

[1]: https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.ho...
----


Cristian Marussi (7):
  dt-bindings: firmware: arm,scmi: Add powercap protocol
  firmware: arm_scmi: Add SCMIv3.1 Powercap protocol basic support
  firmware: arm_scmi: Generalize FastChannel support
  firmware: arm_scmi: Add SCMIv3.1 Powercap FastChannels support
  firmware: arm_scmi: Make use of FastChannels configurable
  firmware: arm_scmi: Add scmi_driver optional setup/teardown callbacks
  powercap: arm_scmi: Add SCMI Powercap based driver

 .../bindings/firmware/arm,scmi.yaml           |  10 +
 drivers/firmware/arm_scmi/Kconfig             |  13 +
 drivers/firmware/arm_scmi/Makefile            |   2 +-
 drivers/firmware/arm_scmi/bus.c               |  15 +-
 drivers/firmware/arm_scmi/driver.c            | 167 ++++
 drivers/firmware/arm_scmi/perf.c              | 218 +----
 drivers/firmware/arm_scmi/powercap.c          | 809 ++++++++++++++++++
 drivers/firmware/arm_scmi/protocols.h         |  23 +
 drivers/powercap/Kconfig                      |  13 +
 drivers/powercap/Makefile                     |   1 +
 drivers/powercap/arm_scmi_powercap.c          | 537 ++++++++++++
 include/linux/scmi_protocol.h                 | 124 +++
 12 files changed, 1757 insertions(+), 175 deletions(-)
 create mode 100644 drivers/firmware/arm_scmi/powercap.c
 create mode 100644 drivers/powercap/arm_scmi_powercap.c

-- 
2.32.0



Copyright © 2022, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds