Commit ce548931 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown

ASoC: rsnd: Don't check SSISR::DIRQ when Capture

When stop case, it was Playback, it need to check all data were
completely sent. But in Capture case, it might not receive data
anymore. SSISR::DIRQ check is not need for Capture case.
Reported-by: default avatarHiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 8fce974b
...@@ -598,15 +598,18 @@ static int rsnd_ssi_stop(struct rsnd_mod *mod, ...@@ -598,15 +598,18 @@ static int rsnd_ssi_stop(struct rsnd_mod *mod,
if (rsnd_ssi_is_parent(mod, io)) if (rsnd_ssi_is_parent(mod, io))
return 0; return 0;
/*
* disable all IRQ,
* and, wait all data was sent
*/
cr = ssi->cr_own | cr = ssi->cr_own |
ssi->cr_clk; ssi->cr_clk;
/*
* disable all IRQ,
* Playback: Wait all data was sent
* Capture: It might not receave data. Do nothing
*/
if (rsnd_io_is_play(io)) {
rsnd_mod_write(mod, SSICR, cr | EN); rsnd_mod_write(mod, SSICR, cr | EN);
rsnd_ssi_status_check(mod, DIRQ); rsnd_ssi_status_check(mod, DIRQ);
}
/* /*
* disable SSI, * disable SSI,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment