Re: Aw: Re: Re: [PATCH] Fix mt7622.dtsi thermal cpu
From: Daniel Lezcano <hidden>
Date: 2021-06-25 11:48:05
Also in:
linux-arm-kernel, linux-devicetree, lkml
On 25/06/2021 13:03, Frank Wunderlich wrote:
Hiquoted
Gesendet: Freitag, 25. Juni 2021 um 11:57 Uhr Von: "Daniel Lezcano" [off-list ref]quoted
You should not add the fan in the mt7622.dtsi itself but in the board specific file where there is a fan output on it. mt7622.dtsi is supposed to be the SoC itself AFAICT. For instance: https://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux.git/tree/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi#n39 https://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux.git/tree/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi#n164quoted
quoted
@@ -170,14 +177,12 @@ cooling-maps { map0 { trip = <&cpu_passive>; - cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, - <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + cooling-device = <&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; };fan == active trip point This is referring to the passive trip point. So it should point to the CPU as it is now. Note the order of mitigation is inverted regarding the proposal description.but we need to disable the passive trip as cpu-trotteling starts there...the higher temperature trips are currently not reached
Sorry, can you rephrase it ? I'm not getting the point.
quoted hunk ↗ jump to hunk
summary moving fan and cpu_thermal-override to bananapi-r64.dts passive-trip: cooling-device = <&cpu0/1 0 0> as in erics Patch active trip: cooling-device = <&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; the other 2 unchanged but i suggest changing the temperature points in mt7622 dtsi as this is SoC specific so basicly:--- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi@@ -143,13 +143,13 @@ cpu_thermal: cpu-thermal { trips { cpu_passive: cpu-passive { - temperature = <47000>; + temperature = <70000>;
May be increase the passive temp to 75°C.
hysteresis = <2000>;
type = "passive";
};
cpu_active: cpu-active {
- temperature = <67000>;
+ temperature = <80000>;
hysteresis = <2000>;
type = "active";
};Move the active trip 'cpu_active' to mt7622-bananapi-bpi-r64.dts. and set it to 70°C in the mt7622-bananapi-bpi-r64.dts, so the fan will act before the cpu throttling. The behavior should be the following: The temperature reaches 70°C, the fan will start, if the temperature continues to increase, it will increase the speed. If the temperature reaches 75°C, the fan is still rotating at full speed but the cpu begins to be throttled. AFAIU, it is a Cortex-A53 running @1.35GH, so except the board is in a black metal box under the sun, I don't see how we can reach this thermal limits.
quoted hunk ↗ jump to hunk
@@ -170,8 +170,8 @@ cpu-crit { cooling-maps { map0 { trip = <&cpu_passive>; - cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, - <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + cooling-device = <&cpu0 0 0>, + <&cpu1 0 0>;
You should keep it untouched.
quoted hunk ↗ jump to hunk
}; map1 {@@ -428,6 +428,7 @@ uart3: serial@11005000 { pwm: pwm@11006000 { compatible = "mediatek,mt7622-pwm"; reg = <0 0x11006000 0 0x1000>; + #pwm-cells = <3>; interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>; clocks = <&topckgen CLK_TOP_PWM_SEL>, <&pericfg CLK_PERI_PWM_PD>, --- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts +++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts@@ -37,6 +37,13 @@ cpu@1 { }; }; + fan0: pwm-fan { + compatible = "pwm-fan"; + #cooling-cells = <2>; + pwms = <&pwm 2 10000 0>; + cooling-levels = <0 102 170 230>; + }; + gpio-keys { compatible = "gpio-keys";@@ -582,6 +589,29 @@ &u3phy { status = "okay"; }; +&cpu_thermal { + cooling-maps { + map1 { + trip = <&cpu_active>; + cooling-device = <&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; +}; + &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pins>;
-- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek