ASoC: fsi: bugfix: ensure dma is terminated
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tue, 29 May 2012 06:28:22 +0000 (23:28 -0700)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 30 May 2012 10:04:12 +0000 (11:04 +0100)
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>
sound/soc/sh/fsi.c

index 6e750a8..2ef9853 100644 (file)
@@ -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);
 }