diff mbox

dmaengine: shdma: fix a regression: initialise DMA channels for memcpy

Message ID Pine.LNX.4.64.1105311123230.10863@axis700.grange (mailing list archive)
State Accepted
Headers show

Commit Message

Guennadi Liakhovetski May 31, 2011, 9:25 a.m. UTC
A recent patch has introduced a regression, where repeating a memcpy
DMA test with shdma module unloading between them skips the DMA channel
configuration. Fix this regression by always configuring the channel
during its allocation.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
---
 drivers/dma/shdma.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Paul Mundt June 2, 2011, 5:47 a.m. UTC | #1
On Tue, May 31, 2011 at 11:25:16AM +0200, Guennadi Liakhovetski wrote:
> A recent patch has introduced a regression, where repeating a memcpy
> DMA test with shdma module unloading between them skips the DMA channel
> configuration. Fix this regression by always configuring the channel
> during its allocation.

On Wed, Jun 01, 2011 at 09:32:07AM +0200, Guennadi Liakhovetski wrote:
> These definitions are needed to let the runtime PM subsystem turn off
> DMAC clocks, when it is suspended by the driver.

Both applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/dma/shdma.c b/drivers/dma/shdma.c
index 636e409..6eb8454 100644
--- a/drivers/dma/shdma.c
+++ b/drivers/dma/shdma.c
@@ -343,7 +343,7 @@  static int sh_dmae_alloc_chan_resources(struct dma_chan *chan)
 
 		dmae_set_dmars(sh_chan, cfg->mid_rid);
 		dmae_set_chcr(sh_chan, cfg->chcr);
-	} else if ((sh_dmae_readl(sh_chan, CHCR) & 0xf00) != 0x400) {
+	} else {
 		dmae_init(sh_chan);
 	}