diff options
author | Gadiyar, Anand <gadiyar@ti.com> | 2008-03-08 14:49:13 +0100 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2008-03-20 15:57:54 +0100 |
commit | 026a6fef55da7239ca0970000eb62b9eab5ba281 (patch) | |
tree | 8b3076d25ef7967b3b8fd958dd37d9912636b6f2 /arch/arm | |
parent | ARM: OMAP: Fix chain_a_transfer return value (diff) | |
download | linux-026a6fef55da7239ca0970000eb62b9eab5ba281.tar.xz linux-026a6fef55da7239ca0970000eb62b9eab5ba281.zip |
ARM: OMAP: Fix DMA CLINK mask, clear spurious interrupt
Fix CLINK mask, clear spurious interrupt.
Signed-off-by: Gadiyar, Anand <gadiyar@ti.com>
Signed-off-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/plat-omap/dma.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index 06293bfcc831..793740686be2 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c @@ -1020,12 +1020,12 @@ static void create_dma_lch_chain(int lch_head, int lch_queue) } w = OMAP_DMA_CLNK_CTRL_REG(lch_head); - w &= ~(0x0f); + w &= ~(0x1f); w |= lch_queue; OMAP_DMA_CLNK_CTRL_REG(lch_head) = w; w = OMAP_DMA_CLNK_CTRL_REG(lch_queue); - w &= ~(0x0f); + w &= ~(0x1f); w |= (dma_chan[lch_queue].next_linked_ch); OMAP_DMA_CLNK_CTRL_REG(lch_queue) = w; } @@ -1663,6 +1663,7 @@ static int omap2_dma_handle_ch(int ch) if (!status) { if (printk_ratelimit()) printk(KERN_WARNING "Spurious DMA IRQ for lch %d\n", ch); + omap_writel(1 << ch, OMAP_DMA4_IRQSTATUS_L0); return 0; } if (unlikely(dma_chan[ch].dev_id == -1)) { |