linux/sound
Andreas Mohr 78ac07b0d2 ALSA: azt3328: period bug fix (for PA), add missing ACK on stop timer
. Fix PulseAudio "ALSA driver bug" issue
  (if we have two alternated areas within a 64k DMA buffer, then max
  period size should obviously be 32k only).
  Back references:
   http://pulseaudio.org/wiki/AlsaIssues
   http://fedoraproject.org/wiki/Features/GlitchFreeAudio
. In stop timer function, need to supply ACK in the timer control byte.
. Minor log output correction

When I did my first PA testing recently, the period size bug resulted
in quite precisely observeable half-period-based playback distortion.

PA-based operation is quite a bit more underrun-prone (despite its
zero-copy optimizations etc.) than raw ALSA with this rather spartan
sound hardware implementation on my puny Athlon.

Note that even with this patch, azt3328 still doesn't work for both
cases yet, PA tsched=0 and tsched
(on tsched=0 it will playback tiny fragments of periods, leading to tiny
stuttering sounds with some pauses in between, whereas with
timer-scheduled operation playback works fine - minus some quite increased
underrun trouble on PA vs. ALSA, that is).

Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-11-22 10:56:53 +01:00
..
aoa of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
arm Merge remote branch 'alsa/devel' into topic/misc 2010-04-16 15:20:06 +02:00
atmel ALSA: atmel: set "channel A event" output to debug 2010-06-08 16:42:02 +02:00
core ALSA: sound/core/pcm_lib.c: Remove unnecessary semicolons 2010-11-22 07:41:49 +01:00
drivers Merge remote branch 'alsa/devel' into topic/misc 2010-10-20 12:22:11 +02:00
i2c Merge branch 'fix/misc' into topic/misc 2010-10-11 13:45:22 +02:00
isa Merge branch 'fix/misc' into topic/misc 2010-09-09 10:51:45 +02:00
mips sound: Add missing spin_unlock 2010-05-27 09:47:02 +02:00
oss sound/oss: Remove unnecessary casts of void ptr 2010-11-11 01:59:04 +01:00
parisc ALSA: sound/parisc: Move dereference after NULL test 2009-10-30 12:01:38 +01:00
pci ALSA: azt3328: period bug fix (for PA), add missing ACK on stop timer 2010-11-22 10:56:53 +01:00
pcmcia pcmcia: move driver name to struct pcmcia_driver 2010-09-29 17:20:24 +02:00
ppc ALSA: sound/ppc: Use printf extension %pR for struct resource 2010-11-22 07:41:25 +01:00
sh sound: sh: ctrl_in/outX to __raw_read/writeX conversion. 2010-10-27 15:53:50 +09:00
soc ASoC: tpa6130a2: Get rid of compile warning from tpa6130a2_power 2010-11-03 15:50:46 +01:00
sparc of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
spi ALSA: AT73C213: Rectify misleading comment. 2010-11-11 02:03:29 +01:00
synth ALSA: emux: Add trivial compat ioctl handler 2010-09-14 16:18:11 +02:00
usb ALSA: usb-audio - Support for Power/Status LED on Creative USB X-Fi S51 2010-11-02 12:40:11 +01:00
Kconfig tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
Makefile
ac97_bus.c
last.c
sound_core.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
sound_firmware.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00