summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c64xx
diff options
context:
space:
mode:
authorJassi Brar <jassi.brar@samsung.com>2011-01-03 11:36:25 +0100
committerKukjin Kim <kgene.kim@samsung.com>2011-01-03 11:36:25 +0100
commitd03e119c08359f9217154d6a4201689639fe29c8 (patch)
tree9bfd5a958f3a81999fe029b302768baf4b7bbec2 /arch/arm/mach-s3c64xx
parentLinux 2.6.37-rc8 (diff)
downloadlinux-d03e119c08359f9217154d6a4201689639fe29c8.tar.xz
linux-d03e119c08359f9217154d6a4201689639fe29c8.zip
ARM: S3C64XX: Clear DMA_HALT upon start
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>
Diffstat (limited to 'arch/arm/mach-s3c64xx')
-rw-r--r--arch/arm/mach-s3c64xx/dma.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c64xx/dma.c b/arch/arm/mach-s3c64xx/dma.c
index e7d03ab41d80..d9aa072ecee3 100644
--- a/arch/arm/mach-s3c64xx/dma.c
+++ b/arch/arm/mach-s3c64xx/dma.c
@@ -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);