aha/sound
Krzysztof Helt 8066e51ae7 ALSA: snd_dma_pointer workaround for chipsets with buggy DMA
The chipsets with the isa_dma_bridge_buggy set do not stop DMA during
DMA counter reads. The DMA counter is read in two 8-bit read steps
on x86 platform. Sometimes, such reads happen during higher byte
change so the lower byte is already decremented (rolled over) but
the higher byte is not. It introduces an error that position is
moved 256 bytes ahead of the true position. Thus, the next DMA
position read can return a lower value then the previous read.
If the DMA position is decreased (reversed) the ALSA subsystem is
tricked into the playback underrun error and resets the playback.
It results in a "pop" during a playback.

Work around the issue by reading the counter twice and choosing a higher
value.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-10-11 18:03:13 +02:00
..
aoa ALSA: sound/aoa: Add kmalloc NULL tests 2009-07-31 10:14:58 +02:00
arm ASoC: fix pxa2xx-ac97.c breakage 2009-09-04 20:19:56 +01:00
atmel ALSA: snd-atmel-abdac: increase periods_min to 6 instead of 4 2009-04-06 03:56:28 +02:00
core ALSA: snd_dma_pointer workaround for chipsets with buggy DMA 2009-10-11 18:03:13 +02:00
drivers ALSA: dummy - Increase MAX_PCM_SUBSTREAMS to 128 2009-09-08 18:15:17 +02:00
i2c V4L/DVB (10771): tea575x-tuner: convert it to V4L2 API 2009-03-30 12:43:02 -03:00
isa ALSA: wss: reuse CS4231 controls for AD1848 2009-10-11 18:02:58 +02:00
mips ALSA: sgio2audio.c: clean up checking 2009-06-07 09:08:43 +02:00
oss sound: vwsnd: Fix setting of cfgval and ctlval in li_setup_dma() 2009-08-26 12:42:43 +02:00
parisc Merge branch 'topic/section-fix' into for-linus 2009-06-10 07:26:46 +02:00
pci Merge branch 'fix/hda' into for-linus 2009-09-17 21:08:56 +02:00
pcmcia ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some drivers 2009-04-28 15:06:44 +02:00
ppc Merge branch 'topic/ps3' into for-linus 2009-06-12 20:03:16 +02:00
sh trivial: Fix misspelling of firmware 2009-03-30 15:21:59 +02:00
soc Merge branch 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci 2009-09-18 09:20:37 -07:00
sparc ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some drivers 2009-04-28 15:06:44 +02:00
spi ALSA: Convert to snd_card_create() in other sound/* 2009-01-12 15:21:19 +01:00
synth ALSA: clean up the logic for building sequencer modules 2009-05-29 11:49:42 +02:00
usb ALSA: snd-usb-us122l: add support for US-144 2009-09-22 17:47:47 +02:00
ac97_bus.c ALSA: ac97 - Include ac97_codec.h for ac97_bus_type declaration 2008-12-02 16:25:37 +01:00
Kconfig sound: make OSS device number claiming optional and schedule its removal 2009-08-10 13:59:36 +02:00
last.c
Makefile ALSA: Add Atmel ALSA drivers directory 2009-02-05 15:08:53 +01:00
sound_core.c sound: make OSS device number claiming optional and schedule its removal 2009-08-10 13:59:36 +02:00
sound_firmware.c