Thank you for your contribution! Sashiko AI review found 1 potential issue(s) 
to consider:
- [High] arm64: dts: qcom: cpu cooling devices bound to 'hot' instead of 
'passive' trip points
--

commit b31c2ca10f75d0572d43b7d8403a096fd44b8429
Author: Muzaffer Kadir <[email protected]>
arm64: dts: qcom: Add initial support for MSM8952

Adds initial device tree support for the MSM8952 SoC, porting it from a
downstream reference and adding calculation support for qfprom nodes.

Link: 
https://github.com/Asderdd/android_kernel_generalmobile_shamrock/blob/cm-14.1/arch/arm/boot/dts/qcom/msm8952.dtsi
Link: 
https://android.googlesource.com/kernel/msm.git/+/refs/tags/android-wear-7.0.0_r0.3/arch/arm/boot/dts/qcom/msm8952.dtsi
Link: 
https://android.googlesource.com/kernel/msm.git/+/refs/tags/android-wear-7.0.0_r0.3/drivers/thermal/msm-tsens.c#1621

> diff --git a/arch/arm64/boot/dts/qcom/msm8952.dtsi 
> b/arch/arm64/boot/dts/qcom/msm8952.dtsi
> new file mode 100644
> index 0000000000000..fa343271a0249
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/msm8952.dtsi

[ ... ]

> @@ -0,0 +1,2696 @@

[ ... ]

> +             cpu4-thermal {
> +                     polling-delay-passive = <250>;
> +
> +                     thermal-sensors = <&tsens 5>;
> +
> +                     cooling-maps {
> +                             map0 {
> +                                     trip = <&cpu4_alert1>;
> +                                     cooling-device = <&cpu4 
> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;

[Severity: High]
Does this cooling map bind to the hot trip point instead of the passive one?

The Linux thermal subsystem's default step_wise governor ignores hot and
critical trip points for cooling devices. Binding CPU frequency cooling
devices to cpu4_alert1 (which is defined as type hot) completely prevents
thermal throttling. 

Under sustained CPU load, the system will keep heating up until it hits the
critical trip point and undergoes a hard, uncontrolled thermal shutdown. 
Should this bind to cpu4_alert0 instead?

> +                             };
> +                     };
> +
> +                     trips {
> +                             cpu4_alert0: trip-point0 {
> +                                     temperature = <75000>;
> +                                     hysteresis = <2000>;
> +                                     type = "passive";
> +                             };
> +
> +                             cpu4_alert1: trip-point1 {
> +                                     temperature = <85000>;
> +                                     hysteresis = <2000>;
> +                                     type = "hot";
> +                             };

[ ... ]

> +             cpu0-3-thermal {
> +                     polling-delay-passive = <250>;
> +
> +                     thermal-sensors = <&tsens 9>;
> +
> +                     cooling-maps {
> +                             map0 {
> +                                     trip = <&cpu0_alert1>;
> +                                     cooling-device = <&cpu0 
> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,

[Severity: High]
Similarly for the little core cluster, does this also incorrectly bind to the
hot trip point cpu0_alert1? This will prevent thermal throttling on these
cores as well.

> +                                                      <&cpu1 
> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +                                                      <&cpu2 
> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +                                                      <&cpu3 
> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> +                             };
> +                     };

-- 
Sashiko AI review ยท 
https://sashiko.dev/#/patchset/20260921-msm8952-initial-support-v3-0-b96fd3fe2...@mainlining.org?part=17

Reply via email to