diff options
author | Qiao Zhou <zhouqiao@marvell.com> | 2013-06-15 06:51:48 +0200 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2013-07-05 08:10:48 +0200 |
commit | 8e3c518fba4f2ddd192171cbd7b23ec26900bf6b (patch) | |
tree | ab00a783582820a11a5b2a7d2d73bb00d158ae4a /drivers/dma | |
parent | dmaengine: PL08x: Avoid collisions with get_signal() macro (diff) | |
download | linux-8e3c518fba4f2ddd192171cbd7b23ec26900bf6b.tar.xz linux-8e3c518fba4f2ddd192171cbd7b23ec26900bf6b.zip |
dma: mmp_tdma: disable irq when disabling dma channel
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>
Diffstat (limited to 'drivers/dma')
-rw-r--r-- | drivers/dma/mmp_tdma.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/dma/mmp_tdma.c b/drivers/dma/mmp_tdma.c index 43d5a6c33297..9b9366537d73 100644 --- a/drivers/dma/mmp_tdma.c +++ b/drivers/dma/mmp_tdma.c @@ -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; } |