Re: [PATCH 0/9] PM: domains/opp/arm_scmi: Extend performance scaling support

From: Rafael J. Wysocki
Date: Tue Sep 26 2023 - 12:54:59 EST


On Mon, Sep 25, 2023 at 3:17 PM Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote:
>
> Consumer drivers for devices that are attached to the SCMI performance domain,
> are currently not able to use the OPP library to scale performance. This series
> is enabling the support for this.
>
> The OPPs for SCMI performance domain are encoded in the FW, rather than being
> described through DT. To better support this, some changes have also been done
> to the OPP library and for PM domains in general. More details are available in
> the commit messages.
>
> I have based the series on the scmi tree and the for-next/scmi/updates branch,
> so the OPP and PM domain changes would require acks from Viresh and Rafael to
> be allow to be picked up and funneled through the scmi tree. Or, let's just
> discuss what works best for us in this regards.
>
> Note that, I am running this on the Qemu virt platform with Optee running an
> SCMI server. If you want some more details about my test setup, I can certainly
> share this with you, just let me know.
>
> Looking forward to your feedback!
>
> Kind regards
> Ulf Hansson
>
>
> Ulf Hansson (9):
> PM: domains: Introduce dev_pm_domain_set_performance_state()
> PM: domains: Implement the ->set_performance_state() callback for
> genpd

I have no strong opinion regarding the two patches above, so if you
need ACKs from me on them, please feel free to add them.

> OPP: Add dev_pm_opp_add_dynamic() to allow more flexibility
> OPP: Extend dev_pm_opp_data with a level
> OPP: Switch to use dev_pm_domain_set_performance_state()
> OPP: Extend support for the opp-level beyond required-opps
> firmware: arm_scmi: Simplify error path in scmi_dvfs_device_opps_add()
> firmware: arm_scmi: Specify the performance level when adding an OPP
> firmware: arm_scmi: Add generic OPP support to the SCMI performance
> domain
>
> drivers/base/power/common.c | 21 ++++++++++
> drivers/base/power/domain.c | 33 +++++++++------
> drivers/firmware/arm_scmi/perf.c | 22 +++++-----
> drivers/opp/core.c | 54 +++++++++++++++++++------
> drivers/opp/of.c | 10 +++--
> drivers/opp/opp.h | 2 +-
> drivers/pmdomain/arm/scmi_perf_domain.c | 34 ++++++++++++++++
> include/linux/pm.h | 2 +
> include/linux/pm_domain.h | 6 +++
> include/linux/pm_opp.h | 31 ++++++++++++--
> 10 files changed, 168 insertions(+), 47 deletions(-)
>
> --