2023-09-15 01:46:57

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH v3 00/13] arm_scmi/cpufreq: Add generic performance scaling support

Sudeep, Christian,

On Fri, 25 Aug 2023 at 13:26, Ulf Hansson <[email protected]> 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@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


2023-09-18 10:33:24

by Sudeep Holla

[permalink] [raw]
Subject: Re: [PATCH v3 00/13] arm_scmi/cpufreq: Add generic performance scaling support

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 <[email protected]> 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@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.

--
Regards,
Sudeep

2023-09-19 14:31:17

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH v3 00/13] arm_scmi/cpufreq: Add generic performance scaling support

On Mon, 18 Sept 2023 at 12:26, Sudeep Holla <[email protected]> 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 <[email protected]> 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@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