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
..
ac97_codec.h
ASoC: ac97: add gpio chip
2015-11-18 18:08:54 +00:00
aci.h
ad1816a.h
ALSA: ad1816a: Remove always NULL parameters
2015-01-02 16:26:20 +01:00
ad1843.h
adau1373.h
aess.h
ASoC: TI AESS: add autogating-enable function, callable from architecture code
2013-02-10 11:22:23 -07:00
ak4xxx-adda.h
ak4113.h
ALSA: ak411x: Fix race of reinit() calls
2015-01-28 22:30:18 +01:00
ak4114.h
ALSA: ak411x: Fix race of reinit() calls
2015-01-28 22:30:18 +01:00
ak4117.h
ak4531_codec.h
ak4641.h
alc5623.h
asequencer.h
asound.h
asoundef.h
atmel-abdac.h
dmaengine: dw: move dw_dmac.h to where it belongs to
2014-09-11 11:48:12 +05:30
atmel-ac97c.h
dmaengine: dw: move dw_dmac.h to where it belongs to
2014-09-11 11:48:12 +05:30
compress_driver.h
ALSA: compress: Pass id string to snd_compress_new
2015-11-30 11:44:59 +01:00
control.h
ALSA: hda - Update to use the new jack kctls method
2015-04-27 21:37:42 +02:00
core.h
ALSA: hda_intel: add card number to irq description
2016-01-12 21:05:16 +01:00
cs42l52.h
ASoC: cs42l52: Make MICA/B mixer dependent on mic config
2013-11-28 10:20:51 +00:00
cs42l56.h
ASoC: Add support for CS42L56 CODEC
2014-05-05 18:20:22 -07:00
cs42l73.h
ASoC: cs42l73: Add platform data support for cs42l73 codec
2013-10-18 00:37:29 +01:00
cs4231-regs.h
cs4271.h
ALSA: ASoC: cs4271: add optional soft reset workaround
2012-12-24 15:53:28 +00:00
cs8403.h
cs8427.h
ALSA: cs8427: separate HW initialization
2014-04-03 14:59:48 +02:00
da7213.h
ASoC: da7213: Add support to handle mclk data provided to driver
2015-10-07 15:11:34 +01:00
da7218.h
ASoC: da7218: Add da7218 codec driver
2015-11-30 12:24:12 +00:00
da7219-aad.h
ASoC: codecs: Add da7219 codec driver
2015-10-02 18:11:27 +01:00
da7219.h
ASoC: da7219: Add support for 1.6V micbias level
2015-12-23 00:11:57 +00:00
da9055.h
designware_i2s.h
ASoC: dwc: add quirk to override COMP_PARAM_1 register
2016-01-10 12:11:50 +00:00
dmaengine_pcm.h
ASoC: dmaengine_pcm: Make FLAG_NO_RESIDUE internal
2015-04-27 19:26:07 +01:00
emu10k1.h
ALSA: emu10k1: Emu10k2 32 bit DMA mode
2015-04-29 07:27:30 +02:00
emu10k1_synth.h
emu8000.h
emu8000_reg.h
emux_legacy.h
emux_synth.h
ALSA: emux: Fix/cleanup old ifdef CONFIG_PROC_FS
2015-05-29 07:58:11 +02:00
es1688.h
ALSA: es1688: Remove almost always NULL parameter
2015-01-02 16:27:03 +01:00
gus.h
ALSA: Include linux/io.h instead of asm/io.h
2015-01-28 16:49:33 +01:00
hda_hwdep.h
hda_i915.h
ALSA: hda - Move audio component accesses to hdac_i915.c
2015-12-10 14:41:07 +01:00
hda_register.h
Merge branch 'topic/hdac' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel
2016-01-10 12:13:34 +00:00
hda_regmap.h
ALSA: hda - Fix typos in snd_hdac_regmap_*() documents
2015-09-28 12:19:08 +02:00
hda_verbs.h
ALSA: hda - Split verb definitions into sound/hda_verbs.h
2013-12-09 17:31:40 +01:00
hdaudio.h
ALSA: hda - Loop interrupt handling until really cleared
2016-02-26 08:50:31 +01:00
hdaudio_ext.h
ALSA: hdac: add snd_hdac_ext_bus_link_power_up_all
2016-01-10 12:02:47 +00:00
hwdep.h
ALSA: hwdep: Embed struct device
2015-02-02 14:42:42 +01:00
i2c.h
ALSA: i2c: constify snd_i2c_ops structures
2015-11-30 11:40:08 +01:00
info.h
ALSA: replace CONFIG_PROC_FS with CONFIG_SND_PROC_FS
2015-05-27 21:25:19 +02:00
initval.h
jack.h
ALSA: jack: extend snd_jack_new to support phantom jack
2015-04-27 21:37:41 +02:00
l3.h
max9768.h
max98088.h
max98090.h
ASoC:: max98090: Remove executable bit
2013-03-20 10:54:12 +01:00
max98095.h
memalloc.h
ALSA: Remove memory reservation code from memalloc helper
2014-01-09 07:32:10 +01:00
minors.h
mixer_oss.h
mpu401.h
omap-hdmi-audio.h
ASoC: omap-hdmi-audio: Add platform device for OMAP HDMI audio support
2014-12-01 11:09:23 +02:00
omap-pcm.h
ASoC: omap-pcm: Move omap-pcm under include/sound
2014-05-26 15:32:32 +01:00
opl3.h
opl4.h
pcm-indirect.h
pcm.h
ALSA: Constify ratden/ratnum constraints
2015-10-28 11:42:22 +01:00
pcm_drm_eld.h
ALSA: pcm: add DRM ELD helper
2015-05-22 16:01:44 +02:00
pcm_iec958.h
ALSA: pcm: add IEC958 channel status helper
2015-05-22 16:01:47 +02:00
pcm_oss.h
pcm_params.h
ALSA: Add params_set_format helper
2015-02-24 00:43:18 +09:00
pt2258.h
pxa2xx-lib.h
ASoC: pxa: pxa-pcm-lib: switch over to snd-soc-dmaengine-pcm
2015-09-30 23:21:16 +01:00
rawmidi.h
ALSA: rawmidi: Make snd_rawmidi_transmit() race-free
2016-02-03 14:51:28 +01:00
rt286.h
ASoC: add RT286 CODEC driver
2014-07-04 18:50:51 +01:00
rt298.h
ASoC: add rt298 codec driver
2015-07-09 12:00:11 +01:00
rt5640.h
ASoC: rt5640: Fill up the IN3's support
2015-10-22 13:33:00 +01:00
rt5645.h
ASoC: rt5645: Add jd_invert for Broadwell
2015-09-22 09:46:33 -07:00
rt5651.h
ASoC: add RT5651 CODEC driver
2014-04-18 18:52:18 +01:00
rt5659.h
ASoC: rt5659: add rt5659 codec driver
2015-11-18 12:55:25 +00:00
rt5670.h
ASoC: rt5670: Add IRQ function
2015-03-11 12:08:20 +00:00
rt5677.h
ASoC: rt5677: Add the MICBIAS VDD setting in the platform data
2015-01-08 18:36:02 +00:00
s3c24xx_uda134x.h
sb.h
ALSA: Include linux/io.h instead of asm/io.h
2015-01-28 16:49:33 +01:00
sb16_csp.h
seq_device.h
ALSA: seq: Define driver object in each driver
2015-02-12 14:15:54 +01:00
seq_kernel.h
ALSA: seq: Drop snd_seq_autoload_lock() and _unlock()
2015-02-12 14:42:31 +01:00
seq_midi_emul.h
seq_midi_event.h
seq_oss.h
seq_oss_legacy.h
seq_virmidi.h
sh_dac_audio.h
sh_fsi.h
ASoC: fsi: cleanup sh_fsi.h
2012-12-24 15:57:20 +00:00
simple_card.h
ASoC: simple-card: Add tdm slot mask support to simple-card
2015-09-16 18:00:30 +01:00
snd_wavefront.h
soc-dai.h
ASoC: Support registering a DAI dynamically
2016-01-10 12:06:19 +00:00
soc-dapm.h
Merge branch 'fix/intel' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel
2016-01-05 18:06:29 +00:00
soc-dpcm.h
ASoC: Make soc_dpcm_debugfs_add() non-fatal
2015-04-09 11:32:29 +01:00
soc-topology.h
ASoC: core: Pass kcontrol to bytes tlv callbacks
2015-11-18 12:57:50 +00:00
soc.h
Merge remote-tracking branch 'asoc/topic/pcm-list' into asoc-next
2016-01-11 13:54:31 +00:00
soundfont.h
spear_dma.h
ASoC: Update email-id of Rajeev Kumar
2015-04-28 16:31:01 +01:00
spear_spdif.h
sta32x.h
ASoC: sta32x: add device tree binding.
2015-01-27 17:13:25 +00:00
sta350.h
ASoC: sta350: add support for bits in miscellaneous registers
2014-05-05 12:52:59 -07:00
tas2552-plat.h
ASoC: tas2552: Support TI TAS2552 Amplifier
2014-07-17 17:57:05 +01:00
tas5086.h
ALSA: ASoC: add codec driver for TI TAS5086
2013-03-08 21:06:09 +08:00
tea6330t.h
timer.h
ALSA: timer: Introduce disconnect op to snd_timer_instance
2016-01-21 17:51:42 +01:00
tlv.h
ALSA: topology: Export ID types for TLV controls.
2015-06-04 09:40:03 +01:00
tlv320aic3x.h
ASoC: tlv320aic3x: Convert mic bias to a supply widget
2013-02-04 18:35:19 +00:00
tlv320aic32x4.h
tlv320dac33-plat.h
tpa6130a2-plat.h
uda134x.h
ASoC: uda134x: Remove is_powered_on_standby from platform data
2014-11-24 18:04:49 +00:00
uda1380.h
util_mem.h
vx_core.h
ALSA: vx: Use nonatomic PCM ops
2014-09-15 15:52:03 +02:00
wavefront.h
wm0010.h
wm1250-ev1.h
wm2000.h
ASoC: wm2000: Use clock API integration to configure MCLK divisor
2012-12-24 15:42:35 +00:00
wm2200.h
ASoC: wm2200: Provide platform data for MICBIAS configuration
2013-02-05 15:53:07 +00:00
wm5100.h
wm8903.h
wm8904.h
ASoC: wm8904: Correct number of EQ registers
2015-10-20 15:46:09 +01:00
wm8955.h
wm8960.h
wm8962.h
ASoC: wm8962: Let CODEC driver enable and disable its own MCLK
2014-07-31 20:51:26 +01:00
wm8993.h
wm8996.h
wm9081.h
wm9090.h
wss.h
ALSA: wss: Remove (almost) always NULL parameters
2015-01-02 16:30:08 +01:00