linux/sound
Andres Salomon 222fa0b0d2 [ALSA] cs5535audio: fix PRD register save/restore power management race
In the suspend path, we currently save the PRD registers and then disable DMA.
This is racy; the sound hardware might update the PRD register as it finishes
processing some DMA pages between when we've saved the PRD registers and
when DMA actually gets disabled.  Furthermore, we actively check whether or
not DMA is enabled before saving PRD registers; there's no reason to do that,
as the PRD registers should not update when we twiddle the ACC_BM[x]_CMD
register(s).  Worst case, we save the PRD registers twice; even powering
down the ACC shouldn't mess with the PRD registers (according to the 5536
data sheet, section 5.3.7.4, power-down procedure).  This patch reworks
all that to first disable DMA, and then save PRD registers.

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:52 +02:00
..
aoa [ALSA] Clean up with common snd_ctl_boolean_*_info callbacks 2007-10-16 15:57:45 +02:00
arm [ALSA] Get rid of dead code in sound/arm/sa11xx-uda1341.c 2007-10-16 15:58:24 +02:00
core [ALSA] pcm: add snd_pcm_rate_to_rate_bit() helper 2007-10-16 15:58:54 +02:00
drivers [ALSA] Clean up Makefile 2007-10-16 15:58:05 +02:00
i2c [ALSA] Clean up Makefile 2007-10-16 15:58:05 +02:00
isa [ALSA] Allow shared IRQ for CS5530 device 2007-10-16 15:59:32 +02:00
mips IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
oss DDB5477: remove driver bits of support 2007-07-31 15:39:38 -07:00
parisc [PARISC] fix section mismatch warnings in harmony sound driver 2007-02-17 01:19:12 -05:00
pci [ALSA] cs5535audio: fix PRD register save/restore power management race 2007-10-16 15:59:52 +02:00
pcmcia [ALSA] Clean up with common snd_ctl_boolean_*_info callbacks 2007-10-16 15:57:45 +02:00
ppc [ALSA] pcm: add snd_pcm_rate_to_rate_bit() helper 2007-10-16 15:58:54 +02:00
sh [ALSA] Clean up with common snd_ctl_boolean_*_info callbacks 2007-10-16 15:57:45 +02:00
soc [ALSA] pcm: add snd_pcm_rate_to_rate_bit() helper 2007-10-16 15:58:54 +02:00
sparc [ALSA] dbri: driver cleanup 2007-10-16 15:59:16 +02:00
spi [ALSA] ALSA sound driver for the AT73C213 DAC using Atmel SSC driver 2007-10-16 15:57:50 +02:00
synth [ALSA] sound/synth/util_mem.c: remove pointless check 2007-10-16 15:58:15 +02:00
usb [ALSA] usb-audio: update quirk for Rane SL 1 (aka. Serato Scratch Live) 2007-10-16 15:59:40 +02:00
ac97_bus.c [ALSA] ac97_bus power management 2007-02-09 09:03:54 +01:00
Kconfig [ALSA] Add SPI devices to ALSA Kconfig and Makefile 2007-10-16 15:57:47 +02:00
last.c
Makefile [ALSA] Add SPI devices to ALSA Kconfig and Makefile 2007-10-16 15:57:47 +02:00
sound_core.c [PATCH] mark struct file_operations const 9 2007-02-12 09:48:46 -08:00
sound_firmware.c Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00