All of lore.kernel.org
 help / color / mirror / Atom feed
From: Amit Daniel Kachhap <amit.daniel@samsung.com>
To: linux-pm@vger.kernel.org, Zhang Rui <rui.zhang@intel.com>,
	Eduardo Valentin <eduardo.valentin@ti.com>
Cc: linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org,
	amit.kachhap@gmail.com, Kukjin Kim <kgene.kim@samsung.com>,
	jonghwa3.lee@samsung.com
Subject: [PATCH V5 12/30] thermal: exynos: Fix to clear only the generated interrupts
Date: Tue, 11 Jun 2013 18:23:22 +0530	[thread overview]
Message-ID: <1370955220-2949-13-git-send-email-amit.daniel@samsung.com> (raw)
In-Reply-To: <1370955220-2949-1-git-send-email-amit.daniel@samsung.com>

This patch uses the TMU status register to know the generated interrupts
and only clear them in the interrupt handler.

Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Amit Daniel Kachhap <amit.daniel@samsung.com>
---
 drivers/thermal/samsung/exynos_tmu.c      |   11 +++++------
 drivers/thermal/samsung/exynos_tmu_data.c |    2 ++
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c
index 33f494e..f6f63ca 100644
--- a/drivers/thermal/samsung/exynos_tmu.c
+++ b/drivers/thermal/samsung/exynos_tmu.c
@@ -351,17 +351,16 @@ static void exynos_tmu_work(struct work_struct *work)
 			struct exynos_tmu_data, irq_work);
 	struct exynos_tmu_platform_data *pdata = data->pdata;
 	const struct exynos_tmu_registers *reg = pdata->registers;
+	unsigned int val_irq;
 
 	exynos_report_trigger();
 	mutex_lock(&data->lock);
 	clk_enable(data->clk);
 
-	if (data->soc == SOC_ARCH_EXYNOS)
-		writel((reg->inten_rise_mask << reg->inten_rise_shift) |
-			(reg->inten_fall_mask << reg->inten_fall_shift),
-				data->base + reg->tmu_intclear);
-	else
-		writel(reg->inten_rise_mask, data->base + reg->tmu_intclear);
+	/* TODO: take action based on particular interrupt */
+	val_irq = readl(data->base + reg->tmu_intstat);
+	/* clear the interrupts */
+	writel(val_irq, data->base + reg->tmu_intclear);
 
 	clk_disable(data->clk);
 	mutex_unlock(&data->lock);
diff --git a/drivers/thermal/samsung/exynos_tmu_data.c b/drivers/thermal/samsung/exynos_tmu_data.c
index e7cb1cc..7fcf183 100644
--- a/drivers/thermal/samsung/exynos_tmu_data.c
+++ b/drivers/thermal/samsung/exynos_tmu_data.c
@@ -45,6 +45,7 @@ static const struct exynos_tmu_registers exynos4210_tmu_registers = {
 	.inten_rise1_shift = EXYNOS_TMU_INTEN_RISE1_SHIFT,
 	.inten_rise2_shift = EXYNOS_TMU_INTEN_RISE2_SHIFT,
 	.inten_rise3_shift = EXYNOS_TMU_INTEN_RISE3_SHIFT,
+	.tmu_intstat = EXYNOS_TMU_REG_INTSTAT,
 	.tmu_intclear = EXYNOS_TMU_REG_INTCLEAR,
 };
 struct exynos_tmu_platform_data const exynos4210_default_tmu_data = {
@@ -112,6 +113,7 @@ static const struct exynos_tmu_registers exynos5250_tmu_registers = {
 	.inten_rise2_shift = EXYNOS_TMU_INTEN_RISE2_SHIFT,
 	.inten_rise3_shift = EXYNOS_TMU_INTEN_RISE3_SHIFT,
 	.inten_fall0_shift = EXYNOS_TMU_INTEN_FALL0_SHIFT,
+	.tmu_intstat = EXYNOS_TMU_REG_INTSTAT,
 	.tmu_intclear = EXYNOS_TMU_REG_INTCLEAR,
 	.emul_con = EXYNOS_EMUL_CON,
 	.emul_temp_shift = EXYNOS_EMUL_DATA_SHIFT,
-- 
1.7.1


  parent reply	other threads:[~2013-06-11 12:54 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-11 12:53 [PATCH V5 00/30] thermal: exynos: Add thermal driver for exynos5440 Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 01/30] thermal: exynos: Moving exynos thermal files into samsung directory Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 02/30] thermal: exynos: Add ARCH_HAS_TMU config to know the supported soc's Amit Daniel Kachhap
2013-06-17  3:05   ` Eduardo Valentin
2013-06-17  3:05     ` Eduardo Valentin
2013-06-17  3:46     ` amit daniel kachhap
2013-06-11 12:53 ` [PATCH V5 03/30] thermal: exynos: Remove CPU_THERMAL dependency for using TMU driver Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 04/30] thermal: exynos: Bifurcate exynos thermal common and tmu controller code Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 05/30] thermal: exynos: Rename exynos_thermal.c to exynos_tmu.c Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 06/30] thermal: exynos: Move exynos_thermal.h from include/* to driver/* folder Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 07/30] thermal: exynos: Bifurcate exynos tmu driver and configuration data Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 08/30] thermal: exynos: Add missing definations and code cleanup Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 09/30] thermal: exynos: Add extra entries in the tmu platform data Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 10/30] thermal: exynos: Move register definitions from driver to data file Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 11/30] thermal: exynos: Support thermal tripping Amit Daniel Kachhap
2013-06-11 12:53 ` Amit Daniel Kachhap [this message]
2013-06-11 12:53 ` [PATCH V5 13/30] thermal: exynos: Add support for instance based register/unregister Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 14/30] thermal: exynos: Modify private_data to appropriate name driver_data Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 15/30] thermal: exynos: Return success even if no cooling data supplied Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 16/30] thermal: exynos: Make the zone handling use trip information Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 17/30] thermal: exynos: Remove non DT based support Amit Daniel Kachhap
2013-08-07  9:23   ` Naveen Krishna Ch
2013-06-11 12:53 ` [PATCH V5 18/30] thermal: exynos: Add support to handle many instances of TMU Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 19/30] thermal: exynos: Add TMU features to check instead of using SOC type Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 20/30] thermal: exynos: use device resource management infrastructure Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 21/30] ARM: dts: thermal: exynos4: Add documentation for Exynos SoC thermal bindings Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 22/30] thermal: exynos: Add support to access common register for multistance Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 23/30] thermal: exynos: Add driver support for exynos5440 TMU sensor Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 24/30] thermal: exynos: Add thermal configuration data " Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 25/30] thermal: exynos: Fix to set the second point correction value Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 26/30] thermal: exynos: Add hardware mode thermal calibration support Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 27/30] Documentation: thermal: Explain the exynos thermal driver model Amit Daniel Kachhap
2013-06-11 17:22   ` Rob Landley
2013-06-14  4:04     ` amit daniel kachhap
2013-06-11 12:53 ` [PATCH V5 28/30] thermal: exynos: Support for TMU regulator defined at device tree Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 29/30] ARM: dts: Add device tree node for exynos5440 TMU controller Amit Daniel Kachhap
2013-06-11 12:53 ` [PATCH V5 30/30] arm: exynos: enable ARCH_HAS_TMU Amit Daniel Kachhap
2013-06-12  4:09 ` [PATCH V5 00/30] thermal: exynos: Add thermal driver for exynos5440 jonghwa3.lee

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=1370955220-2949-13-git-send-email-amit.daniel@samsung.com \
    --to=amit.daniel@samsung.com \
    --cc=amit.kachhap@gmail.com \
    --cc=eduardo.valentin@ti.com \
    --cc=jonghwa3.lee@samsung.com \
    --cc=kgene.kim@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=rui.zhang@intel.com \
    /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.