Skip to content

Commit c95e4c4

Browse files
Raviteja Laggyshettygregkh
authored andcommitted
interconnect: qcom: sdx75: Drop QPIC interconnect and BCM nodes
commit 295f58f 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: 3642b4e ("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>
1 parent 5fa6c14 commit c95e4c4

2 files changed

Lines changed: 0 additions & 28 deletions

File tree

drivers/interconnect/qcom/sdx75.c

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,6 @@
1616
#include "icc-rpmh.h"
1717
#include "sdx75.h"
1818

19-
static struct qcom_icc_node qpic_core_master = {
20-
.name = "qpic_core_master",
21-
.id = SDX75_MASTER_QPIC_CORE,
22-
.channels = 1,
23-
.buswidth = 4,
24-
.num_links = 1,
25-
.links = { SDX75_SLAVE_QPIC_CORE },
26-
};
27-
2819
static struct qcom_icc_node qup0_core_master = {
2920
.name = "qup0_core_master",
3021
.id = SDX75_MASTER_QUP_CORE_0,
@@ -375,14 +366,6 @@ static struct qcom_icc_node xm_usb3 = {
375366
.links = { SDX75_SLAVE_A1NOC_CFG },
376367
};
377368

378-
static struct qcom_icc_node qpic_core_slave = {
379-
.name = "qpic_core_slave",
380-
.id = SDX75_SLAVE_QPIC_CORE,
381-
.channels = 1,
382-
.buswidth = 4,
383-
.num_links = 0,
384-
};
385-
386369
static struct qcom_icc_node qup0_core_slave = {
387370
.name = "qup0_core_slave",
388371
.id = SDX75_SLAVE_QUP_CORE_0,
@@ -831,12 +814,6 @@ static struct qcom_icc_bcm bcm_mc0 = {
831814
.nodes = { &ebi },
832815
};
833816

834-
static struct qcom_icc_bcm bcm_qp0 = {
835-
.name = "QP0",
836-
.num_nodes = 1,
837-
.nodes = { &qpic_core_slave },
838-
};
839-
840817
static struct qcom_icc_bcm bcm_qup0 = {
841818
.name = "QUP0",
842819
.keepalive = true,
@@ -898,14 +875,11 @@ static struct qcom_icc_bcm bcm_sn4 = {
898875
};
899876

900877
static struct qcom_icc_bcm * const clk_virt_bcms[] = {
901-
&bcm_qp0,
902878
&bcm_qup0,
903879
};
904880

905881
static struct qcom_icc_node * const clk_virt_nodes[] = {
906-
[MASTER_QPIC_CORE] = &qpic_core_master,
907882
[MASTER_QUP_CORE_0] = &qup0_core_master,
908-
[SLAVE_QPIC_CORE] = &qpic_core_slave,
909883
[SLAVE_QUP_CORE_0] = &qup0_core_slave,
910884
};
911885

drivers/interconnect/qcom/sdx75.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
#define SDX75_MASTER_QDSS_ETR 24
3434
#define SDX75_MASTER_QDSS_ETR_1 25
3535
#define SDX75_MASTER_QPIC 26
36-
#define SDX75_MASTER_QPIC_CORE 27
3736
#define SDX75_MASTER_QUP_0 28
3837
#define SDX75_MASTER_QUP_CORE_0 29
3938
#define SDX75_MASTER_SDCC_1 30
@@ -76,7 +75,6 @@
7675
#define SDX75_SLAVE_QDSS_CFG 67
7776
#define SDX75_SLAVE_QDSS_STM 68
7877
#define SDX75_SLAVE_QPIC 69
79-
#define SDX75_SLAVE_QPIC_CORE 70
8078
#define SDX75_SLAVE_QUP_0 71
8179
#define SDX75_SLAVE_QUP_CORE_0 72
8280
#define SDX75_SLAVE_SDCC_1 73

0 commit comments

Comments
 (0)