ASoC: rsnd: ssiu: clear SSI_MODE for non TDM Extended modes
register SSI_MODE is set when SSI works in TDM Extended,
but it isn't reset when SSI starts to work in other modes,
thus causes issues.
This patch clearss SSI_MODE register when SSI works in modes
other than TDM Extended.
Fixes: 186fadc132
("ASoC: rsnd: add TDM Extend Mode support")
Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
c20c6704bf
commit
a91d7fb970
|
@ -125,6 +125,7 @@ static int rsnd_ssiu_init_gen2(struct rsnd_mod *mod,
|
|||
{
|
||||
int hdmi = rsnd_ssi_hdmi_port(io);
|
||||
int ret;
|
||||
u32 mode = 0;
|
||||
|
||||
ret = rsnd_ssiu_init(mod, io, priv);
|
||||
if (ret < 0)
|
||||
|
@ -136,9 +137,11 @@ static int rsnd_ssiu_init_gen2(struct rsnd_mod *mod,
|
|||
* see
|
||||
* rsnd_ssi_config_init()
|
||||
*/
|
||||
rsnd_mod_write(mod, SSI_MODE, 0x1);
|
||||
mode = 0x1;
|
||||
}
|
||||
|
||||
rsnd_mod_write(mod, SSI_MODE, mode);
|
||||
|
||||
if (rsnd_ssi_use_busif(io)) {
|
||||
rsnd_mod_write(mod, SSI_BUSIF_ADINR,
|
||||
rsnd_get_adinr_bit(mod, io) |
|
||||
|
|
Loading…
Reference in New Issue