summaryrefslogtreecommitdiffstats
path: root/sound/soc/sh
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2012-05-28 23:28:22 -0700
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-05-30 11:04:12 +0100
commitfbe42f66c66c279b4ed9b8f515058a09bc731c49 (patch)
tree70f10652101cfc0a66594e3c294b9bbe3fb2d603 /sound/soc/sh
parent4a1b09b79b07cf70c72a091e8fe0660f68541f30 (diff)
downloadlinux-fbe42f66c66c279b4ed9b8f515058a09bc731c49.tar.bz2
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/sh')
-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);
}