]> rtime.felk.cvut.cz Git - linux-imx.git/commitdiff
ASoC: fsi: bugfix: enable master clock control on DMA stream
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Fri, 25 May 2012 06:55:11 +0000 (23:55 -0700)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 30 May 2012 09:39:51 +0000 (10:39 +0100)
DMA stream handler didn't care about master clock.
This patch fixes it up.

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 7cee22515d9de55c505eae1dd460107b1eacee3a..05582c12b90252f78a59fbc2c39366a06ea2184a 100644 (file)
@@ -1172,9 +1172,14 @@ static int fsi_dma_transfer(struct fsi_priv *fsi, struct fsi_stream *io)
 static void fsi_dma_push_start_stop(struct fsi_priv *fsi, struct fsi_stream *io,
                                 int start)
 {
+       struct fsi_master *master = fsi_get_master(fsi);
+       u32 clk  = fsi_is_port_a(fsi) ? CRA  : CRB;
        u32 enable = start ? DMA_ON : 0;
 
        fsi_reg_mask_set(fsi, OUT_DMAC, DMA_ON, enable);
+
+       if (fsi_is_clk_master(fsi))
+               fsi_master_mask_set(master, CLK_RST, clk, (enable) ? clk : 0);
 }
 
 static int fsi_dma_probe(struct fsi_priv *fsi, struct fsi_stream *io)