linux/drivers/interconnect/qcom
Raviteja Laggyshetty a5f4cfd2f2 interconnect: qcom: sdx75: Drop QPIC interconnect and BCM nodes
commit 295f58fdcc upstream.

As like other SDX SoCs, SDX75 SoC's QPIC BCM resource was modeled as a
RPMh clock in clk-rpmh driver. However, for SDX75, this resource was also
described as an interconnect and BCM node mistakenly. It is incorrect to
describe the same resource in two different providers, as it will lead to
votes from clients overriding each other.

Hence, drop the QPIC interconnect and BCM nodes and let the clients use
clk-rpmh driver to vote for this resource.

Without this change, the NAND driver fails to probe on SDX75, as the
interconnect sync state disables the QPIC nodes as there were no clients
voting for this ICC resource. However, the NAND driver had already voted
for this BCM resource through the clk-rpmh driver. Since both votes come
from Linux, RPMh was unable to distinguish between these two and ends up
disabling the QPIC resource during sync state.

Cc: stable@vger.kernel.org
Fixes: 3642b4e5cb ("interconnect: qcom: Add SDX75 interconnect provider driver")
Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com>
[mani: dropped the reference to bcm_qp0, reworded description]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Tested-by: Lakshmi Sowjanya D <quic_laksd@quicinc.com>  # on SDX75
Link: https://lore.kernel.org/r/20250926-sdx75-icc-v2-1-20d6820e455c@oss.qualcomm.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2026-01-08 10:14:30 +01:00
..
bcm-voter.c interconnect: qcom: bcm-voter: Use enable_maks for keepalive voting 2023-08-22 01:43:56 +03:00
bcm-voter.h interconnect: qcom: icc-rpmh: Retire DEFINE_QBCM 2023-08-22 15:07:33 +03:00
icc-common.c interconnect: qcom: add missing MODULE_DESCRIPTION() macros 2024-06-13 16:12:26 +03:00
icc-common.h interconnect: constify of_phandle_args in xlate 2024-02-26 00:38:17 +02:00
icc-rpm-clocks.c interconnect: qcom: qcm2290: Hook up MAS_APPS_PROC's bus clock 2023-10-09 15:08:03 +03:00
icc-rpm.c Char/Misc and other Driver changes for 6.8-rc1 2024-01-17 16:47:17 -08:00
icc-rpm.h interconnect: qcom: Make qnoc_remove return void 2023-11-22 15:57:07 +02:00
icc-rpmh.c interconnect: qcom: icc-rpmh: probe defer incase of missing QoS clock dependency 2024-12-05 14:02:37 +01:00
icc-rpmh.h interconnect: qcom: Fix DT backwards compatibility for QoS 2024-07-04 22:43:59 +03:00
Kconfig interconnect: qcom: Add MSM8937 interconnect provider driver 2024-08-24 02:54:42 +03:00
Makefile interconnect: qcom: Add MSM8937 interconnect provider driver 2024-08-24 02:54:42 +03:00
msm8909.c interconnect: qcom: msm8909: constify pointer to qcom_icc_node 2024-02-11 22:37:29 +02:00
msm8916.c interconnect: qcom: Make qnoc_remove return void 2023-11-22 15:57:07 +02:00
msm8937.c interconnect: qcom: Add MSM8937 interconnect provider driver 2024-08-24 02:54:42 +03:00
msm8939.c interconnect: qcom: Make qnoc_remove return void 2023-11-22 15:57:07 +02:00
msm8953.c interconnect: qcom: msm8953: Add ab_coeff 2024-08-24 02:54:43 +03:00
msm8974.c interconnect: qcom/msm8974: Convert to platform remove callback returning void 2023-11-22 15:58:00 +02:00
msm8976.c interconnect: qcom: Add MSM8976 interconnect provider driver 2024-08-23 21:19:29 +03:00
msm8996.c interconnect: qcom: msm8996: add missing link to SLAVE_USB_HS 2025-12-18 13:54:51 +01:00
msm8996.h interconnect: qcom: Add MSM8996 interconnect provider driver 2021-11-22 18:35:22 +02:00
osm-l3.c interconnect: qcom/osm-l3: Convert to platform remove callback returning void 2023-11-22 15:58:07 +02:00
qcm2290.c interconnect: qcom: qcm2290: Fix mas_snoc_bimc RPM master ID 2024-06-24 15:51:04 +03:00
qcs404.c interconnect: qcom: qcs404: Add regmaps and more bus descriptions 2024-08-24 02:54:42 +03:00
qdu1000.c Merge branch 'icc-platform-remove' into icc-next 2023-10-19 00:50:03 +03:00
qdu1000.h interconnect: qcom: Add QDU1000/QRU1000 interconnect driver 2023-01-05 16:16:49 +02:00
sa8775p.c interconnect: qcom: sa8775p: constify pointer to qcom_icc_bcm 2024-02-11 22:38:06 +02:00
sc7180.c Merge branch 'icc-platform-remove' into icc-next 2023-10-19 00:50:03 +03:00
sc7180.h interconnect: qcom: drop obsolete OSM_L3/EPSS defines 2023-03-20 16:42:27 +02:00
sc7280.c interconnect: qcom: sc7280: Add missing num_links to xm_pcie3_1 node 2025-08-01 09:48:40 +01:00
sc7280.h interconnect: qcom: drop obsolete OSM_L3/EPSS defines 2023-03-20 16:42:27 +02:00
sc8180x.c interconnect: qcom: sc8180x: specify num_nodes 2025-08-15 12:13:38 +02:00
sc8180x.h interconnect: qcom: drop obsolete OSM_L3/EPSS defines 2023-03-20 16:42:27 +02:00
sc8280xp.c interconnect: qcom: sc8280xp: specify num_links for qnm_a1noc_cfg 2025-08-15 12:13:38 +02:00
sc8280xp.h interconnect: qcom: sc8280xp: Drop IP0 interconnects 2023-01-18 16:15:03 +02:00
sdm660.c interconnect: qcom: Make qnoc_remove return void 2023-11-22 15:57:07 +02:00
sdm670.c Merge branch 'icc-platform-remove' into icc-next 2023-10-19 00:50:03 +03:00
sdm670.h interconnect: qcom: add sdm670 interconnects 2023-01-19 20:12:47 +02:00
sdm845.c Merge branch 'icc-platform-remove' into icc-next 2023-10-19 00:50:03 +03:00
sdm845.h interconnect: qcom: drop obsolete OSM_L3/EPSS defines 2023-03-20 16:42:27 +02:00
sdx55.c interconnect: qcom: Convert to platform remove callback returning void 2023-10-18 13:37:39 +03:00
sdx55.h interconnect: qcom: sdx55: drop IP0 remnants 2023-01-18 16:11:52 +02:00
sdx65.c interconnect: qcom: Convert to platform remove callback returning void 2023-10-18 13:37:39 +03:00
sdx65.h interconnect: qcom: Add SDX65 interconnect provider driver 2022-04-26 14:11:26 +03:00
sdx75.c interconnect: qcom: sdx75: Drop QPIC interconnect and BCM nodes 2026-01-08 10:14:30 +01:00
sdx75.h interconnect: qcom: sdx75: Drop QPIC interconnect and BCM nodes 2026-01-08 10:14:30 +01:00
sm6115.c interconnect: qcom: sm6115: Unspaghettify SNoC QoS port numbering 2024-04-11 20:46:01 +03:00
sm6350.c Merge branch 'icc-platform-remove' into icc-next 2023-10-19 00:50:03 +03:00
sm6350.h interconnect: qcom: Add SM6350 driver support 2022-06-20 14:27:07 +03:00
sm7150.c interconnect: qcom: Add SM7150 driver support 2024-02-29 22:42:38 +02:00
sm7150.h interconnect: qcom: Add SM7150 driver support 2024-02-29 22:42:38 +02:00
sm8150.c Merge branch 'icc-platform-remove' into icc-next 2023-10-19 00:50:03 +03:00
sm8150.h interconnect: qcom: drop obsolete OSM_L3/EPSS defines 2023-03-20 16:42:27 +02:00
sm8250.c interconnect: qcom: sm8250: constify pointer to qcom_icc_node 2024-02-11 22:38:01 +02:00
sm8250.h interconnect: qcom: sm8250: Fix QUP0 nodes 2023-07-18 11:16:48 +03:00
sm8350.c interconnect: qcom: sm8250: Enable sync_state 2024-08-23 23:08:57 +03:00
sm8350.h interconnect: qcom: sm8350: drop DISP nodes 2024-08-23 23:04:51 +03:00
sm8450.c interconnect: qcom: Convert to platform remove callback returning void 2023-10-18 13:37:39 +03:00
sm8450.h interconnect: qcom: Add SM8450 interconnect provider driver 2021-12-14 23:43:26 +02:00
sm8550.c interconnect changes for 6.9 2024-03-06 14:03:31 +00:00
sm8550.h interconnect: qcom: sm8550: Remove bogus per-RSC BCMs and nodes 2024-01-31 15:47:47 +02:00
sm8650.c interconnect: qcom: sm8650: Use correct ACV enable_mask 2024-02-04 23:35:50 +02:00
sm8650.h interconnect: qcom: introduce RPMh Network-On-Chip Interconnect on SM8650 SoC 2023-11-24 00:15:06 +02:00
smd-rpm.c interconnect: qcom/smd-rpm: Convert to platform remove callback returning void 2023-11-22 15:58:14 +02:00
x1e80100.c interconnect fixes for v6.9-rc 2024-04-11 14:44:49 +02:00
x1e80100.h interconnect: qcom: Add X1E80100 interconnect provider driver 2023-11-24 00:24:14 +02:00