2.5.74: ALSA lockups, and ACPI, IRQ routing

Ivan Gyurdiev (ivg2@cornell.edu)
Thu, 3 Jul 2003 04:22:55 -0400


As I've reported several times to LKML, I'm experiencing annoying ALSA lockups
when using multimedia programs like xmms, xine, and mplayer.
My problem wasn't fixed in the last 4-5 kernels or so but I managed to figure
out a workaround. When booting with acpi=off, the lockups are gone.

Why?
Here's some info....
==========================================
ALSA errors with DEBUG on memory allocation, and verbose prink:

ALSA sound/core/pcm_lib.c:215: Unexpected hw_pointer value (stream = 0, delta:
-6488, max jitter = 8192): wrong interrupt acknowledge?
ALSA sound/pci/via82xx.c:687: invalid via82xx_cur_ptr, using last valid pointe

ALSA sound/core/pcm_native.c:1263: playback drain error (DMA or IRQ trouble?)
ALSA sound/pci/via82xx.c:687: invalid via82xx_cur_ptr, using last valid
pointer

mplayer:
ALSA lib pcm_hw.c:524:(snd_pcm_hw_drain) SNDRV_PCM_IOCTL_DRAIN failed:
Input/output error
alsa-pause: pcm drain error: Input/output error

========================================
IRQ related ACPI messages/errors:

ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 *7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 1 *3 4 5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 7 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 7 *10 11 12 14 15)
ACPI: PCI Interrupt Link [ALKA] (IRQs 20, disabled)
ACPI: PCI Interrupt Link [ALKB] (IRQs 21, disabled)
ACPI: PCI Interrupt Link [ALKC] (IRQs 22, disabled)
ACPI: PCI Interrupt Link [ALKD] (IRQs 23, disabled)

ACPI: No IRQ known for interrupt pin A of device 0000:00:10.0
ACPI: No IRQ known for interrupt pin B of device 0000:00:10.1
ACPI: No IRQ known for interrupt pin C of device 0000:00:10.2
ACPI: No IRQ known for interrupt pin D of device 0000:00:10.3
ACPI: No IRQ known for interrupt pin A of device 0000:00:11.1 - using IRQ 255
ACPI: No IRQ known for interrupt pin C of device 0000:00:11.5

0000:00:11.5 is my sound device (VIA 8233)

=======================================
/proc/interrupts under 2.5.74 with ACPI (init level 5):
CPU0
0: 183866 IO-APIC-edge timer
1: 336 IO-APIC-edge i8042
2: 0 XT-PIC cascade
3: 0 IO-APIC-edge uhci-hcd
7: 0 IO-APIC-edge uhci-hcd
8: 1 IO-APIC-edge rtc
9: 0 IO-APIC-level acpi
10: 0 IO-APIC-edge ehci_hcd
11: 0 IO-APIC-edge uhci-hcd, VIA8233
12: 3433 IO-APIC-edge i8042
14: 17003 IO-APIC-edge ide0
15: 10 IO-APIC-edge ide1
16: 8167 IO-APIC-level nvidia
18: 32 IO-APIC-level eth1
19: 723 IO-APIC-level eth0
NMI: 0
LOC: 183783
ERR: 0
MIS: 0

/proc/interrupts under 2.5.74 with ACPI off (init level 3):
CPU0
0: 70300 IO-APIC-edge timer
1: 516 IO-APIC-edge i8042
2: 0 XT-PIC cascade
8: 5419 IO-APIC-edge rtc
12: 232 IO-APIC-edge i8042
14: 2266 IO-APIC-edge ide0
15: 10 IO-APIC-edge ide1
19: 0 IO-APIC-level ehci_hcd
21: 0 IO-APIC-level uhci-hcd, uhci-hcd, uhci-hcd
22: 172 IO-APIC-level VIA8233
NMI: 0
LOC: 70219
ERR: 0
MIS: 0

Why does using ACPI cause my soundcard to lockup?
Any help will be greatly appreciated.
(BTW 2.4 kernels worked fine with ACPI on...)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/