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

Ulf Hansson ulf.hansson at linaro.org
Tue Sep 19 03:24:30 PDT 2023


On Mon, 18 Sept 2023 at 12:26, Sudeep Holla <sudeep.holla at arm.com> wrote:
>
> On Fri, Sep 15, 2023 at 12:45:02AM +0200, Ulf Hansson wrote:
> > 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.
> >
>
> Sorry for the delay, was off few days last week. I will take a look at
> the series later this week
>
> > 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?
> >
>
> Sure I can rebase on -rc2. I assume Arnd is aware of the dependency and
> must be OK with that. The general preference/expectation is -rc1 but I
> understand the exception this time.

Thanks! And yes, I can confirm that Arnd is aware too.

Kind regards
Uffe



More information about the linux-arm-kernel mailing list