Re: [PATCH v9 03/13] firmware: arm_scmi: Refactor powercap domain layout
From: Philip Radford
Date: Thu Oct 22 2026 - 06:23:23 EST
On Thu, Oct 22, 2026 at 11:10:06AM +0100, Sudeep Holla wrote:
> On Wed, Sep 09, 2026 at 10:04:27PM +0000, Philip Radford wrote:
> > From: Cristian Marussi <cristian.marussi@xxxxxxx>
Hi,
> >
> > SCMIv4.0 introduces the idea of an optional Concurrent Power Limit (CPL)
> > for each powercap domain, where CPL0 coincides with the one and only
> > per-domain constraint limit that was available in pre-v4.0 SCMI Powercap.
> >
> > Refactor the powercap domain descriptors and powercap operations to allow
> > future v4.0 extensions to cope with multiple CPLs.
> >
> > While at that generalize the powercap protocol API to drop PAI references
> > in favour of a more generic avg_ivl naming, since from v4.0 the number and
> > types of averaging intervals will change in a non-backward compatible way,
> > so let's bury these changes within the protocol layer.
> >
> > Last but not least, make the necessary changes to the ARM SCMI Powwercap
> > driver in order to support all of these new capabilities.
> >
> > No functional change.
> >
> > Signed-off-by: Cristian Marussi <cristian.marussi@xxxxxxx>
> > [Philip: Adjusted domain_id comparitor in scmi_powercap_pai_get]
> > Signed-off-by: Philip Radford <philip.radford@xxxxxxx>
> > ---
> > V7->V8
> > - Fixed conflict due to changes in 7.2-rc1
> > ---
> > drivers/firmware/arm_scmi/powercap.c | 182 +++++++++++++++++----------
> > drivers/powercap/arm_scmi_powercap.c | 52 ++++----
> > include/linux/scmi_protocol.h | 74 +++++++----
> > 3 files changed, 189 insertions(+), 119 deletions(-)
> >
> > diff --git a/drivers/powercap/arm_scmi_powercap.c b/drivers/powercap/arm_scmi_powercap.c
> > index 96d55921fefc..7c2dbba5002c 100644
> > --- a/drivers/powercap/arm_scmi_powercap.c
> > +++ b/drivers/powercap/arm_scmi_powercap.c
> > @@ -123,7 +123,7 @@ scmi_powercap_set_root_children_enable_state(struct scmi_powercap_root *pr, bool
> >
> > if (!scmi_powercap_is_control_type_child(spz))
> > continue;
> > - if (!spz->info->powercap_cap_config)
> > + if (!spz->info->cpli[0].cap_config)
> > continue;
> > if (prev_state[i] == enable)
> > continue;
>
> You seem to have left one use `powercap_cap_config` above this hunk which
> breaks the build and hence build bisectability with this series.
>
Apologies, I was sure I had tested breaking the build throughout the series.
I'll amend this.
Regards,
Phil