Re: [PATCH v4 06/10] arm64: dts: qcom: kodiak: Enable CDSP & Modem cooling
Gaurav Kohli <[email protected]>
| Newsgroups | org.kernel.vger.linux-remoteproc,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-hardening,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm |
|---|---|
| Message-ID | <[email protected]> |
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 >> >