Bug 1440

Summary: sound problems from incorrect IRQ routing - IOAPIC + LNK
Product: ACPI Reporter: SungHyun Nam (namsh)
Component: Config-InterruptsAssignee: Len Brown (lenb)
Status: CLOSED CODE_FIX    
Severity: normal CC: acpi-bugzilla, adq_dvb, javibarroso
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.4.23-pre[678] Subsystem:
Regression: --- Bisected commit-id:
Attachments: cat /proc/interrupts using the kernel that has sound problem
alsa error message while trying to play sound
outputs of acpidmp
outputs of dmidecode
outputs of dmesg
/proc/interrupts using kernel which revert ChangeSet@1.1063..43.16
regression isolated to this patch
patch to address the issue
dmesg (kernel-BK + patch(id=1352)
/proc/interrupts: kernel-BK + patch (id=1352)
lspci -v output

Description SungHyun Nam 2003-10-27 21:47:08 UTC
Distribution: redhat 8.0
Hardware Environment: athlon
Software Environment: ??
Problem Description: cannot play sound

Steps to reproduce: boot -> play sound

If I revert the ChangeSet@1.1063.43.16, no sound problem.
Comment 1 SungHyun Nam 2003-10-27 21:48:40 UTC
Created attachment 1225 [details]
cat /proc/interrupts using the kernel that has sound problem
Comment 2 SungHyun Nam 2003-10-27 21:49:41 UTC
Created attachment 1226 [details]
alsa error message while trying to play sound
Comment 3 SungHyun Nam 2003-10-27 21:50:16 UTC
Created attachment 1227 [details]
outputs of acpidmp
Comment 4 SungHyun Nam 2003-10-27 21:50:46 UTC
Created attachment 1228 [details]
outputs of dmidecode
Comment 5 SungHyun Nam 2003-10-27 21:51:15 UTC
Created attachment 1229 [details]
outputs of dmesg
Comment 6 SungHyun Nam 2003-10-27 21:53:00 UTC
Created attachment 1230 [details]
/proc/interrupts using kernel which revert ChangeSet@1.1063..43.16
Comment 7 Len Brown 2003-11-01 19:50:41 UTC
Created attachment 1314 [details]
regression isolated to this patch

The acpi_pci_link_allocate patch (attached) was integrated to address bug#1186.
It would be a mistake to quickly revert it in the kernel, as those systems
would
immediately break.

But it is a workaround for systems which we don't program properly.
So it seems like a mistake to have it enabled by default, as it can
negatively impact system which do not require the workaround,
resulting IRQ routing may be non-optimal (bug #1391),
or incorrect (this report).

Probably we should enable the workaround on the failing systems
manually via boot flag, or by black-list, rather than always.
Comment 8 Len Brown 2003-11-04 21:08:04 UTC
Created attachment 1352 [details]
patch to address the issue

Please test this patch -- run the sound, attach the dmesg and /proc/interrupts.
Thanks, -Len
Comment 9 Len Brown 2003-11-04 21:15:06 UTC
Turns out that this systems is one of the rare birds that uses 
PCI Link Devices when in IO-APIC mode. 
Please attach the lspci -v output so we can get a better description of the hardware. 
 
Also, it would be interesting to know if the the systems works properly 
with the attached patch and "noapic" on the cmdline. 
 
Comment 10 SungHyun Nam 2003-11-04 22:22:23 UTC
Created attachment 1355 [details]
dmesg (kernel-BK + patch(id=1352)

Using current BK kernel + patch (id=1352), NO sound problem.
Comment 11 SungHyun Nam 2003-11-04 22:23:46 UTC
Created attachment 1356 [details]
/proc/interrupts: kernel-BK + patch (id=1352)
Comment 12 SungHyun Nam 2003-11-04 22:24:53 UTC
Created attachment 1357 [details]
lspci -v output
Comment 13 SungHyun Nam 2003-11-04 22:33:03 UTC
If I add 'pci=noacpi' cmdline option, X does not run.
I could see only BLANK screen.
I remember this system worked fine without ACPI (not-compiled into kernel). I
included ACPI code for automatic power-off (halt -p).

here is the /proc/interrupts with 'pci=noacpi':

           CPU0       
  0:       6535    IO-APIC-edge  timer
  1:        151    IO-APIC-edge  keyboard
  2:          0          XT-PIC  cascade
  8:          1    IO-APIC-edge  rtc
  9:          0    IO-APIC-edge  usb-uhci, usb-uhci
 10:          3    IO-APIC-edge  acpi, eth0
 14:       4569    IO-APIC-edge  ide0
 15:          6    IO-APIC-edge  ide1
NMI:          0 
LOC:       6490 
ERR:          0
MIS:          0
Comment 14 Len Brown 2003-11-05 21:59:48 UTC
Thanks for confirming that the patch fixes the sound problem. 
 
the pci=noacpi problem is because the system is fooled into enabling the IOAPIC 
when it hasn't got IOAPIC info from ACPI (and MPS doesn't exist).  this is bug #1219. 
Can you try out booting with "noapic"? 
 
Comment 15 SungHyun Nam 2003-11-05 22:17:44 UTC
Ah! I already tried 'noacpi'. Because I could not see any
difference, I tried 'pci=noacpi'.
I had no problem with 'noacpi' cmdline option.
Comment 16 Len Brown 2003-11-06 00:22:47 UTC
There is no such option "noacpi" -- so it is ignored. 
The option we want to try is "noapic". 
 
 
 
 
Comment 17 SungHyun Nam 2003-11-06 01:18:58 UTC
oops! With 'noapic', the sound works fine. I checked dmesg.

ACPI: Skipping IOAPIC probe due to 'noapic' option.
Kernel command line: ro hdc=ide-scsi vga=0x317 noapic
...

And /proc/interrupts:

  9:          0          XT-PIC  usb-uhci, usb-uhci
 10:       2143          XT-PIC  acpi, eth0, VIA686A
Comment 19 Javier Barroso 2010-03-04 09:03:28 UTC
*** Bug 15427 has been marked as a duplicate of this bug. ***