linux/sound/pci/hda
Takashi Iwai 473f414564 ALSA: hda - Loop interrupt handling until really cleared
Currently the interrupt handler of HD-audio driver assumes that no irq
update is needed while processing the irq.  But in reality, it has
been confirmed that the HW irq is issued even during the irq
handling.  Since we clear the irq status at the beginning, process the
interrupt, then exits from the handler, the lately issued interrupt is
left untouched without being properly processed.

This patch changes the interrupt handler code to loop over the
check-and-process.  The handler tries repeatedly as long as the IRQ
status are turned on, and either stream or CORB/RIRB is handled.

For checking the stream handling, snd_hdac_bus_handle_stream_irq()
returns a value indicating the stream indices bits.  Other than that,
the change is only in the irq handler itself.

Reported-by: Libin Yang <libin.yang@linux.intel.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-02-26 08:50:31 +01:00
..
Kconfig ALSA: HDAC: move SND_HDA_PREALLOC_SIZE to core 2015-06-16 17:40:38 +02:00
Makefile ALSA: replace CONFIG_PROC_FS with CONFIG_SND_PROC_FS 2015-05-27 21:25:19 +02:00
ca0132_regs.h ALSA: hda: ca0132_regs.h: Fix typo in include guard 2014-08-22 11:24:11 +02:00
dell_wmi_helper.c ALSA: hda - add mic mute led hook for dell machines 2014-07-31 09:21:42 +02:00
hda_auto_parser.c ALSA: hda - remove no physical connection pins from pin_quirk table 2015-08-03 10:16:20 +02:00
hda_auto_parser.h ALSA: hda - Sort input pins depending on amp caps 2014-09-23 15:57:32 +02:00
hda_beep.c ALSA: hda-beep: Update authors dead email address 2015-06-13 09:13:26 +02:00
hda_beep.h ALSA: hda-beep: Update authors dead email address 2015-06-20 09:24:40 +02:00
hda_bind.c ALSA: hda - Fix missing module loading with model=generic option 2016-01-20 15:56:42 +01:00
hda_codec.c ASoC: Updates for v4.4 2015-10-26 12:14:49 +01:00
hda_codec.h Merge branch 'topic/hda-modalias' into for-next 2015-10-20 10:19:40 +02:00
hda_controller.c ALSA: hda - Loop interrupt handling until really cleared 2016-02-26 08:50:31 +01:00
hda_controller.h ALSA: hda - Drop unused AZX_DCAPS_REVERSE_ASSIGN 2015-12-17 12:47:18 +01:00
hda_controller_trace.h ALSA: hda - rename hda_intel_trace.h to hda_controller_trace.h 2015-05-18 10:06:32 +02:00
hda_eld.c ALSA: hda - Do zero-clear in snd_hdmi_parse_eld() itself 2015-12-04 15:06:45 +01:00
hda_generic.c ALSA: hda - Fix bad dereference of jack object 2016-02-09 12:16:31 +01:00
hda_generic.h ALSA: hda - Make snd_hda_parse_nid_path() local 2015-12-08 11:48:39 +01:00
hda_hwdep.c ALSA: hda - Add card field to hda_codec struct 2015-03-03 11:25:16 +01:00
hda_intel.c ALSA: hda - Apply clock gate workaround to Skylake, too 2016-02-22 17:13:48 +01:00
hda_intel.h ALSA: hda - Spell vga_switcheroo consistently 2015-10-19 11:00:45 +02:00
hda_intel_trace.h ALSA: hda - add hda_intel_trace.h 2015-05-18 10:06:44 +02:00
hda_jack.c ALSA: hda - Fix bad dereference of jack object 2016-02-09 12:16:31 +01:00
hda_jack.h ALSA: hda - Fix bad dereference of jack object 2016-02-09 12:16:31 +01:00
hda_local.h ALSA: hda: make use of core codec fns 2015-10-08 19:09:36 +02:00
hda_proc.c ALSA: hda/proc - Fix racy string access for power states 2015-08-17 15:12:04 +02:00
hda_sysfs.c ALSA: hda - consolidate chip rename functions 2015-10-15 14:05:28 +02:00
hda_tegra.c ALSA: hda - Raise AZX_DCAPS_RIRB_DELAY handling into top drivers 2015-12-17 12:47:10 +01:00
local.h ALSA: hda - Move a part of hda_codec stuff into hdac_device 2015-03-23 13:17:17 +01:00
patch_analog.c ALSA: hda - convert to hda_device_id 2015-10-20 10:15:20 +02:00
patch_ca0110.c ALSA: hda - convert to hda_device_id 2015-10-20 10:15:20 +02:00
patch_ca0132.c ALSA: hda - Fix bad dereference of jack object 2016-02-09 12:16:31 +01:00
patch_cirrus.c ALSA: hda - Add fixup for Mac Mini 7,1 model 2016-02-03 12:32:51 +01:00
patch_cmedia.c ALSA: hda - convert to hda_device_id 2015-10-20 10:15:20 +02:00
patch_conexant.c Merge branch 'for-linus' into for-next 2015-12-03 17:36:02 +01:00
patch_hdmi.c ALSA: hda - Fix bad dereference of jack object 2016-02-09 12:16:31 +01:00
patch_realtek.c ALSA: hda - Fix headset support and noise on HP EliteBook 755 G2 2016-02-25 14:36:08 +01:00
patch_si3054.c ALSA: hda - convert to hda_device_id 2015-10-20 10:15:20 +02:00
patch_sigmatel.c ALSA: hda - Fix bad dereference of jack object 2016-02-09 12:16:31 +01:00
patch_via.c ALSA: hda - convert to hda_device_id 2015-10-20 10:15:20 +02:00
thinkpad_helper.c Revert "ALSA: hda - Add mute-LED mode control to Thinkpad" 2015-05-24 08:32:37 +02:00