linux/sound/pci
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
..
ac97 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
ali5451 sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
asihpi ALSA: sound/pci/asihpi/hpioctl.c: Remove unnecessary casts of pci_get_drvdata 2010-11-22 07:42:10 +01:00
au88x0 sound: fixed typos 2010-10-17 10:08:27 +02:00
aw2 ALSA: aw2-alsa.c: use pci_ids.h defines and fix checkpatch.pl noise 2010-05-25 08:39:28 +02:00
ca0106 ALSA: ca0106: Use card specific dac id for mute controls. 2010-10-23 16:59:53 +02:00
cs46xx ALSA: cs46xx memory management fixes for cs46xx_dsp_spos_create() 2010-11-01 10:26:23 +01:00
cs5535audio 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
ctxfi ALSA: sound/pci/ctxfi/ctpcm.c: Remove potential for use after free 2010-11-11 02:03:00 +01:00
echoaudio ALSA: echoaudio: check kmalloc() result 2010-07-19 17:59:04 +02:00
emu10k1 sound: Remove unnecessary casts of private_data 2010-09-07 08:05:59 +02:00
hda ALSA: hda: Add Samsung R720 SSID for subwoofer pin fixup 2010-11-22 10:56:52 +01:00
ice1712 sound: Remove unnecessary casts of private_data 2010-09-07 08:05:59 +02:00
korg1212 sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
lx6464es ALSA: lx6464es - make 1 bit signed bitfield unsigned 2010-11-01 10:28:35 +01:00
mixart ALSA: sound/mixart: avoid redefining {readl,write}_{le,be} accessors 2010-11-11 02:02:20 +01:00
nm256 sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
oxygen Merge branch 'fix/misc' into topic/misc 2010-10-11 13:45:22 +02:00
pcxhr sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
riptide ALSA: riptide - Fix detection / load of firmware files 2010-08-16 08:08:48 +02:00
rme9652 Merge branch 'fix/misc' into topic/misc 2010-10-11 13:45:22 +02:00
trident fix typos concerning "initiali[zs]e" 2010-06-16 18:05:05 +02:00
vx222 sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
ymfpci sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
Kconfig ALSA: virtuoso: update Kconfig text 2010-09-09 10:53:43 +02:00
Makefile ALSA: Add support of AudioScience ASI boards 2010-04-22 07:21:53 +02:00
ad1889.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
ad1889.h
ak4531_codec.c ALSA: Fix missing KERN_* prefix to printk in sound/pci 2009-02-05 16:11:31 +01:00
als300.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
als4000.c ALSA: als4000: Fix potentially invalid DMA mode setup 2010-08-04 23:18:33 +02:00
atiixp.c Merge branch 'fix/misc' into topic/misc 2010-02-17 14:24:46 +01:00
atiixp_modem.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
azt3328.c ALSA: azt3328: period bug fix (for PA), add missing ACK on stop timer 2010-11-22 10:56:53 +01:00
azt3328.h ALSA: azt3328: fix previous breakage, improve suspend, cleanups 2009-07-15 12:03:26 +02:00
bt87x.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
cmipci.c ALSA: cmipci: work around invalid PCM pointer 2010-03-24 08:02:11 +01:00
cs4281.c ALSA: info - Check file position validity in common layer 2010-04-13 12:01:14 +02:00
cs5530.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
ens1370.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
ens1371.c
es1938.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
es1968.c ALSA: es1968: Clear interrupts before enabling them 2010-05-08 11:51:06 +02:00
fm801.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
intel8x0.c ALSA: ac97: Apply quirk for Dell Latitude D610 binding Master and Headphone controls 2010-11-22 07:39:40 +01:00
intel8x0m.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
maestro3.c ALSA: maestro3: Clear interrupts before enabling them 2010-05-08 11:51:13 +02:00
rme32.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
rme96.c sound: Remove unnecessary casts of private_data 2010-09-07 08:05:59 +02:00
sis7019.c sis7019: increase reset delays 2010-06-28 09:42:22 +02:00
sis7019.h trivial: fix typos s/paramter/parameter/ and s/excute/execute/ in documentation and source comments. 2009-06-12 18:01:46 +02:00
sonicvibes.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
via82xx.c ALSA: via82xx: allow changing the initial DXS volume 2010-07-12 17:25:27 +02:00
via82xx_modem.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00