Re: [PATCH v9 03/13] firmware: arm_scmi: Refactor powercap domain layout
From: Sudeep Holla
Date: Thu Oct 22 2026 - 06:14:45 EST
On Wed, Sep 09, 2026 at 10:04:27PM +0000, Philip Radford wrote:
> From: Cristian Marussi <cristian.marussi@xxxxxxx>
>
> 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.
--
Regards,
Sudeep