]> git.ipfire.org Git - thirdparty/linux.git/commit
ALSA: hda: Move irq pending work into hda-intel stream
authorTakashi Iwai <tiwai@suse.de>
Tue, 19 May 2026 12:11:52 +0000 (14:11 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 20 May 2026 05:50:45 +0000 (07:50 +0200)
commite36a88b33cbe3dcbb90ac2245ba6149dd5793370
treea2edf234fc8b17eb6dd6ced6eb8aaad75d2824f5
parentb59d5c51bb328a60749b4dd5fe7e649bfb4089b4
ALSA: hda: Move irq pending work into hda-intel stream

Currently, the delayed IRQ handling for PCM streams is managed in a
single work embedded in hda_intel, but this is basically a per-stream
thing.  Due to the single work, we can't cancel the work properly at
closing each stream, for example.

For making the IRQ pending work to be stream-based, this patch changes
the following:

- An extended version of azx_dev (i.e. the hd-audio stream object) is
  defined for snd-hda-intel
- The irq_pending flag and irq_pending_work are moved to
  hda_intel_stream, so that they can be hda-intel stream specific
- The stream creation and assignment are refactored so that
  snd-hda-intel can handle individually;
  the snd-hda-intel specific workaround for stream tags is also moved
  to snd-hda-intel itself instead of the common code
- The irq pending work is canceled properly at free / shutdown

While we're at it, changed the bit field flag to bool, as the bit
field doesn't help much in our case.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20260519121157.28477-1-tiwai@suse.de
sound/hda/common/controller.c
sound/hda/common/hda_controller.h
sound/hda/controllers/intel.c
sound/hda/controllers/intel.h