diff options
author | Gadiyar, Anand <gadiyar@ti.com> | 2008-03-08 08:49:13 -0500 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2008-03-20 10:57:54 -0400 |
commit | 026a6fef55da7239ca0970000eb62b9eab5ba281 (patch) | |
tree | 8b3076d25ef7967b3b8fd958dd37d9912636b6f2 /arch/arm | |
parent | f4b6a7ef6c64d84e252d32df631813bd09ea3756 (diff) |
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) | |||
1020 | } | 1020 | } |
1021 | 1021 | ||
1022 | w = OMAP_DMA_CLNK_CTRL_REG(lch_head); | 1022 | w = OMAP_DMA_CLNK_CTRL_REG(lch_head); |
1023 | w &= ~(0x0f); | 1023 | w &= ~(0x1f); |
1024 | w |= lch_queue; | 1024 | w |= lch_queue; |
1025 | OMAP_DMA_CLNK_CTRL_REG(lch_head) = w; | 1025 | OMAP_DMA_CLNK_CTRL_REG(lch_head) = w; |
1026 | 1026 | ||
1027 | w = OMAP_DMA_CLNK_CTRL_REG(lch_queue); | 1027 | w = OMAP_DMA_CLNK_CTRL_REG(lch_queue); |
1028 | w &= ~(0x0f); | 1028 | w &= ~(0x1f); |
1029 | w |= (dma_chan[lch_queue].next_linked_ch); | 1029 | w |= (dma_chan[lch_queue].next_linked_ch); |
1030 | OMAP_DMA_CLNK_CTRL_REG(lch_queue) = w; | 1030 | OMAP_DMA_CLNK_CTRL_REG(lch_queue) = w; |
1031 | } | 1031 | } |
@@ -1663,6 +1663,7 @@ static int omap2_dma_handle_ch(int ch) | |||
1663 | if (!status) { | 1663 | if (!status) { |
1664 | if (printk_ratelimit()) | 1664 | if (printk_ratelimit()) |
1665 | printk(KERN_WARNING "Spurious DMA IRQ for lch %d\n", ch); | 1665 | printk(KERN_WARNING "Spurious DMA IRQ for lch %d\n", ch); |
1666 | omap_writel(1 << ch, OMAP_DMA4_IRQSTATUS_L0); | ||
1666 | return 0; | 1667 | return 0; |
1667 | } | 1668 | } |
1668 | if (unlikely(dma_chan[ch].dev_id == -1)) { | 1669 | if (unlikely(dma_chan[ch].dev_id == -1)) { |