[PATCH v3 00/13] arm_scmi/cpufreq: Add generic performance scaling support

Ulf Hansson ulf.hansson at linaro.org
Thu Sep 14 15:45:02 PDT 2023


Sudeep, Christian,

On Fri, 25 Aug 2023 at 13:26, Ulf Hansson <ulf.hansson at linaro.org> wrote:
>
> Changes in v3:
>         - Re-based upon the for-next/scmi/updates branch.
>         - Re-ordered some of the patches in the series, to eas review.
>         - Added some new DT doc patches in the series, according to comments.
>         - Fixed other comments, see version history for each patch.
>
> Changes in v2:
>         - Split up the series, to get the basic support in place as the first
>         step. The part that remains is the integration with the OPP library, to
>         allow consumer drivers to change performance level using the OPP lib.
>         - Re-based on top v6.5-rc1.
>         - Other changes will be described for each patch.
>
> The current SCMI performance scaling support is limited to cpufreq. This series
> extends the support, so it can be used for all kind of devices and not only for
> CPUs.
>
> The changes are spread over a couple of different subsystems, although the
> changes that affects the other subsystems than the arm_scmi directory are
> mostly smaller, except for last patch which is in the new genpd directory.
>
> The series is based upon the for-next/scmi/updates branch, but to enable the
> genpd provider in patch 13 (the actual scmi performance domain driver) to be
> placed in the new genpd directory, I have also merged an immutable branch [1],
> which is queued for v6.6.
>
> Note that, I am runing this on the Qemu virt platform with Optee running an SCMI
> server. If you want some more details about my test setup, I can share this with
> you, just let me know.
>
> Looking forward to your feedback!
>
> Kind regards
> Ulf Hansson
>
> [1]
> git.kernel.org/pub/scm/linux/kernel/git/people/ulf.hansson/linux-pm.git genpd_create_dir
>
>
> Ulf Hansson (13):
>   firmware: arm_scmi: Extend perf protocol ops to get number of domains
>   firmware: arm_scmi: Extend perf protocol ops to get information of a
>     domain
>   cpufreq: scmi: Prepare to move OF parsing of domain-id to cpufreq
>   firmware: arm_scmi: Align perf ops to use domain-id as in-parameter
>   firmware: arm_scmi: Drop redundant ->device_domain_id() from perf ops
>   cpufreq: scmi: Avoid one OF parsing in scmi_get_sharing_cpus()
>   cpufreq: scmi: Drop redundant ifdef in scmi_cpufreq_probe()
>   dt-bindings: arm: cpus: Add a power-domain-name for a
>     performance-domain
>   dt-bindings: firmware: arm,scmi: Extend bindings for protocol at 13
>   dt-bindings: power: Clarify performance capabilities of power-domains
>   cpufreq: scmi: Add support to parse domain-id using
>     #power-domain-cells
>   PM: domains: Allow genpd providers to manage OPP tables directly by
>     its FW
>   genpd: arm: Add the SCMI performance domain
>
>  .../devicetree/bindings/arm/cpus.yaml         |   4 +-
>  .../bindings/firmware/arm,scmi.yaml           |  11 +-
>  .../bindings/power/power-domain.yaml          |  17 +-
>  MAINTAINERS                                   |   1 +
>  drivers/base/power/domain.c                   |  11 +-
>  drivers/cpufreq/scmi-cpufreq.c                |  55 +++++--
>  drivers/firmware/arm_scmi/Kconfig             |  12 ++
>  drivers/firmware/arm_scmi/perf.c              |  90 +++++------
>  drivers/genpd/Makefile                        |   1 +
>  drivers/genpd/arm/Makefile                    |   3 +
>  drivers/genpd/arm/scmi_perf_domain.c          | 150 ++++++++++++++++++
>  include/linux/pm_domain.h                     |   5 +
>  include/linux/scmi_protocol.h                 |  18 ++-
>  13 files changed, 293 insertions(+), 85 deletions(-)
>  create mode 100644 drivers/genpd/arm/Makefile
>  create mode 100644 drivers/genpd/arm/scmi_perf_domain.c
>

Unless you have some additional comments, I think patch 1 -> 12 should
be ready to be applied to your scmi tree, as is. I tried to apply it
today and did not encounter any problem.

Patch 13 needs a rebase so I will submit a new version of it. For you
to apply it to your tree, you need to move your scmi branch to
v6.6-rc2 (on Monday), would that be okay for you to manage?

Kind regards
Uffe



More information about the linux-arm-kernel mailing list