[PATCH v9 03/13] firmware: arm_scmi: Refactor powercap domain layout

Philip Radford philip.radford at arm.com
Thu Oct 22 03:23:04 PDT 2026


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 at arm.com>

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 at arm.com>
> > [Philip: Adjusted domain_id comparitor in scmi_powercap_pai_get]
> > Signed-off-by: Philip Radford <philip.radford at arm.com>
> > ---
> > 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



More information about the linux-arm-kernel mailing list