diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2012-05-28 23:28:22 -0700 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-05-30 11:04:12 +0100 |
commit | fbe42f66c66c279b4ed9b8f515058a09bc731c49 (patch) | |
tree | 70f10652101cfc0a66594e3c294b9bbe3fb2d603 /sound/soc | |
parent | 4a1b09b79b07cf70c72a091e8fe0660f68541f30 (diff) | |
download | talos-op-linux-fbe42f66c66c279b4ed9b8f515058a09bc731c49.tar.gz talos-op-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.c | 2 |
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); } |