From: Tony Lindgren <tony@atomide.com>
To: linux-arm-kernel@lists.arm.linux.org.uk
Cc: linux-omap@vger.kernel.org, Santosh Shilimkar <santosh.shilimkar@ti.com>
Subject: [PATCH 4/6] ARM: OMAP3: DMA: Fix for sDMA Errata 1.113
Date: Fri, 05 Dec 2008 12:05:09 -0800 [thread overview]
Message-ID: <20081205200509.31125.57671.stgit@localhost> (raw)
In-Reply-To: <20081205195846.31125.21080.stgit@localhost>
From: Santosh Shilimkar <santosh.shilimkar@ti.com>
SDMA channel is not disabled after transaction error. So explicitly disable it.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked By : Nishant kamat <nskamat@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/plat-omap/dma.c | 15 ++++++++++++++-
1 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index 50f8b4a..3df3740 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -1848,9 +1848,22 @@ static int omap2_dma_handle_ch(int ch)
printk(KERN_INFO
"DMA synchronization event drop occurred with device "
"%d\n", dma_chan[ch].dev_id);
- if (unlikely(status & OMAP2_DMA_TRANS_ERR_IRQ))
+ if (unlikely(status & OMAP2_DMA_TRANS_ERR_IRQ)) {
printk(KERN_INFO "DMA transaction error with device %d\n",
dma_chan[ch].dev_id);
+ if (cpu_class_is_omap2()) {
+ /* Errata: sDMA Channel is not disabled
+ * after a transaction error. So we explicitely
+ * disable the channel
+ */
+ u32 ccr;
+
+ ccr = dma_read(CCR(ch));
+ ccr &= ~OMAP_DMA_CCR_EN;
+ dma_write(ccr, CCR(ch));
+ dma_chan[ch].flags &= ~OMAP_DMA_ACTIVE;
+ }
+ }
if (unlikely(status & OMAP2_DMA_SECURE_ERR_IRQ))
printk(KERN_INFO "DMA secure error with device %d\n",
dma_chan[ch].dev_id);
next prev parent reply other threads:[~2008-12-05 20:05 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-05 20:00 [PATCH 0/6] Omap3 updates for 2.6.29 merge window Tony Lindgren
2008-12-05 20:01 ` [PATCH 1/6] ARM: OMAP3: Warn about spurious interrupts Tony Lindgren
2008-12-05 20:02 ` [PATCH 2/6] ARM: OMAP3: Add OMAP34xx pin multiplexing into I2C bus registration helper Tony Lindgren
2008-12-05 20:03 ` [PATCH 3/6] ARM: OMAP3: LDP: Add Ethernet device support to make ldp boot succeess Tony Lindgren
2008-12-05 20:05 ` Tony Lindgren [this message]
2008-12-05 20:06 ` [PATCH 5/6] ARM: OMAP3: Add basic support for Pandora handheld console Tony Lindgren
2008-12-07 11:35 ` Russell King - ARM Linux
2008-12-07 22:38 ` [PATCH 5/6] ARM: OMAP3: Add basic support for Pandora handheld console, v2 Tony Lindgren
2008-12-05 20:07 ` [PATCH 6/6] ARM: OMAP3: Pin multiplexing updates for 24xx and 34xx 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=20081205200509.31125.57671.stgit@localhost \
--to=tony@atomide.com \
--cc=linux-arm-kernel@lists.arm.linux.org.uk \
--cc=linux-omap@vger.kernel.org \
--cc=santosh.shilimkar@ti.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.