Re: [PATCH 3/8] firmware: arm_scmi: Refactor powercap domain layout

From: Dan Carpenter
Date: Fri Aug 15 2025 - 09:14:22 EST


On Wed, Aug 13, 2025 at 12:46:04PM +0100, Cristian Marussi wrote:
> @@ -486,7 +514,7 @@ static int scmi_powercap_xfer_pai_get(const struct scmi_protocol_handle *ph,
> }
>
> static int scmi_powercap_pai_get(const struct scmi_protocol_handle *ph,
> - u32 domain_id, u32 *pai)
> + u32 domain_id, u32 cpl_id, u32 *pai)
> {
> struct scmi_powercap_info *dom;
> struct powercap_info *pi = ph->get_priv(ph);
> @@ -495,8 +523,11 @@ static int scmi_powercap_pai_get(const struct scmi_protocol_handle *ph,
> return -EINVAL;
>
> dom = pi->powercaps + domain_id;
> - if (dom->fc_info && dom->fc_info[POWERCAP_FC_PAI].get_addr) {
> - *pai = ioread32(dom->fc_info[POWERCAP_FC_PAI].get_addr);
> + if (cpl_id > dom->num_cpli)

This gets fixed later in the series but it should be >=.

regards,
dan carpenter

> + return -EINVAL;
> +
> + if (dom->cpli[cpl_id].fc_info && dom->cpli[cpl_id].fc_info[POWERCAP_FC_PAI].get_addr) {
> + *pai = ioread32(dom->cpli[cpl_id].fc_info[POWERCAP_FC_PAI].get_addr);
> trace_scmi_fc_call(SCMI_PROTOCOL_POWERCAP, POWERCAP_PAI_GET,
> domain_id, *pai, 0);
> return 0;