aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/sh
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2012-05-25 02:55:11 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-05-30 05:39:51 -0400
commite42bb9bfbb43366cd1899c9564d043c41ebd8852 (patch)
treeaa1c8cb0d8e983296a0d7f556723b4319f729e75 /sound/soc/sh
parent41c73b6e89c69cbe36fae5b24da04d6fb52c3b11 (diff)
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 <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/sh')
-rw-r--r--sound/soc/sh/fsi.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c
index 7cee22515d9d..05582c12b902 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)
1172static void fsi_dma_push_start_stop(struct fsi_priv *fsi, struct fsi_stream *io, 1172static void fsi_dma_push_start_stop(struct fsi_priv *fsi, struct fsi_stream *io,
1173 int start) 1173 int start)
1174{ 1174{
1175 struct fsi_master *master = fsi_get_master(fsi);
1176 u32 clk = fsi_is_port_a(fsi) ? CRA : CRB;
1175 u32 enable = start ? DMA_ON : 0; 1177 u32 enable = start ? DMA_ON : 0;
1176 1178
1177 fsi_reg_mask_set(fsi, OUT_DMAC, DMA_ON, enable); 1179 fsi_reg_mask_set(fsi, OUT_DMAC, DMA_ON, enable);
1180
1181 if (fsi_is_clk_master(fsi))
1182 fsi_master_mask_set(master, CLK_RST, clk, (enable) ? clk : 0);
1178} 1183}
1179 1184
1180static int fsi_dma_probe(struct fsi_priv *fsi, struct fsi_stream *io) 1185static int fsi_dma_probe(struct fsi_priv *fsi, struct fsi_stream *io)