All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: linux-arm-kernel@lists.infradead.org
Cc: Santosh Shilimkar <Santosh.shilimkar@ti.com>,
	linux-omap@vger.kernel.org,
	Mathias Nyman <mathias.nyman@nokia.com>
Subject: [PATCH 2/4] omap: dma: Add read-back to DMA interrupt handler to avoid spuriousinterrupts
Date: Thu, 11 Nov 2010 17:03:27 -0800	[thread overview]
Message-ID: <20101112010327.3827.3366.stgit@baageli.muru.com> (raw)
In-Reply-To: <20101112010245.3827.75329.stgit@baageli.muru.com>

From: Mathias Nyman <mathias.nyman@nokia.com>

Flush the writes to IRQSTATUS_L0 register in the DMA interrupt handler by reading the register
directly after write. This prevents the spurious DMA interrupts noted when using VDD_OPP 1

Signed-off-by: Mathias Nyman <mathias.nyman@nokia.com>
Acked-by: Santosh Shilimkar <Santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/plat-omap/dma.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index f5c5b8d..2c28265 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -1983,6 +1983,8 @@ static int omap2_dma_handle_ch(int ch)
 
 	dma_write(OMAP2_DMA_CSR_CLEAR_MASK, CSR(ch));
 	dma_write(1 << ch, IRQSTATUS_L0);
+	/* read back the register to flush the write */
+	dma_read(IRQSTATUS_L0);
 
 	/* If the ch is not chained then chain_id will be -1 */
 	if (dma_chan[ch].chain_id != -1) {


WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/4] omap: dma: Add read-back to DMA interrupt handler to avoid spuriousinterrupts
Date: Thu, 11 Nov 2010 17:03:27 -0800	[thread overview]
Message-ID: <20101112010327.3827.3366.stgit@baageli.muru.com> (raw)
In-Reply-To: <20101112010245.3827.75329.stgit@baageli.muru.com>

From: Mathias Nyman <mathias.nyman@nokia.com>

Flush the writes to IRQSTATUS_L0 register in the DMA interrupt handler by reading the register
directly after write. This prevents the spurious DMA interrupts noted when using VDD_OPP 1

Signed-off-by: Mathias Nyman <mathias.nyman@nokia.com>
Acked-by: Santosh Shilimkar <Santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/plat-omap/dma.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index f5c5b8d..2c28265 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -1983,6 +1983,8 @@ static int omap2_dma_handle_ch(int ch)
 
 	dma_write(OMAP2_DMA_CSR_CLEAR_MASK, CSR(ch));
 	dma_write(1 << ch, IRQSTATUS_L0);
+	/* read back the register to flush the write */
+	dma_read(IRQSTATUS_L0);
 
 	/* If the ch is not chained then chain_id will be -1 */
 	if (dma_chan[ch].chain_id != -1) {

  parent reply	other threads:[~2010-11-12  1:03 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-12  1:03 [PATCH 0/4] omap fixes for v2.6.37-rc1 Tony Lindgren
2010-11-12  1:03 ` Tony Lindgren
2010-11-12  1:03 ` [PATCH 1/4] OMAP2: Devkit8000: Fix mmc regulator failure Tony Lindgren
2010-11-12  1:03   ` Tony Lindgren
2010-11-12  1:03 ` Tony Lindgren [this message]
2010-11-12  1:03   ` [PATCH 2/4] omap: dma: Add read-back to DMA interrupt handler to avoid spuriousinterrupts Tony Lindgren
2010-11-12 17:48   ` Tony Lindgren
2010-11-12  1:03 ` [PATCH 3/4] OMAP1: camera.h: add missing include Tony Lindgren
2010-11-12  1:03   ` Tony Lindgren
2010-11-12  1:03 ` [PATCH 4/4] arm: omap1: devices: need to return with a value Tony Lindgren
2010-11-12  1:03   ` Tony Lindgren

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=20101112010327.3827.3366.stgit@baageli.muru.com \
    --to=tony@atomide.com \
    --cc=Santosh.shilimkar@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=mathias.nyman@nokia.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.