diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2012-05-29 08:28:22 +0200 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-05-30 12:04:12 +0200 |
commit | fbe42f66c66c279b4ed9b8f515058a09bc731c49 (patch) | |
tree | 70f10652101cfc0a66594e3c294b9bbe3fb2d603 /sound/soc/sh/fsi.c | |
parent | ASoC: fsi: bugfix: correct dma area (diff) | |
download | linux-fbe42f66c66c279b4ed9b8f515058a09bc731c49.tar.xz 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/sh/fsi.c')
-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); } |