All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Nícolas F. R. A. Prado" <nfraprado@collabora.com>
To: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: "Alexandre Bailon" <abailon@baylibre.com>,
	"Balsam CHIHI" <bchihi@baylibre.com>,
	"AngeloGioacchino Del Regno"
	<angelogioacchino.delregno@collabora.com>,
	"Chen-Yu Tsai" <wenst@chromium.org>,
	"Alexandre Mergnat" <amergnat@baylibre.com>,
	kernel@collabora.com,
	"Nícolas F. R. A. Prado" <nfraprado@collabora.com>,
	"Amit Kucheria" <amitk@kernel.org>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	"Zhang Rui" <rui.zhang@intel.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org,
	linux-pm@vger.kernel.org
Subject: [PATCH v3 4/6] thermal/drivers/mediatek/lvts_thermal: Disable undesired interrupts
Date: Thu,  6 Jul 2023 11:37:35 -0400	[thread overview]
Message-ID: <20230706153823.201943-5-nfraprado@collabora.com> (raw)
In-Reply-To: <20230706153823.201943-1-nfraprado@collabora.com>

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(-)

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
-- 
2.41.0


WARNING: multiple messages have this Message-ID (diff)
From: "Nícolas F. R. A. Prado" <nfraprado@collabora.com>
To: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: "Alexandre Bailon" <abailon@baylibre.com>,
	"Balsam CHIHI" <bchihi@baylibre.com>,
	"AngeloGioacchino Del Regno"
	<angelogioacchino.delregno@collabora.com>,
	"Chen-Yu Tsai" <wenst@chromium.org>,
	"Alexandre Mergnat" <amergnat@baylibre.com>,
	kernel@collabora.com,
	"Nícolas F. R. A. Prado" <nfraprado@collabora.com>,
	"Amit Kucheria" <amitk@kernel.org>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	"Zhang Rui" <rui.zhang@intel.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org,
	linux-pm@vger.kernel.org
Subject: [PATCH v3 4/6] thermal/drivers/mediatek/lvts_thermal: Disable undesired interrupts
Date: Thu,  6 Jul 2023 11:37:35 -0400	[thread overview]
Message-ID: <20230706153823.201943-5-nfraprado@collabora.com> (raw)
In-Reply-To: <20230706153823.201943-1-nfraprado@collabora.com>

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(-)

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
-- 
2.41.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2023-07-06 15:39 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-06 15:37 [PATCH v3 0/6] thermal/drivers/mediatek/lvts_thermal: Fixes to the interrupt handling Nícolas F. R. A. Prado
2023-07-06 15:37 ` Nícolas F. R. A. Prado
2023-07-06 15:37 ` [PATCH v3 1/6] thermal/drivers/mediatek/lvts_thermal: Handle IRQ on all controllers Nícolas F. R. A. Prado
2023-07-06 15:37   ` Nícolas F. R. A. Prado
2023-07-07 13:46   ` Alexandre Mergnat
2023-07-07 13:46     ` Alexandre Mergnat
2023-07-06 15:37 ` [PATCH v3 2/6] thermal/drivers/mediatek/lvts_thermal: Honor sensors in immediate mode Nícolas F. R. A. Prado
2023-07-06 15:37   ` Nícolas F. R. A. Prado
2023-07-07 13:50   ` Alexandre Mergnat
2023-07-07 13:50     ` Alexandre Mergnat
2023-07-06 15:37 ` [PATCH v3 3/6] thermal/drivers/mediatek/lvts_thermal: Use offset threshold for IRQ Nícolas F. R. A. Prado
2023-07-06 15:37   ` Nícolas F. R. A. Prado
2023-07-07  8:21   ` AngeloGioacchino Del Regno
2023-07-07  8:21     ` AngeloGioacchino Del Regno
2023-07-07 13:54   ` Alexandre Mergnat
2023-07-07 13:54     ` Alexandre Mergnat
2023-07-06 15:37 ` Nícolas F. R. A. Prado [this message]
2023-07-06 15:37   ` [PATCH v3 4/6] thermal/drivers/mediatek/lvts_thermal: Disable undesired interrupts Nícolas F. R. A. Prado
2023-07-07  8:21   ` AngeloGioacchino Del Regno
2023-07-07  8:21     ` AngeloGioacchino Del Regno
2023-07-07 13:58   ` Alexandre Mergnat
2023-07-07 13:58     ` Alexandre Mergnat
2023-07-06 15:37 ` [PATCH v3 5/6] thermal/drivers/mediatek/lvts_thermal: Don't leave threshold zeroed Nícolas F. R. A. Prado
2023-07-06 15:37   ` Nícolas F. R. A. Prado
2023-07-07  8:22   ` AngeloGioacchino Del Regno
2023-07-07  8:22     ` AngeloGioacchino Del Regno
2023-07-07 14:05   ` Alexandre Mergnat
2023-07-07 14:05     ` Alexandre Mergnat
2023-07-06 15:37 ` [PATCH v3 6/6] thermal/drivers/mediatek/lvts_thermal: Manage threshold between sensors Nícolas F. R. A. Prado
2023-07-06 15:37   ` Nícolas F. R. A. Prado
2023-07-07  8:22   ` AngeloGioacchino Del Regno
2023-07-07  8:22     ` AngeloGioacchino Del Regno
2023-07-07 14:11   ` Alexandre Mergnat
2023-07-07 14:11     ` Alexandre Mergnat
2023-07-13  9:04 ` [PATCH v3 0/6] thermal/drivers/mediatek/lvts_thermal: Fixes to the interrupt handling Daniel Lezcano
2023-07-13  9:04   ` Daniel Lezcano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230706153823.201943-5-nfraprado@collabora.com \
    --to=nfraprado@collabora.com \
    --cc=abailon@baylibre.com \
    --cc=amergnat@baylibre.com \
    --cc=amitk@kernel.org \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=bchihi@baylibre.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=kernel@collabora.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=matthias.bgg@gmail.com \
    --cc=rafael@kernel.org \
    --cc=rui.zhang@intel.com \
    --cc=wenst@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.