Message ID | 20230706153823.201943-5-nfraprado@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | thermal/drivers/mediatek/lvts_thermal: Fixes to the interrupt handling | expand |
Il 06/07/23 17:37, Nícolas F. R. A. Prado ha scritto: > 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>
On 06/07/2023 17:37, Nícolas F. R. A. Prado wrote: > 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. Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
diff --git a/drivers/thermal/mediatek/lvts_thermal.c b/drivers/thermal/mediatek/lvts_thermal.c index e7cbfe0426b5..e6dd4d120e54 100644 --- a/drivers/thermal/mediatek/lvts_thermal.c +++ b/drivers/thermal/mediatek/lvts_thermal.c @@ -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
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> --- (no changes since v2) Changes in v2: - Reworded commit and changed flag to use offset interrupts instead drivers/thermal/mediatek/lvts_thermal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)