This sound/hda/ext library is a confusing magic black box that very few understand. It needn't be that way, we can document/simplify and make the code clearer.
Pierre-Louis Bossart (8): ALSA: hda: make snd_hdac_stream_clear() static ALSA: hda: document state machine for hdac_streams ALSA: hda: ext: make snd_hdac_ext_stream_init() static ALSA: hda: Use hdac_ext prefix in snd_hdac_stream_free_all() for clarity ALSA: hda: add snd_hdac_stop_streams() helper ALSA: hda: ext: simplify logic for stream assignment ALSA: hda: ext: fix locking in stream_release ALSA: hda: ext: remove always-true conditions on host and link release
include/sound/hdaudio.h | 3 +- include/sound/hdaudio_ext.h | 5 +-- sound/hda/ext/hdac_ext_stream.c | 34 +++++++-------- sound/hda/hdac_stream.c | 74 +++++++++++++++++++++++++++++---- sound/pci/hda/hda_controller.c | 4 +- sound/soc/intel/avs/core.c | 4 +- sound/soc/intel/skylake/skl.c | 2 +- 7 files changed, 87 insertions(+), 39 deletions(-)