Re: [PATCH 09/11] firmware: arm_scmi: Add bound iterators support
From: Peng Fan
Date: Fri Feb 27 2026 - 21:42:43 EST
On Fri, Feb 27, 2026 at 03:32:23PM +0000, Cristian Marussi wrote:
>SCMI core stack provides some common helpers to handle in a unified way
>multipart message replies: such iterator-helpers, when run, currently
>process by default the whole set of discovered resources.
>
>Introduce an alternative way to run the initialized iterator on a limited
>range of resources.
>
>Note that the subset of resources that can be chosen is anyway limited by
>the SCMI protocol specification, since you are only allowed to choose the
>startindex on a multi-part enumeration NOT the end index, so that the
>effective number of returned items by a bound iterators depends really
>on platform side decisions.
>
>Suggested-by: Etienne Carriere <etienne.carriere@xxxxxxxxxxx>
>Signed-off-by: Cristian Marussi <cristian.marussi@xxxxxxx>
>---
> drivers/firmware/arm_scmi/clock.c | 3 +-
> drivers/firmware/arm_scmi/driver.c | 58 +++++++++++++++++++--------
> drivers/firmware/arm_scmi/protocols.h | 13 +++++-
> 3 files changed, 55 insertions(+), 19 deletions(-)
>
>diff --git a/drivers/firmware/arm_scmi/clock.c b/drivers/firmware/arm_scmi/clock.c
>index 15faa79abed4..d7df5c45836e 100644
>--- a/drivers/firmware/arm_scmi/clock.c
>+++ b/drivers/firmware/arm_scmi/clock.c
>@@ -505,8 +505,7 @@ iter_clk_describe_process_response(const struct scmi_protocol_handle *ph,
> struct scmi_clk_ipriv *p = priv;
> const struct scmi_msg_resp_clock_describe_rates *r = response;
>
>- p->clkd->rates[st->desc_index + st->loop_idx] =
>- RATE_TO_U64(r->rate[st->loop_idx]);
>+ p->clkd->rates[p->clkd->num_rates] = RATE_TO_U64(r->rate[st->loop_idx]);
Seems irrelevant
Regards
Peng