ARM: OMAP: Dispatch only relevant DMA interrupts
authorSantosh Shilimkar <santosh.shilimkar@ti.com>
Tue, 24 Mar 2009 01:07:49 +0000 (18:07 -0700)
committerTony Lindgren <tony@atomide.com>
Tue, 24 Mar 2009 01:51:20 +0000 (18:51 -0700)
commit52176e70837d56cd238d6edc04cc403f1ffa86c6
tree2904080fdc840989a0cea9c9dff340398b6e24cb
parent2263f0222e836c7b2c144e0546a2701661e2f517
ARM: OMAP: Dispatch only relevant DMA interrupts

This fixes the spurious interrupt issue on a DMA channel.

In OMAP sDMA, contrast to the SDMA.DMA4_CSRi registers, the
SDMA.DMA4_IRQSTATUS_Lj registers are updated regardless of
the corresponding bits in the SDMA.DMA4_IRQENABLE_Lj registers.
Since there are four sDMA interrupt lines and if more than one
line is actively used by two concurrently running sDMA softwares
modules,then the spurious interrupt can be observed on the other
lines.

Fix in this patch will only dispatch the relevant and enabled
interrupts on a particular line thus perevting spurious IRQ.

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