[PATCH 00/28] interconnect: qcom: icc-rpmh: use NULL-terminated arrays and drop static IDs

Dmitry Baryshkov posted 28 patches 3 months, 3 weeks ago
There is a newer version of this series
drivers/interconnect/qcom/bcm-voter.c |    4 +-
drivers/interconnect/qcom/icc-rpmh.c  |   20 +-
drivers/interconnect/qcom/icc-rpmh.h  |   13 +-
drivers/interconnect/qcom/qcs615.c    |  713 ++++++++-----------
drivers/interconnect/qcom/qcs615.h    |  128 ----
drivers/interconnect/qcom/qcs8300.c   |  911 +++++++++++-------------
drivers/interconnect/qcom/qcs8300.h   |  177 -----
drivers/interconnect/qcom/qdu1000.c   |  470 ++++++------
drivers/interconnect/qcom/qdu1000.h   |   95 ---
drivers/interconnect/qcom/sa8775p.c   |  493 ++++++-------
drivers/interconnect/qcom/sar2130p.c  |  795 ++++++++-------------
drivers/interconnect/qcom/sc7180.c    |  892 +++++++++++------------
drivers/interconnect/qcom/sc7180.h    |  149 ----
drivers/interconnect/qcom/sc7280.c    |  840 ++++++++++------------
drivers/interconnect/qcom/sc7280.h    |  154 ----
drivers/interconnect/qcom/sc8180x.c   | 1013 +++++++++++++-------------
drivers/interconnect/qcom/sc8180x.h   |  179 -----
drivers/interconnect/qcom/sc8280xp.c  | 1257 ++++++++++++++++-----------------
drivers/interconnect/qcom/sc8280xp.h  |  209 ------
drivers/interconnect/qcom/sdm670.c    |  712 +++++++++----------
drivers/interconnect/qcom/sdm670.h    |  128 ----
drivers/interconnect/qcom/sdm845.c    |  986 ++++++++++++--------------
drivers/interconnect/qcom/sdm845.h    |  140 ----
drivers/interconnect/qcom/sdx55.c     |  611 ++++++++--------
drivers/interconnect/qcom/sdx55.h     |   70 --
drivers/interconnect/qcom/sdx65.c     |  577 +++++++--------
drivers/interconnect/qcom/sdx65.h     |   65 --
drivers/interconnect/qcom/sdx75.c     |  498 ++++++-------
drivers/interconnect/qcom/sdx75.h     |   97 ---
drivers/interconnect/qcom/sm6350.c    |  838 +++++++++++-----------
drivers/interconnect/qcom/sm6350.h    |  139 ----
drivers/interconnect/qcom/sm7150.c    |  860 +++++++++++-----------
drivers/interconnect/qcom/sm7150.h    |  140 ----
drivers/interconnect/qcom/sm8150.c    |  930 ++++++++++++------------
drivers/interconnect/qcom/sm8150.h    |  152 ----
drivers/interconnect/qcom/sm8250.c    |  977 ++++++++++++-------------
drivers/interconnect/qcom/sm8250.h    |  168 -----
drivers/interconnect/qcom/sm8350.c    |  901 ++++++++++++-----------
drivers/interconnect/qcom/sm8350.h    |  158 -----
drivers/interconnect/qcom/sm8450.c    |  823 ++++++++++-----------
drivers/interconnect/qcom/sm8450.h    |  169 -----
drivers/interconnect/qcom/sm8550.c    |  683 ++++++++----------
drivers/interconnect/qcom/sm8550.h    |  138 ----
drivers/interconnect/qcom/sm8650.c    |  713 ++++++++-----------
drivers/interconnect/qcom/sm8650.h    |  144 ----
drivers/interconnect/qcom/sm8750.c    |  779 ++++++++------------
drivers/interconnect/qcom/x1e80100.c  |  819 ++++++++++-----------
drivers/interconnect/qcom/x1e80100.h  |  192 -----
48 files changed, 8655 insertions(+), 13464 deletions(-)
[PATCH 00/28] interconnect: qcom: icc-rpmh: use NULL-terminated arrays and drop static IDs
Posted by Dmitry Baryshkov 3 months, 3 weeks ago
Qualcomm interconnect code has been using .num_foo fields together with
the arrays embedded in the structure, which results in hard-to-notice
mistakes if .num_foo gets omitted or incorrect.

Rework RPMh interconnect code to use NULL-terminated arrays for the
dynamic IDs case (as now all the arrays contain only pointers) and,
while we are at it, rework all the drivers to use dynamic IDs and drop
static IDs code.

This series touches only RPMh interconnect drivers. Corresponding series
for RPM drivers will follow up shortly.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
Dmitry Baryshkov (28):
      interconnect: qcom: sc8280xp: specify num_links for qnm_a1noc_cfg
      interconnect: qcom: sc8180x: specify num_nodes
      interconnect: qcom: rpmh: make nodes a NULL_terminated array
      interconnect: qcom: rpmh: make link_nodes a NULL_terminated array
      interconnect: qcom: sc7280: convert to dynamic IDs
      interconnect: qcom: sc8180x: convert to dynamic IDs
      interconnect: qcom: sc8280xp: convert to dynamic IDs
      interconnect: qcom: sdm845: convert to dynamic IDs
      interconnect: qcom: sm8250: convert to dynamic IDs
      interconnect: qcom: x1e80100: convert to dynamic IDs
      interconnect: qcom: qcs615: convert to dynamic IDs
      interconnect: qcom: qcs8300: convert to dynamic IDs
      interconnect: qcom: qdu1000: convert to dynamic IDs
      interconnect: qcom: sar2130p: convert to dynamic IDs
      interconnect: qcom: sc7180: convert to dynamic IDs
      interconnect: qcom: sdm670: convert to dynamic IDs
      interconnect: qcom: sdx55: convert to dynamic IDs
      interconnect: qcom: sdx65: convert to dynamic IDs
      interconnect: qcom: sdx75: convert to dynamic IDs
      interconnect: qcom: sm6350: convert to dynamic IDs
      interconnect: qcom: sm7150: convert to dynamic IDs
      interconnect: qcom: sm8150: convert to dynamic IDs
      interconnect: qcom: sm8350: convert to dynamic IDs
      interconnect: qcom: sm8450: convert to dynamic IDs
      interconnect: qcom: sm8550: convert to dynamic IDs
      interconnect: qcom: sm8650: convert to dynamic IDs
      interconnect: qcom: sm8750: convert to dynamic IDs
      interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS

 drivers/interconnect/qcom/bcm-voter.c |    4 +-
 drivers/interconnect/qcom/icc-rpmh.c  |   20 +-
 drivers/interconnect/qcom/icc-rpmh.h  |   13 +-
 drivers/interconnect/qcom/qcs615.c    |  713 ++++++++-----------
 drivers/interconnect/qcom/qcs615.h    |  128 ----
 drivers/interconnect/qcom/qcs8300.c   |  911 +++++++++++-------------
 drivers/interconnect/qcom/qcs8300.h   |  177 -----
 drivers/interconnect/qcom/qdu1000.c   |  470 ++++++------
 drivers/interconnect/qcom/qdu1000.h   |   95 ---
 drivers/interconnect/qcom/sa8775p.c   |  493 ++++++-------
 drivers/interconnect/qcom/sar2130p.c  |  795 ++++++++-------------
 drivers/interconnect/qcom/sc7180.c    |  892 +++++++++++------------
 drivers/interconnect/qcom/sc7180.h    |  149 ----
 drivers/interconnect/qcom/sc7280.c    |  840 ++++++++++------------
 drivers/interconnect/qcom/sc7280.h    |  154 ----
 drivers/interconnect/qcom/sc8180x.c   | 1013 +++++++++++++-------------
 drivers/interconnect/qcom/sc8180x.h   |  179 -----
 drivers/interconnect/qcom/sc8280xp.c  | 1257 ++++++++++++++++-----------------
 drivers/interconnect/qcom/sc8280xp.h  |  209 ------
 drivers/interconnect/qcom/sdm670.c    |  712 +++++++++----------
 drivers/interconnect/qcom/sdm670.h    |  128 ----
 drivers/interconnect/qcom/sdm845.c    |  986 ++++++++++++--------------
 drivers/interconnect/qcom/sdm845.h    |  140 ----
 drivers/interconnect/qcom/sdx55.c     |  611 ++++++++--------
 drivers/interconnect/qcom/sdx55.h     |   70 --
 drivers/interconnect/qcom/sdx65.c     |  577 +++++++--------
 drivers/interconnect/qcom/sdx65.h     |   65 --
 drivers/interconnect/qcom/sdx75.c     |  498 ++++++-------
 drivers/interconnect/qcom/sdx75.h     |   97 ---
 drivers/interconnect/qcom/sm6350.c    |  838 +++++++++++-----------
 drivers/interconnect/qcom/sm6350.h    |  139 ----
 drivers/interconnect/qcom/sm7150.c    |  860 +++++++++++-----------
 drivers/interconnect/qcom/sm7150.h    |  140 ----
 drivers/interconnect/qcom/sm8150.c    |  930 ++++++++++++------------
 drivers/interconnect/qcom/sm8150.h    |  152 ----
 drivers/interconnect/qcom/sm8250.c    |  977 ++++++++++++-------------
 drivers/interconnect/qcom/sm8250.h    |  168 -----
 drivers/interconnect/qcom/sm8350.c    |  901 ++++++++++++-----------
 drivers/interconnect/qcom/sm8350.h    |  158 -----
 drivers/interconnect/qcom/sm8450.c    |  823 ++++++++++-----------
 drivers/interconnect/qcom/sm8450.h    |  169 -----
 drivers/interconnect/qcom/sm8550.c    |  683 ++++++++----------
 drivers/interconnect/qcom/sm8550.h    |  138 ----
 drivers/interconnect/qcom/sm8650.c    |  713 ++++++++-----------
 drivers/interconnect/qcom/sm8650.h    |  144 ----
 drivers/interconnect/qcom/sm8750.c    |  779 ++++++++------------
 drivers/interconnect/qcom/x1e80100.c  |  819 ++++++++++-----------
 drivers/interconnect/qcom/x1e80100.h  |  192 -----
 48 files changed, 8655 insertions(+), 13464 deletions(-)
---
base-commit: 410f15dcfe222c06f0d6379adec630061e88dc72
change-id: 20250613-rework-icc-0d3b7276a798

Best regards,
-- 
With best wishes
Dmitry
Re: [PATCH 00/28] interconnect: qcom: icc-rpmh: use NULL-terminated arrays and drop static IDs
Posted by neil.armstrong@linaro.org 3 months, 3 weeks ago
Hi,

On 16/06/2025 02:28, Dmitry Baryshkov wrote:
> Qualcomm interconnect code has been using .num_foo fields together with
> the arrays embedded in the structure, which results in hard-to-notice
> mistakes if .num_foo gets omitted or incorrect.
> 
> Rework RPMh interconnect code to use NULL-terminated arrays for the
> dynamic IDs case (as now all the arrays contain only pointers) and,
> while we are at it, rework all the drivers to use dynamic IDs and drop
> static IDs code.
> 
> This series touches only RPMh interconnect drivers. Corresponding series
> for RPM drivers will follow up shortly.

Can you specify on which base thie patchset applies ?

I tried v6.15, v6.16-rc1, v6.16-rc2, next-20250613 & next-20250616 and they all fail to
apply on patch 5.

Thanks,
Neil

> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> Dmitry Baryshkov (28):
>        interconnect: qcom: sc8280xp: specify num_links for qnm_a1noc_cfg
>        interconnect: qcom: sc8180x: specify num_nodes
>        interconnect: qcom: rpmh: make nodes a NULL_terminated array
>        interconnect: qcom: rpmh: make link_nodes a NULL_terminated array
>        interconnect: qcom: sc7280: convert to dynamic IDs
>        interconnect: qcom: sc8180x: convert to dynamic IDs
>        interconnect: qcom: sc8280xp: convert to dynamic IDs
>        interconnect: qcom: sdm845: convert to dynamic IDs
>        interconnect: qcom: sm8250: convert to dynamic IDs
>        interconnect: qcom: x1e80100: convert to dynamic IDs
>        interconnect: qcom: qcs615: convert to dynamic IDs
>        interconnect: qcom: qcs8300: convert to dynamic IDs
>        interconnect: qcom: qdu1000: convert to dynamic IDs
>        interconnect: qcom: sar2130p: convert to dynamic IDs
>        interconnect: qcom: sc7180: convert to dynamic IDs
>        interconnect: qcom: sdm670: convert to dynamic IDs
>        interconnect: qcom: sdx55: convert to dynamic IDs
>        interconnect: qcom: sdx65: convert to dynamic IDs
>        interconnect: qcom: sdx75: convert to dynamic IDs
>        interconnect: qcom: sm6350: convert to dynamic IDs
>        interconnect: qcom: sm7150: convert to dynamic IDs
>        interconnect: qcom: sm8150: convert to dynamic IDs
>        interconnect: qcom: sm8350: convert to dynamic IDs
>        interconnect: qcom: sm8450: convert to dynamic IDs
>        interconnect: qcom: sm8550: convert to dynamic IDs
>        interconnect: qcom: sm8650: convert to dynamic IDs
>        interconnect: qcom: sm8750: convert to dynamic IDs
>        interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS
> 
>   drivers/interconnect/qcom/bcm-voter.c |    4 +-
>   drivers/interconnect/qcom/icc-rpmh.c  |   20 +-
>   drivers/interconnect/qcom/icc-rpmh.h  |   13 +-
>   drivers/interconnect/qcom/qcs615.c    |  713 ++++++++-----------
>   drivers/interconnect/qcom/qcs615.h    |  128 ----
>   drivers/interconnect/qcom/qcs8300.c   |  911 +++++++++++-------------
>   drivers/interconnect/qcom/qcs8300.h   |  177 -----
>   drivers/interconnect/qcom/qdu1000.c   |  470 ++++++------
>   drivers/interconnect/qcom/qdu1000.h   |   95 ---
>   drivers/interconnect/qcom/sa8775p.c   |  493 ++++++-------
>   drivers/interconnect/qcom/sar2130p.c  |  795 ++++++++-------------
>   drivers/interconnect/qcom/sc7180.c    |  892 +++++++++++------------
>   drivers/interconnect/qcom/sc7180.h    |  149 ----
>   drivers/interconnect/qcom/sc7280.c    |  840 ++++++++++------------
>   drivers/interconnect/qcom/sc7280.h    |  154 ----
>   drivers/interconnect/qcom/sc8180x.c   | 1013 +++++++++++++-------------
>   drivers/interconnect/qcom/sc8180x.h   |  179 -----
>   drivers/interconnect/qcom/sc8280xp.c  | 1257 ++++++++++++++++-----------------
>   drivers/interconnect/qcom/sc8280xp.h  |  209 ------
>   drivers/interconnect/qcom/sdm670.c    |  712 +++++++++----------
>   drivers/interconnect/qcom/sdm670.h    |  128 ----
>   drivers/interconnect/qcom/sdm845.c    |  986 ++++++++++++--------------
>   drivers/interconnect/qcom/sdm845.h    |  140 ----
>   drivers/interconnect/qcom/sdx55.c     |  611 ++++++++--------
>   drivers/interconnect/qcom/sdx55.h     |   70 --
>   drivers/interconnect/qcom/sdx65.c     |  577 +++++++--------
>   drivers/interconnect/qcom/sdx65.h     |   65 --
>   drivers/interconnect/qcom/sdx75.c     |  498 ++++++-------
>   drivers/interconnect/qcom/sdx75.h     |   97 ---
>   drivers/interconnect/qcom/sm6350.c    |  838 +++++++++++-----------
>   drivers/interconnect/qcom/sm6350.h    |  139 ----
>   drivers/interconnect/qcom/sm7150.c    |  860 +++++++++++-----------
>   drivers/interconnect/qcom/sm7150.h    |  140 ----
>   drivers/interconnect/qcom/sm8150.c    |  930 ++++++++++++------------
>   drivers/interconnect/qcom/sm8150.h    |  152 ----
>   drivers/interconnect/qcom/sm8250.c    |  977 ++++++++++++-------------
>   drivers/interconnect/qcom/sm8250.h    |  168 -----
>   drivers/interconnect/qcom/sm8350.c    |  901 ++++++++++++-----------
>   drivers/interconnect/qcom/sm8350.h    |  158 -----
>   drivers/interconnect/qcom/sm8450.c    |  823 ++++++++++-----------
>   drivers/interconnect/qcom/sm8450.h    |  169 -----
>   drivers/interconnect/qcom/sm8550.c    |  683 ++++++++----------
>   drivers/interconnect/qcom/sm8550.h    |  138 ----
>   drivers/interconnect/qcom/sm8650.c    |  713 ++++++++-----------
>   drivers/interconnect/qcom/sm8650.h    |  144 ----
>   drivers/interconnect/qcom/sm8750.c    |  779 ++++++++------------
>   drivers/interconnect/qcom/x1e80100.c  |  819 ++++++++++-----------
>   drivers/interconnect/qcom/x1e80100.h  |  192 -----
>   48 files changed, 8655 insertions(+), 13464 deletions(-)
> ---
> base-commit: 410f15dcfe222c06f0d6379adec630061e88dc72
> change-id: 20250613-rework-icc-0d3b7276a798
> 
> Best regards,
Re: [PATCH 00/28] interconnect: qcom: icc-rpmh: use NULL-terminated arrays and drop static IDs
Posted by Dmitry Baryshkov 3 months, 3 weeks ago
On 16/06/2025 18:51, neil.armstrong@linaro.org wrote:
> Hi,
> 
> On 16/06/2025 02:28, Dmitry Baryshkov wrote:
>> Qualcomm interconnect code has been using .num_foo fields together with
>> the arrays embedded in the structure, which results in hard-to-notice
>> mistakes if .num_foo gets omitted or incorrect.
>>
>> Rework RPMh interconnect code to use NULL-terminated arrays for the
>> dynamic IDs case (as now all the arrays contain only pointers) and,
>> while we are at it, rework all the drivers to use dynamic IDs and drop
>> static IDs code.
>>
>> This series touches only RPMh interconnect drivers. Corresponding series
>> for RPM drivers will follow up shortly.
> 
> Can you specify on which base thie patchset applies ?
> 
> I tried v6.15, v6.16-rc1, v6.16-rc2, next-20250613 & next-20250616 and 
> they all fail to
> apply on patch 5.

I'm sorry, I forgot to mention 
https://lore.kernel.org/linux-arm-msm/20250613-sc7280-icc-pcie1-fix-v1-1-0b09813e3b09@radxa.com/ 


> 
> Thanks,
> Neil
> 
>>
>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
>> ---
>> Dmitry Baryshkov (28):
>>        interconnect: qcom: sc8280xp: specify num_links for qnm_a1noc_cfg
>>        interconnect: qcom: sc8180x: specify num_nodes
>>        interconnect: qcom: rpmh: make nodes a NULL_terminated array
>>        interconnect: qcom: rpmh: make link_nodes a NULL_terminated array
>>        interconnect: qcom: sc7280: convert to dynamic IDs
>>        interconnect: qcom: sc8180x: convert to dynamic IDs
>>        interconnect: qcom: sc8280xp: convert to dynamic IDs
>>        interconnect: qcom: sdm845: convert to dynamic IDs
>>        interconnect: qcom: sm8250: convert to dynamic IDs
>>        interconnect: qcom: x1e80100: convert to dynamic IDs
>>        interconnect: qcom: qcs615: convert to dynamic IDs
>>        interconnect: qcom: qcs8300: convert to dynamic IDs
>>        interconnect: qcom: qdu1000: convert to dynamic IDs
>>        interconnect: qcom: sar2130p: convert to dynamic IDs
>>        interconnect: qcom: sc7180: convert to dynamic IDs
>>        interconnect: qcom: sdm670: convert to dynamic IDs
>>        interconnect: qcom: sdx55: convert to dynamic IDs
>>        interconnect: qcom: sdx65: convert to dynamic IDs
>>        interconnect: qcom: sdx75: convert to dynamic IDs
>>        interconnect: qcom: sm6350: convert to dynamic IDs
>>        interconnect: qcom: sm7150: convert to dynamic IDs
>>        interconnect: qcom: sm8150: convert to dynamic IDs
>>        interconnect: qcom: sm8350: convert to dynamic IDs
>>        interconnect: qcom: sm8450: convert to dynamic IDs
>>        interconnect: qcom: sm8550: convert to dynamic IDs
>>        interconnect: qcom: sm8650: convert to dynamic IDs
>>        interconnect: qcom: sm8750: convert to dynamic IDs
>>        interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS
>>
>>   drivers/interconnect/qcom/bcm-voter.c |    4 +-
>>   drivers/interconnect/qcom/icc-rpmh.c  |   20 +-
>>   drivers/interconnect/qcom/icc-rpmh.h  |   13 +-
>>   drivers/interconnect/qcom/qcs615.c    |  713 ++++++++-----------
>>   drivers/interconnect/qcom/qcs615.h    |  128 ----
>>   drivers/interconnect/qcom/qcs8300.c   |  911 +++++++++++-------------
>>   drivers/interconnect/qcom/qcs8300.h   |  177 -----
>>   drivers/interconnect/qcom/qdu1000.c   |  470 ++++++------
>>   drivers/interconnect/qcom/qdu1000.h   |   95 ---
>>   drivers/interconnect/qcom/sa8775p.c   |  493 ++++++-------
>>   drivers/interconnect/qcom/sar2130p.c  |  795 ++++++++-------------
>>   drivers/interconnect/qcom/sc7180.c    |  892 +++++++++++------------
>>   drivers/interconnect/qcom/sc7180.h    |  149 ----
>>   drivers/interconnect/qcom/sc7280.c    |  840 ++++++++++------------
>>   drivers/interconnect/qcom/sc7280.h    |  154 ----
>>   drivers/interconnect/qcom/sc8180x.c   | 1013 +++++++++++++-------------
>>   drivers/interconnect/qcom/sc8180x.h   |  179 -----
>>   drivers/interconnect/qcom/sc8280xp.c  | 1257 +++++++++++++++ 
>> +-----------------
>>   drivers/interconnect/qcom/sc8280xp.h  |  209 ------
>>   drivers/interconnect/qcom/sdm670.c    |  712 +++++++++----------
>>   drivers/interconnect/qcom/sdm670.h    |  128 ----
>>   drivers/interconnect/qcom/sdm845.c    |  986 ++++++++++++--------------
>>   drivers/interconnect/qcom/sdm845.h    |  140 ----
>>   drivers/interconnect/qcom/sdx55.c     |  611 ++++++++--------
>>   drivers/interconnect/qcom/sdx55.h     |   70 --
>>   drivers/interconnect/qcom/sdx65.c     |  577 +++++++--------
>>   drivers/interconnect/qcom/sdx65.h     |   65 --
>>   drivers/interconnect/qcom/sdx75.c     |  498 ++++++-------
>>   drivers/interconnect/qcom/sdx75.h     |   97 ---
>>   drivers/interconnect/qcom/sm6350.c    |  838 +++++++++++-----------
>>   drivers/interconnect/qcom/sm6350.h    |  139 ----
>>   drivers/interconnect/qcom/sm7150.c    |  860 +++++++++++-----------
>>   drivers/interconnect/qcom/sm7150.h    |  140 ----
>>   drivers/interconnect/qcom/sm8150.c    |  930 ++++++++++++------------
>>   drivers/interconnect/qcom/sm8150.h    |  152 ----
>>   drivers/interconnect/qcom/sm8250.c    |  977 ++++++++++++-------------
>>   drivers/interconnect/qcom/sm8250.h    |  168 -----
>>   drivers/interconnect/qcom/sm8350.c    |  901 ++++++++++++-----------
>>   drivers/interconnect/qcom/sm8350.h    |  158 -----
>>   drivers/interconnect/qcom/sm8450.c    |  823 ++++++++++-----------
>>   drivers/interconnect/qcom/sm8450.h    |  169 -----
>>   drivers/interconnect/qcom/sm8550.c    |  683 ++++++++----------
>>   drivers/interconnect/qcom/sm8550.h    |  138 ----
>>   drivers/interconnect/qcom/sm8650.c    |  713 ++++++++-----------
>>   drivers/interconnect/qcom/sm8650.h    |  144 ----
>>   drivers/interconnect/qcom/sm8750.c    |  779 ++++++++------------
>>   drivers/interconnect/qcom/x1e80100.c  |  819 ++++++++++-----------
>>   drivers/interconnect/qcom/x1e80100.h  |  192 -----
>>   48 files changed, 8655 insertions(+), 13464 deletions(-)
>> ---
>> base-commit: 410f15dcfe222c06f0d6379adec630061e88dc72
>> change-id: 20250613-rework-icc-0d3b7276a798
>>
>> Best regards,
> 


-- 
With best wishes
Dmitry
Re: [PATCH 00/28] interconnect: qcom: icc-rpmh: use NULL-terminated arrays and drop static IDs
Posted by Neil Armstrong 3 months, 3 weeks ago
On 16/06/2025 17:53, Dmitry Baryshkov wrote:
> On 16/06/2025 18:51, neil.armstrong@linaro.org wrote:
>> Hi,
>>
>> On 16/06/2025 02:28, Dmitry Baryshkov wrote:
>>> Qualcomm interconnect code has been using .num_foo fields together with
>>> the arrays embedded in the structure, which results in hard-to-notice
>>> mistakes if .num_foo gets omitted or incorrect.
>>>
>>> Rework RPMh interconnect code to use NULL-terminated arrays for the
>>> dynamic IDs case (as now all the arrays contain only pointers) and,
>>> while we are at it, rework all the drivers to use dynamic IDs and drop
>>> static IDs code.
>>>
>>> This series touches only RPMh interconnect drivers. Corresponding series
>>> for RPM drivers will follow up shortly.
>>
>> Can you specify on which base thie patchset applies ?
>>
>> I tried v6.15, v6.16-rc1, v6.16-rc2, next-20250613 & next-20250616 and they all fail to
>> apply on patch 5.
> 
> I'm sorry, I forgot to mention https://lore.kernel.org/linux-arm-msm/20250613-sc7280-icc-pcie1-fix-v1-1-0b09813e3b09@radxa.com/

This does the trick, thx!

Neil

> 
>>
>> Thanks,
>> Neil
>>
>>>
>>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
>>> ---
>>> Dmitry Baryshkov (28):
>>>        interconnect: qcom: sc8280xp: specify num_links for qnm_a1noc_cfg
>>>        interconnect: qcom: sc8180x: specify num_nodes
>>>        interconnect: qcom: rpmh: make nodes a NULL_terminated array
>>>        interconnect: qcom: rpmh: make link_nodes a NULL_terminated array
>>>        interconnect: qcom: sc7280: convert to dynamic IDs
>>>        interconnect: qcom: sc8180x: convert to dynamic IDs
>>>        interconnect: qcom: sc8280xp: convert to dynamic IDs
>>>        interconnect: qcom: sdm845: convert to dynamic IDs
>>>        interconnect: qcom: sm8250: convert to dynamic IDs
>>>        interconnect: qcom: x1e80100: convert to dynamic IDs
>>>        interconnect: qcom: qcs615: convert to dynamic IDs
>>>        interconnect: qcom: qcs8300: convert to dynamic IDs
>>>        interconnect: qcom: qdu1000: convert to dynamic IDs
>>>        interconnect: qcom: sar2130p: convert to dynamic IDs
>>>        interconnect: qcom: sc7180: convert to dynamic IDs
>>>        interconnect: qcom: sdm670: convert to dynamic IDs
>>>        interconnect: qcom: sdx55: convert to dynamic IDs
>>>        interconnect: qcom: sdx65: convert to dynamic IDs
>>>        interconnect: qcom: sdx75: convert to dynamic IDs
>>>        interconnect: qcom: sm6350: convert to dynamic IDs
>>>        interconnect: qcom: sm7150: convert to dynamic IDs
>>>        interconnect: qcom: sm8150: convert to dynamic IDs
>>>        interconnect: qcom: sm8350: convert to dynamic IDs
>>>        interconnect: qcom: sm8450: convert to dynamic IDs
>>>        interconnect: qcom: sm8550: convert to dynamic IDs
>>>        interconnect: qcom: sm8650: convert to dynamic IDs
>>>        interconnect: qcom: sm8750: convert to dynamic IDs
>>>        interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS
>>>
>>>   drivers/interconnect/qcom/bcm-voter.c |    4 +-
>>>   drivers/interconnect/qcom/icc-rpmh.c  |   20 +-
>>>   drivers/interconnect/qcom/icc-rpmh.h  |   13 +-
>>>   drivers/interconnect/qcom/qcs615.c    |  713 ++++++++-----------
>>>   drivers/interconnect/qcom/qcs615.h    |  128 ----
>>>   drivers/interconnect/qcom/qcs8300.c   |  911 +++++++++++-------------
>>>   drivers/interconnect/qcom/qcs8300.h   |  177 -----
>>>   drivers/interconnect/qcom/qdu1000.c   |  470 ++++++------
>>>   drivers/interconnect/qcom/qdu1000.h   |   95 ---
>>>   drivers/interconnect/qcom/sa8775p.c   |  493 ++++++-------
>>>   drivers/interconnect/qcom/sar2130p.c  |  795 ++++++++-------------
>>>   drivers/interconnect/qcom/sc7180.c    |  892 +++++++++++------------
>>>   drivers/interconnect/qcom/sc7180.h    |  149 ----
>>>   drivers/interconnect/qcom/sc7280.c    |  840 ++++++++++------------
>>>   drivers/interconnect/qcom/sc7280.h    |  154 ----
>>>   drivers/interconnect/qcom/sc8180x.c   | 1013 +++++++++++++-------------
>>>   drivers/interconnect/qcom/sc8180x.h   |  179 -----
>>>   drivers/interconnect/qcom/sc8280xp.c  | 1257 +++++++++++++++ +-----------------
>>>   drivers/interconnect/qcom/sc8280xp.h  |  209 ------
>>>   drivers/interconnect/qcom/sdm670.c    |  712 +++++++++----------
>>>   drivers/interconnect/qcom/sdm670.h    |  128 ----
>>>   drivers/interconnect/qcom/sdm845.c    |  986 ++++++++++++--------------
>>>   drivers/interconnect/qcom/sdm845.h    |  140 ----
>>>   drivers/interconnect/qcom/sdx55.c     |  611 ++++++++--------
>>>   drivers/interconnect/qcom/sdx55.h     |   70 --
>>>   drivers/interconnect/qcom/sdx65.c     |  577 +++++++--------
>>>   drivers/interconnect/qcom/sdx65.h     |   65 --
>>>   drivers/interconnect/qcom/sdx75.c     |  498 ++++++-------
>>>   drivers/interconnect/qcom/sdx75.h     |   97 ---
>>>   drivers/interconnect/qcom/sm6350.c    |  838 +++++++++++-----------
>>>   drivers/interconnect/qcom/sm6350.h    |  139 ----
>>>   drivers/interconnect/qcom/sm7150.c    |  860 +++++++++++-----------
>>>   drivers/interconnect/qcom/sm7150.h    |  140 ----
>>>   drivers/interconnect/qcom/sm8150.c    |  930 ++++++++++++------------
>>>   drivers/interconnect/qcom/sm8150.h    |  152 ----
>>>   drivers/interconnect/qcom/sm8250.c    |  977 ++++++++++++-------------
>>>   drivers/interconnect/qcom/sm8250.h    |  168 -----
>>>   drivers/interconnect/qcom/sm8350.c    |  901 ++++++++++++-----------
>>>   drivers/interconnect/qcom/sm8350.h    |  158 -----
>>>   drivers/interconnect/qcom/sm8450.c    |  823 ++++++++++-----------
>>>   drivers/interconnect/qcom/sm8450.h    |  169 -----
>>>   drivers/interconnect/qcom/sm8550.c    |  683 ++++++++----------
>>>   drivers/interconnect/qcom/sm8550.h    |  138 ----
>>>   drivers/interconnect/qcom/sm8650.c    |  713 ++++++++-----------
>>>   drivers/interconnect/qcom/sm8650.h    |  144 ----
>>>   drivers/interconnect/qcom/sm8750.c    |  779 ++++++++------------
>>>   drivers/interconnect/qcom/x1e80100.c  |  819 ++++++++++-----------
>>>   drivers/interconnect/qcom/x1e80100.h  |  192 -----
>>>   48 files changed, 8655 insertions(+), 13464 deletions(-)
>>> ---
>>> base-commit: 410f15dcfe222c06f0d6379adec630061e88dc72
>>> change-id: 20250613-rework-icc-0d3b7276a798
>>>
>>> Best regards,
>>
> 
>