ALSA: emu10k1 - delay the PCM interrupts (add pcm_irq_delay parameter)
authorJaroslav Kysela <perex@perex.cz>
Wed, 18 Aug 2010 12:08:17 +0000 (14:08 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 18 Aug 2010 13:10:59 +0000 (15:10 +0200)
commit56385a12d9bb9e173751f74b6c430742018cafc0
treea0ccadcd4ab6fe2fa7b7dbde1a8b542b7b105c15
parenta5ba6beb839cfa288960c92cd2668a2601c24dda
ALSA: emu10k1 - delay the PCM interrupts (add pcm_irq_delay parameter)

With some hardware combinations, the PCM interrupts are acknowledged
before the period boundary from the emu10k1 chip. The midlevel PCM code
gets confused and the playback stream is interrupted.

It seems that the interrupt processing shift by 2 samples is enough
to fix this issue. This default value does not harm other,
non-affected hardware.

More information: Kernel bugzilla bug#16300

[A copmile warning fixed by tiwai]

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/emu10k1.h
sound/core/pcm_native.c
sound/pci/emu10k1/emu10k1.c
sound/pci/emu10k1/emupcm.c
sound/pci/emu10k1/memory.c