* [PATCH v3 0/9] Clean up RPM bus clocks remnants
@ 2024-01-03 20:15 Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 1/9] dt-bindings: usb: qcom,dwc3: Fix SDM660 clock description Konrad Dybcio
` (8 more replies)
0 siblings, 9 replies; 11+ messages in thread
From: Konrad Dybcio @ 2024-01-03 20:15 UTC (permalink / raw)
To: Bjorn Andersson, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Wesley Cheng
Cc: Marijn Suijten, linux-arm-msm, linux-usb, devicetree,
linux-kernel, Konrad Dybcio, Krzysztof Kozlowski
After the recent cleanups ([1], [2]) some in-tree abusers that directly
accessed the RPM bus clocks, effectively circumventing and working
against the efforts of the interconnect framework, were found.
Patches 1-5 drop deprecated references and the rest attempt to stop
direct bus clock abuses.
Depends on [2].
8996 and 8998 remoteproc changes were not tested, they never worked on
my Sony phones.
[1] https://lore.kernel.org/linux-arm-msm/20230526-topic-smd_icc-v7-0-09c78c175546@linaro.org/
[2] https://lore.kernel.org/linux-arm-msm/20230721-topic-icc_bindings-v1-0-93e2bc728fb7@linaro.org/
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
Changes in v3:
- Rebase on next-20240103, drop applied patches
- Drop "sdm630: Fix USB2 clock-names order", Krzysztof fixed it in meantime
- Improve the commit messages
- Pick up tags
- Link to v2: https://lore.kernel.org/r/20230721-topic-rpm_clk_cleanup-v2-0-1e506593b1bd@linaro.org
Changes in v2:
- Incorporate [3] into the sdm630 patch, add required bindings fixes
- dt-bindings: remoteproc: qcom,adsp: Remove AGGRE2 clock: Merge entries (krzk)
- Pick up a-b (krzk)
- Add "sdm630: Fix USB2 clock-names order"
- Link to v1: https://lore.kernel.org/r/20230721-topic-rpm_clk_cleanup-v1-0-cf6cd5c621d5@linaro.org
[3] https://lore.kernel.org/linux-arm-msm/20230719073520.2644966-1-alexeymin@postmarketos.org/#t
---
Konrad Dybcio (9):
dt-bindings: usb: qcom,dwc3: Fix SDM660 clock description
arm64: dts: qcom: msm8916: Drop RPM bus clocks
arm64: dts: qcom: msm8996: Drop RPM bus clocks
arm64: dts: qcom: qcs404: Drop RPM bus clocks
arm64: dts: qcom: sdm630: Drop RPM bus clocks
arm64: dts: qcom: msm8939: Drop RPM bus clocks
arm64: dts: qcom: msm8998: Remove AGGRE2 clock from SLPI
arm64: dts: qcom: msm8996: Remove AGGRE2 clock from SLPI
arm64: dts: qcom: msm8996: Remove PNoC clock from MSS
.../devicetree/bindings/usb/qcom,dwc3.yaml | 6 +--
arch/arm64/boot/dts/qcom/msm8916.dtsi | 9 ----
arch/arm64/boot/dts/qcom/msm8939.dtsi | 12 -----
arch/arm64/boot/dts/qcom/msm8996.dtsi | 43 ++++++------------
arch/arm64/boot/dts/qcom/msm8998.dtsi | 5 +-
arch/arm64/boot/dts/qcom/qcs404.dtsi | 9 ----
arch/arm64/boot/dts/qcom/sdm630.dtsi | 53 +++++-----------------
7 files changed, 30 insertions(+), 107 deletions(-)
---
base-commit: 0fef202ac2f8e6d9ad21aead648278f1226b9053
change-id: 20230721-topic-rpm_clk_cleanup-1b2f4a1acd01
Best regards,
--
Konrad Dybcio <konrad.dybcio@linaro.org>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v3 1/9] dt-bindings: usb: qcom,dwc3: Fix SDM660 clock description
2024-01-03 20:15 [PATCH v3 0/9] Clean up RPM bus clocks remnants Konrad Dybcio
@ 2024-01-03 20:15 ` Konrad Dybcio
2024-01-04 7:33 ` Krzysztof Kozlowski
2024-01-03 20:15 ` [PATCH v3 2/9] arm64: dts: qcom: msm8916: Drop RPM bus clocks Konrad Dybcio
` (7 subsequent siblings)
8 siblings, 1 reply; 11+ messages in thread
From: Konrad Dybcio @ 2024-01-03 20:15 UTC (permalink / raw)
To: Bjorn Andersson, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Wesley Cheng
Cc: Marijn Suijten, linux-arm-msm, linux-usb, devicetree,
linux-kernel, Konrad Dybcio
SDM660 was abusingly referencing one of the internal bus clocks, that
were recently dropped from Linux (because the original implementation
did not make much sense), circumventing the interconnect framework.
Drop it.
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
Documentation/devicetree/bindings/usb/qcom,dwc3.yaml | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
index 473c4bfaf8a2..967cc6db56fa 100644
--- a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
@@ -291,8 +291,8 @@ allOf:
then:
properties:
clocks:
- minItems: 5
- maxItems: 6
+ minItems: 4
+ maxItems: 5
clock-names:
oneOf:
- items:
@@ -301,13 +301,11 @@ allOf:
- const: iface
- const: sleep
- const: mock_utmi
- - const: bus
- items:
- const: cfg_noc
- const: core
- const: sleep
- const: mock_utmi
- - const: bus
- if:
properties:
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 2/9] arm64: dts: qcom: msm8916: Drop RPM bus clocks
2024-01-03 20:15 [PATCH v3 0/9] Clean up RPM bus clocks remnants Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 1/9] dt-bindings: usb: qcom,dwc3: Fix SDM660 clock description Konrad Dybcio
@ 2024-01-03 20:15 ` Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 3/9] arm64: dts: qcom: msm8996: " Konrad Dybcio
` (6 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2024-01-03 20:15 UTC (permalink / raw)
To: Bjorn Andersson, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Wesley Cheng
Cc: Marijn Suijten, linux-arm-msm, linux-usb, devicetree,
linux-kernel, Konrad Dybcio
Some nodes are abusingly referencing some of the internal bus clocks,
that were recently removed in Linux (because the original implementation
did not make much sense), managing them as if they were the only devices
on an NoC bus.
These clocks are now handled from within the icc framework and are
no longer registered from within the CCF. Remove them.
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
arch/arm64/boot/dts/qcom/msm8916.dtsi | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
index 7f8327b0dbdb..e423c57ddd41 100644
--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
@@ -540,9 +540,6 @@ bimc: interconnect@400000 {
compatible = "qcom,msm8916-bimc";
reg = <0x00400000 0x62000>;
#interconnect-cells = <1>;
- clock-names = "bus", "bus_a";
- clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
- <&rpmcc RPM_SMD_BIMC_A_CLK>;
};
tsens: thermal-sensor@4a9000 {
@@ -575,18 +572,12 @@ pcnoc: interconnect@500000 {
compatible = "qcom,msm8916-pcnoc";
reg = <0x00500000 0x11000>;
#interconnect-cells = <1>;
- clock-names = "bus", "bus_a";
- clocks = <&rpmcc RPM_SMD_PCNOC_CLK>,
- <&rpmcc RPM_SMD_PCNOC_A_CLK>;
};
snoc: interconnect@580000 {
compatible = "qcom,msm8916-snoc";
reg = <0x00580000 0x14000>;
#interconnect-cells = <1>;
- clock-names = "bus", "bus_a";
- clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
- <&rpmcc RPM_SMD_SNOC_A_CLK>;
};
stm: stm@802000 {
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 3/9] arm64: dts: qcom: msm8996: Drop RPM bus clocks
2024-01-03 20:15 [PATCH v3 0/9] Clean up RPM bus clocks remnants Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 1/9] dt-bindings: usb: qcom,dwc3: Fix SDM660 clock description Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 2/9] arm64: dts: qcom: msm8916: Drop RPM bus clocks Konrad Dybcio
@ 2024-01-03 20:15 ` Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 4/9] arm64: dts: qcom: qcs404: " Konrad Dybcio
` (5 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2024-01-03 20:15 UTC (permalink / raw)
To: Bjorn Andersson, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Wesley Cheng
Cc: Marijn Suijten, linux-arm-msm, linux-usb, devicetree,
linux-kernel, Konrad Dybcio
Some nodes are abusingly referencing some of the internal bus clocks,
that were recently removed in Linux (because the original implementation
did not make much sense), managing them as if they were the only devices
on an NoC bus.
These clocks are now handled from within the icc framework and are
no longer registered from within the CCF. Remove them.
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
arch/arm64/boot/dts/qcom/msm8996.dtsi | 27 ++++-----------------------
1 file changed, 4 insertions(+), 23 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
index 8c6a7efa90c4..4f465ac573f5 100644
--- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
@@ -838,9 +838,6 @@ bimc: interconnect@408000 {
compatible = "qcom,msm8996-bimc";
reg = <0x00408000 0x5a000>;
#interconnect-cells = <1>;
- clock-names = "bus", "bus_a";
- clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
- <&rpmcc RPM_SMD_BIMC_A_CLK>;
};
tsens0: thermal-sensor@4a9000 {
@@ -891,18 +888,12 @@ cnoc: interconnect@500000 {
compatible = "qcom,msm8996-cnoc";
reg = <0x00500000 0x1000>;
#interconnect-cells = <1>;
- clock-names = "bus", "bus_a";
- clocks = <&rpmcc RPM_SMD_CNOC_CLK>,
- <&rpmcc RPM_SMD_CNOC_A_CLK>;
};
snoc: interconnect@524000 {
compatible = "qcom,msm8996-snoc";
reg = <0x00524000 0x1c000>;
#interconnect-cells = <1>;
- clock-names = "bus", "bus_a";
- clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
- <&rpmcc RPM_SMD_SNOC_A_CLK>;
};
a0noc: interconnect@543000 {
@@ -922,19 +913,14 @@ a1noc: interconnect@562000 {
compatible = "qcom,msm8996-a1noc";
reg = <0x00562000 0x5000>;
#interconnect-cells = <1>;
- clock-names = "bus", "bus_a";
- clocks = <&rpmcc RPM_SMD_AGGR1_NOC_CLK>,
- <&rpmcc RPM_SMD_AGGR1_NOC_A_CLK>;
};
a2noc: interconnect@583000 {
compatible = "qcom,msm8996-a2noc";
reg = <0x00583000 0x7000>;
#interconnect-cells = <1>;
- clock-names = "bus", "bus_a", "aggre2_ufs_axi", "ufs_axi";
- clocks = <&rpmcc RPM_SMD_AGGR2_NOC_CLK>,
- <&rpmcc RPM_SMD_AGGR2_NOC_A_CLK>,
- <&gcc GCC_AGGRE2_UFS_AXI_CLK>,
+ clock-names = "aggre2_ufs_axi", "ufs_axi";
+ clocks = <&gcc GCC_AGGRE2_UFS_AXI_CLK>,
<&gcc GCC_UFS_AXI_CLK>;
};
@@ -942,19 +928,14 @@ mnoc: interconnect@5a4000 {
compatible = "qcom,msm8996-mnoc";
reg = <0x005a4000 0x1c000>;
#interconnect-cells = <1>;
- clock-names = "bus", "bus_a", "iface";
- clocks = <&rpmcc RPM_SMD_MMAXI_CLK>,
- <&rpmcc RPM_SMD_MMAXI_A_CLK>,
- <&mmcc AHB_CLK_SRC>;
+ clock-names = "iface";
+ clocks = <&mmcc AHB_CLK_SRC>;
};
pnoc: interconnect@5c0000 {
compatible = "qcom,msm8996-pnoc";
reg = <0x005c0000 0x3000>;
#interconnect-cells = <1>;
- clock-names = "bus", "bus_a";
- clocks = <&rpmcc RPM_SMD_PCNOC_CLK>,
- <&rpmcc RPM_SMD_PCNOC_A_CLK>;
};
tcsr_mutex: hwlock@740000 {
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 4/9] arm64: dts: qcom: qcs404: Drop RPM bus clocks
2024-01-03 20:15 [PATCH v3 0/9] Clean up RPM bus clocks remnants Konrad Dybcio
` (2 preceding siblings ...)
2024-01-03 20:15 ` [PATCH v3 3/9] arm64: dts: qcom: msm8996: " Konrad Dybcio
@ 2024-01-03 20:15 ` Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 5/9] arm64: dts: qcom: sdm630: " Konrad Dybcio
` (4 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2024-01-03 20:15 UTC (permalink / raw)
To: Bjorn Andersson, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Wesley Cheng
Cc: Marijn Suijten, linux-arm-msm, linux-usb, devicetree,
linux-kernel, Konrad Dybcio
Some nodes are abusingly referencing some of the internal bus clocks,
that were recently removed in Linux (because the original implementation
did not make much sense), managing them as if they were the only devices
on an NoC bus.
These clocks are now handled from within the icc framework and are
no longer registered from within the CCF. Remove them.
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
arch/arm64/boot/dts/qcom/qcs404.dtsi | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/qcs404.dtsi b/arch/arm64/boot/dts/qcom/qcs404.dtsi
index 6ac64ce9bb68..2f2eeaf2e945 100644
--- a/arch/arm64/boot/dts/qcom/qcs404.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcs404.dtsi
@@ -558,9 +558,6 @@ bimc: interconnect@400000 {
reg = <0x00400000 0x80000>;
compatible = "qcom,qcs404-bimc";
#interconnect-cells = <1>;
- clock-names = "bus", "bus_a";
- clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
- <&rpmcc RPM_SMD_BIMC_A_CLK>;
};
tsens: thermal-sensor@4a9000 {
@@ -601,18 +598,12 @@ pcnoc: interconnect@500000 {
reg = <0x00500000 0x15080>;
compatible = "qcom,qcs404-pcnoc";
#interconnect-cells = <1>;
- clock-names = "bus", "bus_a";
- clocks = <&rpmcc RPM_SMD_PNOC_CLK>,
- <&rpmcc RPM_SMD_PNOC_A_CLK>;
};
snoc: interconnect@580000 {
reg = <0x00580000 0x23080>;
compatible = "qcom,qcs404-snoc";
#interconnect-cells = <1>;
- clock-names = "bus", "bus_a";
- clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
- <&rpmcc RPM_SMD_SNOC_A_CLK>;
};
remoteproc_cdsp: remoteproc@b00000 {
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 5/9] arm64: dts: qcom: sdm630: Drop RPM bus clocks
2024-01-03 20:15 [PATCH v3 0/9] Clean up RPM bus clocks remnants Konrad Dybcio
` (3 preceding siblings ...)
2024-01-03 20:15 ` [PATCH v3 4/9] arm64: dts: qcom: qcs404: " Konrad Dybcio
@ 2024-01-03 20:15 ` Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 6/9] arm64: dts: qcom: msm8939: " Konrad Dybcio
` (3 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2024-01-03 20:15 UTC (permalink / raw)
To: Bjorn Andersson, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Wesley Cheng
Cc: Marijn Suijten, linux-arm-msm, linux-usb, devicetree,
linux-kernel, Konrad Dybcio
Some nodes are abusingly referencing some of the internal bus clocks,
that were recently removed in Linux (because the original implementation
did not make much sense), managing them as if they were the only devices
on an NoC bus.
These clocks are now handled from within the icc framework and are
no longer registered from within the CCF. Remove them.
Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org>
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
arch/arm64/boot/dts/qcom/sdm630.dtsi | 53 ++++++++----------------------------
1 file changed, 12 insertions(+), 41 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi
index 775700f78e0f..513fe5e76b68 100644
--- a/arch/arm64/boot/dts/qcom/sdm630.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi
@@ -606,9 +606,6 @@ bimc: interconnect@1008000 {
compatible = "qcom,sdm660-bimc";
reg = <0x01008000 0x78000>;
#interconnect-cells = <1>;
- clock-names = "bus", "bus_a";
- clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
- <&rpmcc RPM_SMD_BIMC_A_CLK>;
};
restart@10ac000 {
@@ -620,28 +617,17 @@ cnoc: interconnect@1500000 {
compatible = "qcom,sdm660-cnoc";
reg = <0x01500000 0x10000>;
#interconnect-cells = <1>;
- clock-names = "bus", "bus_a";
- clocks = <&rpmcc RPM_SMD_CNOC_CLK>,
- <&rpmcc RPM_SMD_CNOC_A_CLK>;
};
snoc: interconnect@1626000 {
compatible = "qcom,sdm660-snoc";
reg = <0x01626000 0x7090>;
#interconnect-cells = <1>;
- clock-names = "bus", "bus_a";
- clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
- <&rpmcc RPM_SMD_SNOC_A_CLK>;
};
anoc2_smmu: iommu@16c0000 {
compatible = "qcom,sdm630-smmu-v2", "qcom,smmu-v2";
reg = <0x016c0000 0x40000>;
-
- assigned-clocks = <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
- assigned-clock-rates = <1000>;
- clocks = <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
- clock-names = "bus";
#global-interrupts = <2>;
#iommu-cells = <1>;
@@ -686,16 +672,12 @@ a2noc: interconnect@1704000 {
compatible = "qcom,sdm660-a2noc";
reg = <0x01704000 0xc100>;
#interconnect-cells = <1>;
- clock-names = "bus",
- "bus_a",
- "ipa",
+ clock-names = "ipa",
"ufs_axi",
"aggre2_ufs_axi",
"aggre2_usb3_axi",
"cfg_noc_usb2_axi";
- clocks = <&rpmcc RPM_SMD_AGGR2_NOC_CLK>,
- <&rpmcc RPM_SMD_AGGR2_NOC_A_CLK>,
- <&rpmcc RPM_SMD_IPA_CLK>,
+ clocks = <&rpmcc RPM_SMD_IPA_CLK>,
<&gcc GCC_UFS_AXI_CLK>,
<&gcc GCC_AGGRE2_UFS_AXI_CLK>,
<&gcc GCC_AGGRE2_USB3_AXI_CLK>,
@@ -706,10 +688,8 @@ mnoc: interconnect@1745000 {
compatible = "qcom,sdm660-mnoc";
reg = <0x01745000 0xa010>;
#interconnect-cells = <1>;
- clock-names = "bus", "bus_a", "iface";
- clocks = <&rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
- <&rpmcc RPM_SMD_MMSSNOC_AXI_CLK_A>,
- <&mmcc AHB_CLK_SRC>;
+ clock-names = "iface";
+ clocks = <&mmcc AHB_CLK_SRC>;
};
tsens: thermal-sensor@10ae000 {
@@ -1186,7 +1166,9 @@ kgsl_smmu: iommu@5040000 {
clocks = <&gcc GCC_GPU_CFG_AHB_CLK>,
<&gcc GCC_BIMC_GFX_CLK>,
<&gcc GCC_GPU_BIMC_GFX_CLK>;
- clock-names = "iface", "mem", "mem_iface";
+ clock-names = "iface",
+ "mem",
+ "mem_iface";
#global-interrupts = <2>;
#iommu-cells = <1>;
@@ -1288,20 +1270,16 @@ usb3: usb@a8f8800 {
<&gcc GCC_USB30_MASTER_CLK>,
<&gcc GCC_AGGRE2_USB3_AXI_CLK>,
<&gcc GCC_USB30_SLEEP_CLK>,
- <&gcc GCC_USB30_MOCK_UTMI_CLK>,
- <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
+ <&gcc GCC_USB30_MOCK_UTMI_CLK>;
clock-names = "cfg_noc",
"core",
"iface",
"sleep",
- "mock_utmi",
- "bus";
+ "mock_utmi";
assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
- <&gcc GCC_USB30_MASTER_CLK>,
- <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
- assigned-clock-rates = <19200000>, <120000000>,
- <19200000>;
+ <&gcc GCC_USB30_MASTER_CLK>;
+ assigned-clock-rates = <19200000>, <120000000>;
interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
@@ -2204,10 +2182,9 @@ mmss_smmu: iommu@cd00000 {
clocks = <&mmcc MNOC_AHB_CLK>,
<&mmcc BIMC_SMMU_AHB_CLK>,
- <&rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
<&mmcc BIMC_SMMU_AXI_CLK>;
clock-names = "iface-mm", "iface-smmu",
- "bus-mm", "bus-smmu";
+ "bus-smmu";
#global-interrupts = <2>;
#iommu-cells = <1>;
@@ -2324,12 +2301,6 @@ gnoc: interconnect@17900000 {
compatible = "qcom,sdm660-gnoc";
reg = <0x17900000 0xe000>;
#interconnect-cells = <1>;
- /*
- * This one apparently features no clocks,
- * so let's not mess with the driver needlessly
- */
- clock-names = "bus", "bus_a";
- clocks = <&xo_board>, <&xo_board>;
};
apcs_glb: mailbox@17911000 {
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 6/9] arm64: dts: qcom: msm8939: Drop RPM bus clocks
2024-01-03 20:15 [PATCH v3 0/9] Clean up RPM bus clocks remnants Konrad Dybcio
` (4 preceding siblings ...)
2024-01-03 20:15 ` [PATCH v3 5/9] arm64: dts: qcom: sdm630: " Konrad Dybcio
@ 2024-01-03 20:15 ` Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 7/9] arm64: dts: qcom: msm8998: Remove AGGRE2 clock from SLPI Konrad Dybcio
` (2 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2024-01-03 20:15 UTC (permalink / raw)
To: Bjorn Andersson, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Wesley Cheng
Cc: Marijn Suijten, linux-arm-msm, linux-usb, devicetree,
linux-kernel, Konrad Dybcio, Krzysztof Kozlowski
Some nodes are abusingly referencing some of the internal bus clocks,
that were recently removed in Linux (because the original implementation
did not make much sense), managing them as if they were the only devices
on an NoC bus.
These clocks are now handled from within the icc framework and are
no longer registered from within the CCF. Remove them.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
arch/arm64/boot/dts/qcom/msm8939.dtsi | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/msm8939.dtsi b/arch/arm64/boot/dts/qcom/msm8939.dtsi
index 29f6bd9df2eb..82d85ff61045 100644
--- a/arch/arm64/boot/dts/qcom/msm8939.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8939.dtsi
@@ -602,9 +602,6 @@ rpm_msg_ram: sram@60000 {
bimc: interconnect@400000 {
compatible = "qcom,msm8939-bimc";
reg = <0x00400000 0x62000>;
- clock-names = "bus", "bus_a";
- clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
- <&rpmcc RPM_SMD_BIMC_A_CLK>;
#interconnect-cells = <1>;
};
@@ -648,25 +645,16 @@ restart@4ab000 {
pcnoc: interconnect@500000 {
compatible = "qcom,msm8939-pcnoc";
reg = <0x00500000 0x11000>;
- clock-names = "bus", "bus_a";
- clocks = <&rpmcc RPM_SMD_PCNOC_CLK>,
- <&rpmcc RPM_SMD_PCNOC_A_CLK>;
#interconnect-cells = <1>;
};
snoc: interconnect@580000 {
compatible = "qcom,msm8939-snoc";
reg = <0x00580000 0x14080>;
- clock-names = "bus", "bus_a";
- clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
- <&rpmcc RPM_SMD_SNOC_A_CLK>;
#interconnect-cells = <1>;
snoc_mm: interconnect-snoc {
compatible = "qcom,msm8939-snoc-mm";
- clock-names = "bus", "bus_a";
- clocks = <&rpmcc RPM_SMD_SYSMMNOC_CLK>,
- <&rpmcc RPM_SMD_SYSMMNOC_A_CLK>;
#interconnect-cells = <1>;
};
};
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 7/9] arm64: dts: qcom: msm8998: Remove AGGRE2 clock from SLPI
2024-01-03 20:15 [PATCH v3 0/9] Clean up RPM bus clocks remnants Konrad Dybcio
` (5 preceding siblings ...)
2024-01-03 20:15 ` [PATCH v3 6/9] arm64: dts: qcom: msm8939: " Konrad Dybcio
@ 2024-01-03 20:15 ` Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 8/9] arm64: dts: qcom: msm8996: " Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 9/9] arm64: dts: qcom: msm8996: Remove PNoC clock from MSS Konrad Dybcio
8 siblings, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2024-01-03 20:15 UTC (permalink / raw)
To: Bjorn Andersson, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Wesley Cheng
Cc: Marijn Suijten, linux-arm-msm, linux-usb, devicetree,
linux-kernel, Konrad Dybcio
The AGGRE2 clock is a clock for the entire AGGRE2 bus, managed from
within the interconnect driver. Attaching it to SLPI was a total hack.
Get rid of it.
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
arch/arm64/boot/dts/qcom/msm8998.dtsi | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
index bb591c6bf573..2793cc22d381 100644
--- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
@@ -1605,9 +1605,8 @@ remoteproc_slpi: remoteproc@5800000 {
px-supply = <&vreg_lvs2a_1p8>;
- clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
- <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
- clock-names = "xo", "aggre2";
+ clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
+ clock-names = "xo";
memory-region = <&slpi_mem>;
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 8/9] arm64: dts: qcom: msm8996: Remove AGGRE2 clock from SLPI
2024-01-03 20:15 [PATCH v3 0/9] Clean up RPM bus clocks remnants Konrad Dybcio
` (6 preceding siblings ...)
2024-01-03 20:15 ` [PATCH v3 7/9] arm64: dts: qcom: msm8998: Remove AGGRE2 clock from SLPI Konrad Dybcio
@ 2024-01-03 20:15 ` Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 9/9] arm64: dts: qcom: msm8996: Remove PNoC clock from MSS Konrad Dybcio
8 siblings, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2024-01-03 20:15 UTC (permalink / raw)
To: Bjorn Andersson, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Wesley Cheng
Cc: Marijn Suijten, linux-arm-msm, linux-usb, devicetree,
linux-kernel, Konrad Dybcio
The AGGRE2 clock is a clock for the entire AGGRE2 bus, managed from
within the interconnect driver. Attaching it to SLPI was a total hack.
Get rid of it.
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
arch/arm64/boot/dts/qcom/msm8996.dtsi | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
index 4f465ac573f5..174eb410824b 100644
--- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
@@ -2467,9 +2467,8 @@ slpi_pil: remoteproc@1c00000 {
"handover",
"stop-ack";
- clocks = <&xo_board>,
- <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
- clock-names = "xo", "aggre2";
+ clocks = <&xo_board>;
+ clock-names = "xo";
memory-region = <&slpi_mem>;
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 9/9] arm64: dts: qcom: msm8996: Remove PNoC clock from MSS
2024-01-03 20:15 [PATCH v3 0/9] Clean up RPM bus clocks remnants Konrad Dybcio
` (7 preceding siblings ...)
2024-01-03 20:15 ` [PATCH v3 8/9] arm64: dts: qcom: msm8996: " Konrad Dybcio
@ 2024-01-03 20:15 ` Konrad Dybcio
8 siblings, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2024-01-03 20:15 UTC (permalink / raw)
To: Bjorn Andersson, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Wesley Cheng
Cc: Marijn Suijten, linux-arm-msm, linux-usb, devicetree,
linux-kernel, Konrad Dybcio
The PNoC clock is a clock for the entire PNoC bus, managed from
within the interconnect driver. Attaching it to MSS was a total hack.
Get rid of it and take the liberty to make the clock-names entries
more readable.
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
arch/arm64/boot/dts/qcom/msm8996.dtsi | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
index 174eb410824b..8d41ed261adf 100644
--- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
@@ -2513,10 +2513,15 @@ mss_pil: remoteproc@2080000 {
<&gcc GCC_MSS_GPLL0_DIV_CLK>,
<&gcc GCC_MSS_SNOC_AXI_CLK>,
<&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
- <&rpmcc RPM_SMD_PCNOC_CLK>,
<&rpmcc RPM_SMD_QDSS_CLK>;
- clock-names = "iface", "bus", "mem", "xo", "gpll0_mss",
- "snoc_axi", "mnoc_axi", "pnoc", "qdss";
+ clock-names = "iface",
+ "bus",
+ "mem",
+ "xo",
+ "gpll0_mss",
+ "snoc_axi",
+ "mnoc_axi",
+ "qdss";
resets = <&gcc GCC_MSS_RESTART>;
reset-names = "mss_restart";
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v3 1/9] dt-bindings: usb: qcom,dwc3: Fix SDM660 clock description
2024-01-03 20:15 ` [PATCH v3 1/9] dt-bindings: usb: qcom,dwc3: Fix SDM660 clock description Konrad Dybcio
@ 2024-01-04 7:33 ` Krzysztof Kozlowski
0 siblings, 0 replies; 11+ messages in thread
From: Krzysztof Kozlowski @ 2024-01-04 7:33 UTC (permalink / raw)
To: Konrad Dybcio, Bjorn Andersson, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Wesley Cheng
Cc: Marijn Suijten, linux-arm-msm, linux-usb, devicetree,
linux-kernel
On 03/01/2024 21:15, Konrad Dybcio wrote:
> SDM660 was abusingly referencing one of the internal bus clocks, that
> were recently dropped from Linux (because the original implementation
> did not make much sense), circumventing the interconnect framework.
>
> Drop it.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2024-01-04 7:33 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-03 20:15 [PATCH v3 0/9] Clean up RPM bus clocks remnants Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 1/9] dt-bindings: usb: qcom,dwc3: Fix SDM660 clock description Konrad Dybcio
2024-01-04 7:33 ` Krzysztof Kozlowski
2024-01-03 20:15 ` [PATCH v3 2/9] arm64: dts: qcom: msm8916: Drop RPM bus clocks Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 3/9] arm64: dts: qcom: msm8996: " Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 4/9] arm64: dts: qcom: qcs404: " Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 5/9] arm64: dts: qcom: sdm630: " Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 6/9] arm64: dts: qcom: msm8939: " Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 7/9] arm64: dts: qcom: msm8998: Remove AGGRE2 clock from SLPI Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 8/9] arm64: dts: qcom: msm8996: " Konrad Dybcio
2024-01-03 20:15 ` [PATCH v3 9/9] arm64: dts: qcom: msm8996: Remove PNoC clock from MSS Konrad Dybcio
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).