Running an Antutu benchmark makes the board to do a hard reboot. Cause: it appears the gpu-bottom and gpu-top temperature sensors are showing too high temperatures, above 115°C. Out of tree configuratons show the gpu thermal zone is configured to be mitigated at 85°C with devfreq. Add the DT snippet to enable the thermal mitigation on the sdm845 based board. Fixes: c79800103eb18 ("arm64: dts: sdm845: Add gpu and gmu device nodes") Cc: Amit Pundir <amit.pundir@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> --- arch/arm64/boot/dts/qcom/sdm845.dtsi | 32 ++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi index c2244824355a..20fefd6af0f8 100644 --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi @@ -4764,6 +4764,8 @@ gpu: gpu@5000000 { interconnects = <&mem_noc MASTER_GFX3D 0 &mem_noc SLAVE_EBI1 0>; interconnect-names = "gfx-mem"; + #cooling-cells = <2>; + status = "disabled"; gpu_opp_table: opp-table { @@ -5603,12 +5605,25 @@ gpu-top-thermal { thermal-sensors = <&tsens0 11>; trips { - gpu1_alert0: trip-point0 { + gpu1_alert0: trip-point0 { + temperature = <85000>; + hysteresis = <2000>; + type = "passive"; + }; + + gpu1_alert1: trip-point1 { temperature = <90000>; hysteresis = <2000>; type = "hot"; }; }; + + cooling-maps { + map0 { + trip = <&gpu1_alert0>; + cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; }; gpu-bottom-thermal { @@ -5618,12 +5633,25 @@ gpu-bottom-thermal { thermal-sensors = <&tsens0 12>; trips { - gpu2_alert0: trip-point0 { + gpu2_alert0: trip-point0 { + temperature = <85000>; + hysteresis = <2000>; + type = "passive"; + }; + + gpu2_alert1: trip-point1 { temperature = <90000>; hysteresis = <2000>; type = "hot"; }; }; + + cooling-maps { + map0 { + trip = <&gpu2_alert0>; + cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; }; aoss1-thermal { -- 2.34.1