[PATCH] dmaengine: dw: fix cyclic transfers
From: Mans Rullgard
Date: Sun Jan 10 2016 - 15:54:43 EST
Commit 61e183f83069 ("dmaengine/dw_dmac: Reconfigure interrupt and
chan_cfg register on resume") moved some channel initialisation to
a new function which must be called before starting a transfer.
This adds the necessary dwc_initialize() call to dw_dma_cyclic_start()
which was missed in the original commit.
Fixes: 61e183f83069 ("dmaengine/dw_dmac: Reconfigure interrupt and chan_cfg register on resume")
Signed-off-by: Mans Rullgard <mans@xxxxxxxxx>
---
Andy, do you want to collect this with your other patches? It's trivial
enough that it can go in separately without conflicts too.
---
drivers/dma/dw/core.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/dma/dw/core.c b/drivers/dma/dw/core.c
index 7067b6ddc1db..2917f75b67b4 100644
--- a/drivers/dma/dw/core.c
+++ b/drivers/dma/dw/core.c
@@ -1265,6 +1265,8 @@ int dw_dma_cyclic_start(struct dma_chan *chan)
return -EBUSY;
}
+ dwc_initialize(dwc);
+
dma_writel(dw, CLEAR.ERROR, dwc->mask);
dma_writel(dw, CLEAR.XFER, dwc->mask);
--
2.7.0