On Mon, Jun 12, 2023 at 08:24:37PM +0200, Konrad Dybcio wrote: > SMD RPM only provides two buckets, one each for the active-only and > active-sleep RPM contexts. Use the correct constant to allocate and > operate on them. > > This will make the qcom,icc.h header no longer work with this driver, > mostly because.. it was never meant to! The commit that introduced > bucket support to SMD RPM was trying to shove a square into a round > hole and it did not work out very well. That said, there are no > active users of SMD RPM ICC + qcom,icc.h, so that doesn't hurt. > > Fixes: dcbce7b0a79c ("interconnect: qcom: icc-rpm: Support multiple buckets") > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> > --- > drivers/interconnect/qcom/icc-rpm.c | 14 +++++++------- > drivers/interconnect/qcom/icc-rpm.h | 4 ++-- > 2 files changed, 9 insertions(+), 9 deletions(-) > > diff --git a/drivers/interconnect/qcom/icc-rpm.c b/drivers/interconnect/qcom/icc-rpm.c > index 5ffcf5ca8914..54a9999fe55d 100644 > --- a/drivers/interconnect/qcom/icc-rpm.c > +++ b/drivers/interconnect/qcom/icc-rpm.c > @@ -249,7 +249,7 @@ static void qcom_icc_pre_bw_aggregate(struct icc_node *node) > size_t i; > > qn = node->data; > - for (i = 0; i < QCOM_ICC_NUM_BUCKETS; i++) { > + for (i = 0; i < QCOM_SMD_RPM_STATE_NUM; i++) { > qn->sum_avg[i] = 0; > qn->max_peak[i] = 0; > } > @@ -275,7 +275,7 @@ static int qcom_icc_bw_aggregate(struct icc_node *node, u32 tag, u32 avg_bw, > if (!tag) > tag = QCOM_ICC_TAG_ALWAYS; We should replace this with the RPM variant. Also, can you check which header/file still includes qcom,icc.h? Don't think we should have it included at all for RPM so that referencing the wrong things cannot happen. Thanks, Stephan