ALSA: hda: ext: simplify logic for stream assignment
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Mon, 19 Sep 2022 12:10:39 +0000 (14:10 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 20 Sep 2022 06:08:14 +0000 (08:08 +0200)
commit53f4f6b4e56d5fb6ef95a7e14c10ec244a79b996
tree8718d8527e7c498d94902c7218ca06bb51d5d419
parent24ad3835a6db4f8857975effa6bf47730371a5ff
ALSA: hda: ext: simplify logic for stream assignment

The logic is needlessly complicated, the basic rule is:

The host streams can be found by checking the 'opened' boolean.
The link streams can be found by checking the 'link_locked' boolean.

Once a stream is found, it can be unconditionally decoupled. The
snd_hdac_ext_stream_decouple_locked() routine will make sure the
register status is modified as needed and the 'decoupled' boolean set.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20220919121041.43463-7-pierre-louis.bossart@linux.intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/hda/ext/hdac_ext_stream.c