From: Kuninori Morimoto Date: Fri, 25 May 2012 06:55:11 +0000 (-0700) Subject: ASoC: fsi: bugfix: enable master clock control on DMA stream X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=e42bb9bfbb43366cd1899c9564d043c41ebd8852;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git ASoC: fsi: bugfix: enable master clock control on DMA stream DMA stream handler didn't care about master clock. This patch fixes it up. Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown --- diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c index 7cee22515d9..05582c12b90 100644 --- a/sound/soc/sh/fsi.c +++ b/sound/soc/sh/fsi.c @@ -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)