diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2015-11-30 11:53:04 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-11-30 21:11:23 +0300 |
commit | 08bada26fe8089f908484a3a4580f38e78502ac7 (patch) | |
tree | 23e6965d5611f126ba65b7289e5fbac3dd45b86a | |
parent | 840ada3b04275d47a24f35a8c559bc584962f315 (diff) | |
download | linux-08bada26fe8089f908484a3a4580f38e78502ac7.tar.xz |
ASoC: rsnd: set SSIWSR setting on rsnd_ssi_config_init()
It will have TDM settings on SSIWSR. Actually, we would like to set
it on rsnd_ssi_config_init(), but we can't. Because SSI might be used
as clock master (It doesn't need to call rsnd_ssi_config_init() when
clock master mode).
This patch adds new ssi->wsr and set it on rsnd_ssi_start().
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/sh/rcar/ssi.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c index 31e26bd481cf..d97f365f1b41 100644 --- a/sound/soc/sh/rcar/ssi.c +++ b/sound/soc/sh/rcar/ssi.c @@ -69,6 +69,7 @@ struct rsnd_ssi { u32 cr_own; u32 cr_clk; u32 cr_mode; + u32 wsr; int chan; int rate; int err; @@ -214,11 +215,10 @@ static int rsnd_ssi_master_clk_start(struct rsnd_ssi *ssi, if (0 == ret) { ssi->cr_clk = FORCE | SWL_32 | SCKD | SWSD | CKDV(j); + ssi->wsr = CONT; ssi->rate = rate; - rsnd_mod_write(mod, SSIWSR, CONT); - dev_dbg(dev, "%s[%d] outputs %u Hz\n", rsnd_mod_name(mod), rsnd_mod_id(mod), rate); @@ -421,6 +421,7 @@ static int __rsnd_ssi_start(struct rsnd_mod *mod, EN; rsnd_mod_write(mod, SSICR, cr); + rsnd_mod_write(mod, SSIWSR, ssi->wsr); return 0; } |