diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2012-05-25 02:55:11 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-05-30 05:39:51 -0400 |
commit | e42bb9bfbb43366cd1899c9564d043c41ebd8852 (patch) | |
tree | aa1c8cb0d8e983296a0d7f556723b4319f729e75 /sound/soc/sh | |
parent | 41c73b6e89c69cbe36fae5b24da04d6fb52c3b11 (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.c | 5 |
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) | |||
1172 | static void fsi_dma_push_start_stop(struct fsi_priv *fsi, struct fsi_stream *io, | 1172 | static 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 | ||
1180 | static int fsi_dma_probe(struct fsi_priv *fsi, struct fsi_stream *io) | 1185 | static int fsi_dma_probe(struct fsi_priv *fsi, struct fsi_stream *io) |