ARM: S3C64XX: Clear DMA_HALT upon start
authorJassi Brar <jassi.brar@samsung.com>
Mon, 3 Jan 2011 10:36:25 +0000 (19:36 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Mon, 3 Jan 2011 10:36:25 +0000 (19:36 +0900)
The stop function sets the DMA_HALT bit, which prevents
the DMA transfer to resume after stop, for example during
audio PAUSE/PLAY cycle. Clear the HALT bit during start.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/mach-s3c64xx/dma.c

index e7d03ab41d80d58b412aa383670e9daa27d10386..d9aa072ecee3d7fb06a038d1ddb34d0b961b621e 100644 (file)
@@ -212,6 +212,7 @@ static int s3c64xx_dma_start(struct s3c2410_dma_chan *chan)
 
        config = readl(chan->regs + PL080S_CH_CONFIG);
        config |= PL080_CONFIG_ENABLE;
+       config &= ~PL080_CONFIG_HALT;
 
        pr_debug("%s: writing config %08x\n", __func__, config);
        writel(config, chan->regs + PL080S_CH_CONFIG);