From: Tony Lindgren <tony@atomide.com>
To: linux-kernel@vger.kernel.org
Cc: Juha Yrjola <juha.yrjola@solidboot.com>,
Tony Lindgren <tony@atomide.com>
Subject: [PATCH 1/18] ARM: OMAP: Add DMA IRQ sanity checks
Date: Mon, 9 Apr 2007 17:22:06 -0400 [thread overview]
Message-ID: <117615374683-git-send-email-tony@atomide.com> (raw)
In-Reply-To: <11761537431635-git-send-email-tony@atomide.com>
From: Juha Yrjola <juha.yrjola@solidboot.com>
Add DMA IRQ sanity checks
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/plat-omap/dma.c | 25 ++++++++++++++++++-------
1 files changed, 18 insertions(+), 7 deletions(-)
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -925,10 +925,17 @@ static int omap2_dma_handle_ch(int ch)
{
u32 status = OMAP_DMA_CSR_REG(ch);
- if (!status)
+ if (!status) {
+ if (printk_ratelimit())
+ printk(KERN_WARNING "Spurious DMA IRQ for lch %d\n", ch);
return 0;
- if (unlikely(dma_chan[ch].dev_id == -1))
+ }
+ if (unlikely(dma_chan[ch].dev_id == -1)) {
+ if (printk_ratelimit())
+ printk(KERN_WARNING "IRQ %04x for non-allocated DMA"
+ "channel %d\n", status, ch);
return 0;
+ }
if (unlikely(status & OMAP_DMA_DROP_IRQ))
printk(KERN_INFO
"DMA synchronization event drop occurred with device "
@@ -959,11 +966,15 @@ static irqreturn_t omap2_dma_irq_handler(int irq, void *dev_id)
int i;
val = omap_readl(OMAP_DMA4_IRQSTATUS_L0);
-
- for (i = 1; i <= OMAP_LOGICAL_DMA_CH_COUNT; i++) {
- int active = val & (1 << (i - 1));
- if (active)
- omap2_dma_handle_ch(i - 1);
+ if (val == 0) {
+ if (printk_ratelimit())
+ printk(KERN_WARNING "Spurious DMA IRQ\n");
+ return IRQ_HANDLED;
+ }
+ for (i = 0; i < OMAP_LOGICAL_DMA_CH_COUNT && val != 0; i++) {
+ if (val & 1)
+ omap2_dma_handle_ch(i);
+ val >>= 1;
}
return IRQ_HANDLED;
--
1.4.4.2
next prev parent reply other threads:[~2007-04-09 21:22 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-09 21:22 [PATCH 0/18] ARM: OMAP: Updates for common code shared between OMAP1 and OMAP2 Tony Lindgren
2007-04-09 21:22 ` Tony Lindgren [this message]
2007-04-09 21:22 ` [PATCH 2/18] ARM: OMAP: Add function to print clock usecounts Tony Lindgren
2007-04-09 21:22 ` [PATCH 3/18] ARM: OMAP: FB: add controller platform data Tony Lindgren
2007-04-09 21:22 ` [PATCH 4/18] ARM: OMAP: h4 must have blinky leds!! Tony Lindgren
2007-04-09 21:22 ` [PATCH 5/18] ARM: OMAP: Sync headers with linux-omap Tony Lindgren
2007-04-09 21:22 ` [PATCH 6/18] ARM: OMAP: Sync core code " Tony Lindgren
2007-04-09 21:22 ` [PATCH 7/18] ARM: OMAP: Avoid updating system time for sub-jiffy interrupts Tony Lindgren
2007-04-09 21:22 ` [PATCH 8/18] ARM: OMAP: Add mailbox support for IVA Tony Lindgren
2007-04-09 21:22 ` [PATCH 9/18] ARM: OMAP: Fix gpmc header Tony Lindgren
2007-04-09 21:22 ` [PATCH 10/18] ARM: OMAP: Fix warning in timer32k.c Tony Lindgren
2007-04-09 21:22 ` [PATCH 11/18] ARM: OMAP: Update timer32k.c to compile Tony Lindgren
2007-04-09 21:22 ` [PATCH 12/18] ARM: OMAP: Mostly cosmetic to sync up with linux-omap tree Tony Lindgren
2007-04-09 21:22 ` [PATCH 13/18] ARM: OMAP: Sync framebuffer headers with N800 tree Tony Lindgren
2007-04-09 21:22 ` [PATCH 14/18] ARM: OMAP: FB sync with N800 tree (support for dynamic SRAM allocations) Tony Lindgren
2007-04-09 21:22 ` [PATCH 15/18] ARM: OMAP: add SoSSI clock (call propagate_rate for childrens) Tony Lindgren
2007-04-09 21:22 ` [PATCH 16/18] ARM: OMAP: partial LED fixes Tony Lindgren
2007-04-09 21:22 ` [PATCH 17/18] ARM: OMAP: restore CONFIG_GENERIC_TIME Tony Lindgren
2007-04-09 21:22 ` [PATCH 18/18] ARM: OMAP: Fix GCC-reported compile time bug Tony Lindgren
2007-04-16 21:39 ` [PATCH 8/18] ARM: OMAP: Add mailbox support for IVA 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=117615374683-git-send-email-tony@atomide.com \
--to=tony@atomide.com \
--cc=juha.yrjola@solidboot.com \
--cc=linux-kernel@vger.kernel.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.