mirror of
https://github.com/torvalds/linux.git
synced 2024-11-30 08:01:59 +00:00
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: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
8fce974bc4
commit
ce54893120
@ -598,15 +598,18 @@ static int rsnd_ssi_stop(struct rsnd_mod *mod,
|
||||
if (rsnd_ssi_is_parent(mod, io))
|
||||
return 0;
|
||||
|
||||
/*
|
||||
* disable all IRQ,
|
||||
* and, wait all data was sent
|
||||
*/
|
||||
cr = ssi->cr_own |
|
||||
ssi->cr_clk;
|
||||
|
||||
rsnd_mod_write(mod, SSICR, cr | EN);
|
||||
rsnd_ssi_status_check(mod, DIRQ);
|
||||
/*
|
||||
* 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_ssi_status_check(mod, DIRQ);
|
||||
}
|
||||
|
||||
/*
|
||||
* disable SSI,
|
||||
|
Loading…
Reference in New Issue
Block a user