Re: [PATCH v2] arm64: dts: qcom: monaco-arduino-monza: Rework fan cooling map
From: Konrad Dybcio
Date: Wed Aug 19 2026 - 06:54:06 EST
On 8/3/26 1:55 PM, Loic Poulain wrote:
> The fan thermal zone previously had a single "active" trip at 32C mapped
> to the fan over the full cooling range (<&fan 0 THERMAL_NO_LIMIT>). With
> the default step_wise governor this only ramps the fan one step per poll
> according to the thermal trend, so the fan speed tracked whether the
> temperature was rising or falling rather than the temperature itself.
>
> A visible consequence is at boot/reboot: if the board comes up already
> hot but thermally stable (temperature above the trip but not rising),
> step_wise sees no upward trend and leaves the fan at a low or zero
> cooling state, so the fan stays slow despite the high temperature.
>
> Replace it with a ladder of active trips that each pin the fan to a fixed
> cooling state (lower == upper in the cooling-maps), turning the fan speed
> into a function of the actual temperature band. The multiple trips also
> give the tsens hardware several thresholds to raise an interrupt on, so
> the fan is re-evaluated whenever the temperature crosses a band boundary
> instead of only when leaving the single operating point. The zone is now
> purely interrupt driven, so the polling-delay is dropped.
>
> This also shifts fan enablement to a higher starting point: the fan now
> first engages at 50C rather than 32C as the fan was spinning almost all
> the time at such low threshold. The values are picked based on empirical
> board testing.
>
> Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxxxxxxxxx>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
Konrad