summary refs log tree commit diff
path: root/sound
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
parent4a1b09b79b07cf70c72a091e8fe0660f68541f30 (diff)
downloadlinux-fbe42f66c66c279b4ed9b8f515058a09bc731c49.tar.gz
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')
-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);
 }