Message ID | s2sp5o57-o534-qso0-2733-o0prs6028por@onlyvoer.pbz |
---|---|
State | New |
Headers | show |
Series | dts: arm64: mediatek: mt8188: add more thermal trip points | expand |
Il 13/03/25 19:30, Nicolas Pitre ha scritto: > On Thu, 13 Mar 2025, AngeloGioacchino Del Regno wrote: > >> Il 13/03/25 16:43, Nicolas Pitre ha scritto: >>> Provide the "switch on" thermal trip point to be used by the power >>> allocator governor. >>> >> >> As far as I know, the power allocation is not supposed to be >> SoC-global, as that does play with sustainable power values... >> >> Sustainable power depends on multiple factors - besides the power that >> is actually sustainable by intrinsic properties of the silicon, this >> mostly depends on the PCB that it is soldered to. >> >> Translated, this depends on the heat capacity of the copper layer(s) >> and of the eventual additional passive heatsink, which is a physical >> property relative to a board and not to the SoC by itself. >> >> ....which means.... that those nodes shall go to board specific devicetrees >> and >> not to the SoC devicetree :-) >> >> Unless I'm wrong - but if I am, please explain why :-) > > I agree with everything you wrote above. > > But this patch isn't about power allocation. This is about temperature > thresholds. And temperature tolerance is rather SOC specific, no? > > Sorry for letting this slip through the cracks - that wasn't intentional. Agreed that temperature tolerance is SoC specific, but that's taken care of with the other trip points, so that's not a concern here. On the other hand, it's guaranteed that the SoC can "keep crunching numbers" at full power when the CPUs are at 68-70°C without entering any actual danger zone, temperature-speaking. Remember that a machine may be designed to keep it at even 70°C for a prolonged amount of time - depending on the cooling solution. If you're doing this for a specific board, I'm happy to accept the addition to the specific board (file) that you're doing this for. Cheers, Angelo >>> diff --git a/arch/arm64/boot/dts/mediatek/mt8188.dtsi >>> b/arch/arm64/boot/dts/mediatek/mt8188.dtsi >>> index 338120930b..262eab8fd3 100644 >>> --- a/arch/arm64/boot/dts/mediatek/mt8188.dtsi >>> +++ b/arch/arm64/boot/dts/mediatek/mt8188.dtsi >>> @@ -472,6 +472,12 @@ cpu-little0-thermal { >>> thermal-sensors = <&lvts_mcu MT8188_MCU_LITTLE_CPU0>; >>> >>> trips { >>> + cpu_little0_switch_on: trip-switch-on { >>> + temperature = <68000>; >>> + hysteresis = <2000>; >>> + type = "passive"; >>> + }; >>> + >>> cpu_little0_alert0: trip-alert0 { >>> temperature = <85000>; >>> hysteresis = <2000>; >>> @@ -510,6 +516,12 @@ cpu-little1-thermal { >>> thermal-sensors = <&lvts_mcu MT8188_MCU_LITTLE_CPU1>; >>> >>> trips { >>> + cpu_little1_switch_on: trip-switch-on { >>> + temperature = <68000>; >>> + hysteresis = <2000>; >>> + type = "passive"; >>> + }; >>> + >>> cpu_little1_alert0: trip-alert0 { >>> temperature = <85000>; >>> hysteresis = <2000>; >>> @@ -548,6 +560,12 @@ cpu-little2-thermal { >>> thermal-sensors = <&lvts_mcu MT8188_MCU_LITTLE_CPU2>; >>> >>> trips { >>> + cpu_little2_switch_on: trip-switch-on { >>> + temperature = <68000>; >>> + hysteresis = <2000>; >>> + type = "passive"; >>> + }; >>> + >>> cpu_little2_alert0: trip-alert0 { >>> temperature = <85000>; >>> hysteresis = <2000>; >>> @@ -586,6 +604,12 @@ cpu-little3-thermal { >>> thermal-sensors = <&lvts_mcu MT8188_MCU_LITTLE_CPU3>; >>> >>> trips { >>> + cpu_little3_switch_on: trip-switch-on { >>> + temperature = <68000>; >>> + hysteresis = <2000>; >>> + type = "passive"; >>> + }; >>> + >>> cpu_little3_alert0: trip-alert0 { >>> temperature = <85000>; >>> hysteresis = <2000>; >>> @@ -624,6 +648,12 @@ cpu-big0-thermal { >>> thermal-sensors = <&lvts_mcu MT8188_MCU_BIG_CPU0>; >>> >>> trips { >>> + cpu_big0_switch_on: trip-switch-on { >>> + temperature = <68000>; >>> + hysteresis = <2000>; >>> + type = "passive"; >>> + }; >>> + >>> cpu_big0_alert0: trip-alert0 { >>> temperature = <85000>; >>> hysteresis = <2000>; >>> @@ -658,6 +688,12 @@ cpu-big1-thermal { >>> thermal-sensors = <&lvts_mcu MT8188_MCU_BIG_CPU1>; >>> >>> trips { >>> + cpu_big1_switch_on: trip-switch-on { >>> + temperature = <68000>; >>> + hysteresis = <2000>; >>> + type = "passive"; >>> + }; >>> + >>> cpu_big1_alert0: trip-alert0 { >>> temperature = <85000>; >>> hysteresis = <2000>; >> >> >>
diff --git a/arch/arm64/boot/dts/mediatek/mt8188.dtsi b/arch/arm64/boot/dts/mediatek/mt8188.dtsi index 338120930b..262eab8fd3 100644 --- a/arch/arm64/boot/dts/mediatek/mt8188.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt8188.dtsi @@ -472,6 +472,12 @@ cpu-little0-thermal { thermal-sensors = <&lvts_mcu MT8188_MCU_LITTLE_CPU0>; trips { + cpu_little0_switch_on: trip-switch-on { + temperature = <68000>; + hysteresis = <2000>; + type = "passive"; + }; + cpu_little0_alert0: trip-alert0 { temperature = <85000>; hysteresis = <2000>; @@ -510,6 +516,12 @@ cpu-little1-thermal { thermal-sensors = <&lvts_mcu MT8188_MCU_LITTLE_CPU1>; trips { + cpu_little1_switch_on: trip-switch-on { + temperature = <68000>; + hysteresis = <2000>; + type = "passive"; + }; + cpu_little1_alert0: trip-alert0 { temperature = <85000>; hysteresis = <2000>; @@ -548,6 +560,12 @@ cpu-little2-thermal { thermal-sensors = <&lvts_mcu MT8188_MCU_LITTLE_CPU2>; trips { + cpu_little2_switch_on: trip-switch-on { + temperature = <68000>; + hysteresis = <2000>; + type = "passive"; + }; + cpu_little2_alert0: trip-alert0 { temperature = <85000>; hysteresis = <2000>; @@ -586,6 +604,12 @@ cpu-little3-thermal { thermal-sensors = <&lvts_mcu MT8188_MCU_LITTLE_CPU3>; trips { + cpu_little3_switch_on: trip-switch-on { + temperature = <68000>; + hysteresis = <2000>; + type = "passive"; + }; + cpu_little3_alert0: trip-alert0 { temperature = <85000>; hysteresis = <2000>; @@ -624,6 +648,12 @@ cpu-big0-thermal { thermal-sensors = <&lvts_mcu MT8188_MCU_BIG_CPU0>; trips { + cpu_big0_switch_on: trip-switch-on { + temperature = <68000>; + hysteresis = <2000>; + type = "passive"; + }; + cpu_big0_alert0: trip-alert0 { temperature = <85000>; hysteresis = <2000>; @@ -658,6 +688,12 @@ cpu-big1-thermal { thermal-sensors = <&lvts_mcu MT8188_MCU_BIG_CPU1>; trips { + cpu_big1_switch_on: trip-switch-on { + temperature = <68000>; + hysteresis = <2000>; + type = "passive"; + }; + cpu_big1_alert0: trip-alert0 { temperature = <85000>; hysteresis = <2000>;