]> git.itanic.dy.fi Git - linux-stable/commitdiff
thermal/drivers/mediatek/lvts_thermal: Disable undesired interrupts
authorNícolas F. R. A. Prado <nfraprado@collabora.com>
Thu, 6 Jul 2023 15:37:35 +0000 (11:37 -0400)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Wed, 16 Aug 2023 07:54:31 +0000 (09:54 +0200)
Out of the many interrupts supported by the hardware, the only ones of
interest to the driver currently are:
* The temperature went over the high offset threshold, for any of the
  sensors
* The temperature went below the low offset threshold, for any of the
  sensors
* The temperature went over the stage3 threshold

These are the only thresholds configured by the driver through the
OFFSETH, OFFSETL, and PROTTC registers, respectively.

The current interrupt mask in LVTS_MONINT_CONF, enables many more
interrupts, including data ready on sensors for both filtered and
immediate mode. These are not only not handled by the driver, but they
are also triggered too often, causing unneeded overhead. Disable these
unnecessary interrupts.

The meaning of each bit can be seen in the comment describing
LVTS_MONINTST in the IRQ handler.

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: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20230706153823.201943-5-nfraprado@collabora.com
drivers/thermal/mediatek/lvts_thermal.c

index 978316a45060cadc5b742d1dc3291acdb7863a9b..72c848f9de4c9bc9883b989f3575fa11d0dbcd64 100644 (file)
@@ -65,7 +65,7 @@
 #define LVTS_HW_FILTER                         0x2
 #define LVTS_TSSEL_CONF                                0x13121110
 #define LVTS_CALSCALE_CONF                     0x300
-#define LVTS_MONINT_CONF                       0x9FBF7BDE
+#define LVTS_MONINT_CONF                       0x8300318C
 
 #define LVTS_INT_SENSOR0                       0x0009001F
 #define LVTS_INT_SENSOR1                       0x001203E0