linux-kernel-test/sound
Takashi Iwai e2acecf2c8 ALSA: x86: Handle reset at prepare callback
Currently the driver handles some reset procedure at the trigger STOP
and the underrun functions, where both are executed in the interrupt
context.  Especially the underrun function has a sync-loop to clear
the UNDERRUN status bit, and this is supposed to be one of plausible
causes of GPU hangup.

Since the job to be done in the interrupt handler should be minimum,
we move the reset function out of trigger and underrun, and push it
into the prepare (and hw_free) callbacks instead.  Here a new flag,
need_reset, is introduced to indicate the requirement of the reset
procedure.  This is for avoiding the multiple resets when PCM prepare
is called sequentially.

Also in the UNDERRUN bit-clear sync loop, take a longer pause to be in
the safer side.  Taking a longer delay is no longer a problem now
because we're running in the normal context.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2017-02-13 14:48:43 +01:00
..
aoa
arm
atmel
core Merge branch 'for-linus' into for-next 2017-02-07 09:38:44 +01:00
drivers ALSA: drivers: Constify snd_rawmidi_ops 2017-01-12 12:50:06 +01:00
firewire Merge branch 'topic/intel-lpe-audio' into for-next 2017-01-25 22:11:17 +01:00
hda clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
i2c
isa ALSA: isa: Constify snd_rawmidi_ops 2017-01-12 12:50:16 +01:00
mips ALSA: mips: avoid potential uninitialized variable use 2017-01-16 14:33:42 +01:00
oss sound: oss/ad1848: remove some dead code 2017-01-31 21:41:19 +01:00
parisc
pci ALSA: cs46xx: constify snd_pcm_ops structures 2017-01-26 17:01:48 +01:00
pcmcia ALSA: vx: Fix possible transfer overflow 2017-01-04 18:01:35 +01:00
ppc
sh ktime: Cleanup ktime_set() usage 2016-12-25 17:21:22 +01:00
soc Merge remote-tracking branches 'asoc/fix/nau8825', 'asoc/fix/rt5645', 'asoc/fix/tlv320aic3x' and 'asoc/fix/topology' into asoc-linus 2017-01-10 10:47:54 +00:00
sparc dbri: move dereference after check for NULL 2016-12-06 12:18:22 -05:00
spi
synth ALSA: synth: use designated initializers 2016-12-28 16:06:16 +01:00
usb ALSA: line6: Always setup isochronous transfer properties 2017-02-07 09:40:49 +01:00
x86 ALSA: x86: Handle reset at prepare callback 2017-02-13 14:48:43 +01:00
ac97_bus.c
Kconfig ALSA: add Intel HDMI LPE audio driver for BYT/CHT-T 2017-01-25 14:23:46 +01:00
last.c
Makefile ALSA: add Intel HDMI LPE audio driver for BYT/CHT-T 2017-01-25 14:23:46 +01:00
sound_core.c