On 7/3/2026 9:18 PM, Dmitry Baryshkov wrote:
On Fri, Jul 03, 2026 at 10:33:09AM +0530, Gaurav Kohli wrote:
Unlike the CPU, the CDSP/Modem does not throttle its speed automatically
when it reaches high temperatures in kodiak.

Set up CDSP cooling by throttling the cdsp when it reaches 100°C and
for modem when it reaches to 95°C.

Since the remoteproc_mpss node doesn't exist on non modem boards, the
cooling-maps that reference it cause DT compilation errors. To fix that
remove inherited mdmss cooling-map nodes.

Signed-off-by: Gaurav Kohli <[email protected]>
---
  arch/arm64/boot/dts/qcom/kodiak.dtsi               | 134 ++++++++++++++++++++-
  .../boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts     |  17 +++
  arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts       |  17 +++
  .../dts/qcom/qcs6490-thundercomm-minipc-g1iot.dts  |  17 +++
  .../boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts |  17 +++
  .../boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi    |  17 +++
  .../boot/dts/qcom/sc7280-herobrine-wifi-sku.dtsi   |  16 +++
  7 files changed, 231 insertions(+), 4 deletions(-)

@@ -7716,6 +7722,8 @@ map0 {
                };
nspss0-thermal {
+                       polling-delay-passive = <200>;

Why? This applies to all added polling delays.

Thanks for review, will update the reasoning(passive polling mode) in commit message.


+
                        thermal-sensors = <&tsens1 3>;
trips {
diff --git a/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts 
b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts
index bb5a42b038f1..400d128132fc 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts
+++ b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts
@@ -24,6 +24,23 @@
  /delete-node/ &adsp_mem;
  /delete-node/ &cdsp_mem;
  /delete-node/ &ipa_fw_mem;
+
+&mdmss0_thermal {
+       /delete-node/ cooling-maps;

Don't kill what is unnecessary to be killed. Remove only MPSS maps.

Thanks for review, will change this to delete only the MPSS map entries.


+};
+
+&mdmss1_thermal {
+       /delete-node/ cooling-maps;
+};
+
+&mdmss2_thermal {
+       /delete-node/ cooling-maps;
+};
+
+&mdmss3_thermal {
+       /delete-node/ cooling-maps;
+};
+
  /delete-node/ &mpss_mem;
  /delete-node/ &remoteproc_mpss;
  /delete-node/ &remoteproc_wpss;
diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts 
b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
index 37a3b51323ce..187bc2899191 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
+++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
@@ -25,6 +25,23 @@
  /delete-node/ &rmtfs_mem;
  /delete-node/ &adsp_mem;
  /delete-node/ &cdsp_mem;
+
+&mdmss0_thermal {
+       /delete-node/ cooling-maps;

But MPSS is there. Why are you removing it?

thanks for review, Let me recheck this and fix this.


+};
+
+&mdmss1_thermal {
+       /delete-node/ cooling-maps;
+};
+
+&mdmss2_thermal {
+       /delete-node/ cooling-maps;
+};
+
+&mdmss3_thermal {
+       /delete-node/ cooling-maps;
+};
+
  /delete-node/ &video_mem;
  /delete-node/ &wlan_ce_mem;
  /delete-node/ &wpss_mem;
diff --git a/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-minipc-g1iot.dts 
b/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-minipc-g1iot.dts
index a5ad796cb65d..1e190ed18ae5 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-minipc-g1iot.dts
+++ b/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-minipc-g1iot.dts
@@ -22,6 +22,23 @@
  /delete-node/ &cdsp_mem;
  /delete-node/ &ipa_fw_mem;
  /delete-node/ &mpss_mem;
+
+&mdmss0_thermal {
+       /delete-node/ cooling-maps;
+};
+
+&mdmss1_thermal {
+       /delete-node/ cooling-maps;
+};
+
+&mdmss2_thermal {
+       /delete-node/ cooling-maps;
+};
+
+&mdmss3_thermal {
+       /delete-node/ cooling-maps;
+};
+
  /delete-node/ &remoteproc_mpss;
  /delete-node/ &remoteproc_wpss;
  /delete-node/ &rmtfs_mem;
diff --git a/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts 
b/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts
index f47efca42d48..8e8dd4efd8c0 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts
+++ b/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts
@@ -23,6 +23,23 @@
  /delete-node/ &adsp_mem;
  /delete-node/ &cdsp_mem;
  /delete-node/ &ipa_fw_mem;
+
+&mdmss0_thermal {
+       /delete-node/ cooling-maps;
+};
+
+&mdmss1_thermal {
+       /delete-node/ cooling-maps;
+};
+
+&mdmss2_thermal {
+       /delete-node/ cooling-maps;
+};
+
+&mdmss3_thermal {
+       /delete-node/ cooling-maps;
+};
+
  /delete-node/ &mpss_mem;
  /delete-node/ &remoteproc_mpss;
  /delete-node/ &remoteproc_wpss;
diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi 
b/arch/arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi
index b721a8546800..1e9d7e7b5fa2 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi
@@ -26,8 +26,25 @@ &ipa {
        status = "okay";
  };
+&mdmss0_thermal {
+       /delete-node/ cooling-maps;
+};
+
+&mdmss1_thermal {
+       /delete-node/ cooling-maps;
+};
+
+&mdmss2_thermal {
+       /delete-node/ cooling-maps;
+};
+
+&mdmss3_thermal {
+       /delete-node/ cooling-maps;
+};
+
  &remoteproc_mpss {
        compatible = "qcom,sc7280-mss-pil";
+       /delete-property/ #cooling-cells;
        reg = <0 0x04080000 0 0x10000>, <0 0x04180000 0 0x48>;
        reg-names = "qdsp6", "rmb";
diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine-wifi-sku.dtsi b/arch/arm64/boot/dts/qcom/sc7280-herobrine-wifi-sku.dtsi
index 3ebc915f0dc2..6642076f62c4 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-herobrine-wifi-sku.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-wifi-sku.dtsi
@@ -7,6 +7,22 @@
/* WIFI SKUs save 256M by not having modem/mba/rmtfs memory regions defined. */ +&mdmss0_thermal {
+       /delete-node/ cooling-maps;
+};
+
+&mdmss1_thermal {
+       /delete-node/ cooling-maps;
+};
+
+&mdmss2_thermal {
+       /delete-node/ cooling-maps;
+};
+
+&mdmss3_thermal {
+       /delete-node/ cooling-maps;
+};
+
  /delete-node/ &mpss_mem;
  /delete-node/ &remoteproc_mpss;
  /delete-node/ &rmtfs_mem;

--
2.34.1




Reply via email to