summaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorKuninori Morimoto2012-05-29 08:28:22 +0200
committerMark Brown2012-05-30 12:04:12 +0200
commitfbe42f66c66c279b4ed9b8f515058a09bc731c49 (patch)
tree70f10652101cfc0a66594e3c294b9bbe3fb2d603 /sound/soc
parentASoC: fsi: bugfix: correct dma area (diff)
downloadkernel-qcow2-linux-fbe42f66c66c279b4ed9b8f515058a09bc731c49.tar.gz
kernel-qcow2-linux-fbe42f66c66c279b4ed9b8f515058a09bc731c49.tar.xz
kernel-qcow2-linux-fbe42f66c66c279b4ed9b8f515058a09bc731c49.zip
ASoC: fsi: bugfix: ensure dma is terminated
FSI DMAEngine has to be stopped certainly at the start/stop time. Without this patch, it will include noise on playback. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/sh/fsi.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c
index 6e750a8ae2a9..2ef98536f1da 100644
--- a/sound/soc/sh/fsi.c
+++ b/sound/soc/sh/fsi.c
@@ -1178,6 +1178,8 @@ static void fsi_dma_push_start_stop(struct fsi_priv *fsi, struct fsi_stream *io,
fsi_reg_mask_set(fsi, OUT_DMAC, DMA_ON, enable);
+ dmaengine_terminate_all(io->chan);
+
if (fsi_is_clk_master(fsi))
fsi_master_mask_set(master, CLK_RST, clk, (enable) ? clk : 0);
}