dma: mmp_tdma: disable irq when disabling dma channel
authorQiao Zhou <zhouqiao@marvell.com>
Sat, 15 Jun 2013 04:51:48 +0000 (12:51 +0800)
committerVinod Koul <vinod.koul@intel.com>
Fri, 5 Jul 2013 06:10:48 +0000 (11:40 +0530)
mask dma irq when disabling dma channel, so that interrupt status
will not be set and interrupt won't come again.

Signed-off-by: Qiao Zhou <zhouqiao@marvell.com>
Acked-by: Zhangfei Gao <zhangfei.gao@gmail.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/mmp_tdma.c

index 43d5a6c3329772e6680a908b2bfea2994c4fa9b0..9b9366537d73e87c2e6a81113eaa3f0025ae6330 100644 (file)
@@ -154,6 +154,10 @@ static void mmp_tdma_disable_chan(struct mmp_tdma_chan *tdmac)
 {
        writel(readl(tdmac->reg_base + TDCR) & ~TDCR_CHANEN,
                                        tdmac->reg_base + TDCR);
+
+       /* disable irq */
+       writel(0, tdmac->reg_base + TDIMR);
+
        tdmac->status = DMA_SUCCESS;
 }