* [PATCH V2] dma: mmp_tdma: disable irq when disabling dma channel
@ 2013-06-15 4:51 Qiao Zhou
2013-06-15 4:51 ` Qiao Zhou
0 siblings, 1 reply; 4+ messages in thread
From: Qiao Zhou @ 2013-06-15 4:51 UTC (permalink / raw)
To: djbw, vinod.koul, zhangfei.gao, linux-kernel; +Cc: Qiao Zhou
V2 -> V1:
1, mask dma interrupt when disable DMA channel.
2, remove patch v1.
if the dma channel is disabled without interrupt masked, the interrupt
status may still be set. next time when dma channel is enabled again,
the old interrupt status may trigger the interrupt wrongly. we need to
mask the interrupt when dma channel is disabled.
Qiao Zhou (1):
dma: mmp_tdma: disable irq when disabling dma channel
drivers/dma/mmp_tdma.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH V2] dma: mmp_tdma: disable irq when disabling dma channel
2013-06-15 4:51 [PATCH V2] dma: mmp_tdma: disable irq when disabling dma channel Qiao Zhou
@ 2013-06-15 4:51 ` Qiao Zhou
2013-06-15 7:52 ` zhangfei gao
2013-06-21 8:52 ` Vinod Koul
0 siblings, 2 replies; 4+ messages in thread
From: Qiao Zhou @ 2013-06-15 4:51 UTC (permalink / raw)
To: djbw, vinod.koul, zhangfei.gao, linux-kernel; +Cc: Qiao Zhou
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>
---
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 43d5a6c..9b93665 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;
}
--
1.7.0.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH V2] dma: mmp_tdma: disable irq when disabling dma channel
2013-06-15 4:51 ` Qiao Zhou
@ 2013-06-15 7:52 ` zhangfei gao
2013-06-21 8:52 ` Vinod Koul
1 sibling, 0 replies; 4+ messages in thread
From: zhangfei gao @ 2013-06-15 7:52 UTC (permalink / raw)
To: Qiao Zhou; +Cc: djbw, Vinod Koul, linux-kernel@vger.kernel.org
On Sat, Jun 15, 2013 at 12:51 PM, Qiao Zhou <zhouqiao@marvell.com> wrote:
> 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>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH V2] dma: mmp_tdma: disable irq when disabling dma channel
2013-06-15 4:51 ` Qiao Zhou
2013-06-15 7:52 ` zhangfei gao
@ 2013-06-21 8:52 ` Vinod Koul
1 sibling, 0 replies; 4+ messages in thread
From: Vinod Koul @ 2013-06-21 8:52 UTC (permalink / raw)
To: Qiao Zhou; +Cc: djbw, zhangfei.gao, linux-kernel
On Sat, Jun 15, 2013 at 12:51:48PM +0800, Qiao Zhou wrote:
> 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>
Applied, thanks
--
~Vinod
> ---
> 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 43d5a6c..9b93665 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;
> }
>
> --
> 1.7.0.4
>
--
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-06-21 9:31 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-15 4:51 [PATCH V2] dma: mmp_tdma: disable irq when disabling dma channel Qiao Zhou
2013-06-15 4:51 ` Qiao Zhou
2013-06-15 7:52 ` zhangfei gao
2013-06-21 8:52 ` Vinod Koul
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.