]> git.itanic.dy.fi Git - linux-stable/commit
thermal/drivers/mediatek/lvts_thermal: Manage threshold between sensors
authorNícolas F. R. A. Prado <nfraprado@collabora.com>
Thu, 6 Jul 2023 15:37:37 +0000 (11:37 -0400)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Wed, 16 Aug 2023 07:54:32 +0000 (09:54 +0200)
commit2bba1acf7a4cbe62abbb4c686e0414209ec5943b
tree01b9f60ed5e8fdb858aeae09fd5a2e40f8832e23
parent77354eaef8218bc40d6b37e783b0b8dcca22a7d9
thermal/drivers/mediatek/lvts_thermal: Manage threshold between sensors

Each LVTS thermal controller can have up to four sensors, each capable
of triggering its own interrupt when its measured temperature crosses
the configured threshold. The threshold for each sensor is handled
separately by the thermal framework, since each one is registered with
its own thermal zone and trips. However, the temperature thresholds are
configured on the controller, and therefore are shared between all
sensors on that controller.

When the temperature measured by the sensors is different enough to
cause the thermal framework to configure different thresholds for each
one, interrupts start triggering on sensors outside the last threshold
configured.

To address the issue, track the thresholds required by each sensor and
only actually set the highest one in the hardware, and disable
interrupts for all sensors outside the current configured range.

Fixes: f5f633b18234 ("thermal/drivers/mediatek: Add the Low Voltage Thermal Sensor driver")
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20230706153823.201943-7-nfraprado@collabora.com
drivers/thermal/mediatek/lvts_thermal.c