> -----Original Message----- > From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap- > owner@xxxxxxxxxxxxxxx] On Behalf Of Mathias Nyman > Sent: Monday, October 25, 2010 8:05 PM > To: linux-omap@xxxxxxxxxxxxxxx > Cc: Mathias Nyman > Subject: [PATCH] omap: dma: Add read-back to DMA interrupt handler to > avoid spurious interrupts > > Flush the writes to IRQSTATUS_L0 register in the DMA interrupt handler by > reading the register > directly after write. This prevents the spurious DMA interrupts noted when > using VDD_OPP 1 > Good fix Mathias. Actually we should also clear other status lines as well when used with multiple master initiator scenario's. But that need some additional fixes as well. > Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxx> Acked-by: Santosh Shilimkar <Santosh.shilimkar@xxxxxx> > --- > arch/arm/plat-omap/dma.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c > index f5c5b8d..2c28265 100644 > --- a/arch/arm/plat-omap/dma.c > +++ b/arch/arm/plat-omap/dma.c > @@ -1983,6 +1983,8 @@ static int omap2_dma_handle_ch(int ch) > > dma_write(OMAP2_DMA_CSR_CLEAR_MASK, CSR(ch)); > dma_write(1 << ch, IRQSTATUS_L0); > + /* read back the register to flush the write */ > + dma_read(IRQSTATUS_L0); > > /* If the ch is not chained then chain_id will be -1 */ > if (dma_chan[ch].chain_id != -1) { > -- > 1.5.6.5 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html