LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   No interrupts from PCI bridge device on Intel core duo Suse 11.1 (https://www.linuxquestions.org/questions/linux-hardware-18/no-interrupts-from-pci-bridge-device-on-intel-core-duo-suse-11-1-a-760343/)

angelambayley 10-07-2009 11:14 AM

No interrupts from PCI bridge device on Intel core duo Suse 11.1
 
We have an xembedded.com/Xycom Intel Core Duo with PCI Tundra Universe 2 bridge chip Linux 2.6.27.29-0.1-default.

The problem is the processor doesn't receive any interrupts from the bridge, interrupt 11 below.

daisy:~ # cat /proc/interrupts
CPU0 CPU1
0: 72 0 IO-APIC-edge timer
1: 0 10 IO-APIC-edge i8042
2: 0 0 XT-PIC-XT cascade
3: 0 1 IO-APIC-edge
4: 0 2 IO-APIC-edge
8: 0 0 IO-APIC-edge rtc0
11: 0 0 IO-APIC-fasteoi MPV991
12: 0 103 IO-APIC-edge i8042
16: 0 0 IO-APIC-fasteoi uhci_hcd:usb2
18: 0 12360 IO-APIC-fasteoi ata_piix, ata_piix
19: 0 0 IO-APIC-fasteoi uhci_hcd:usb3
23: 0 0 IO-APIC-fasteoi ehci_hcd:usb1
223: 0 68760 PCI-MSI-edge eth0
NMI: 0 0 Non-maskable interrupts
LOC: 4650638 4650634 Local timer interrupts
RES: 1184 1128 Rescheduling interrupts
CAL: 1443 61 function call interrupts
TLB: 605 430 TLB shootdowns
TRM: 0 0 Thermal event interrupts
SPU: 0 0 Spurious interrupts
ERR: 0
MIS: 0

If we turn off APIC in the BIOS and use legacy PIC and specify the 'noapic' kernel parameter the bridge device interrupts continuously (interrupt 11 below):

daisy:/sdb1/esystems/drivers/XIP-2480 # cat /proc/interrupts
CPU0 CPU1
0: 61 0 XT-PIC-XT timer
1: 10 0 XT-PIC-XT i8042
2: 0 0 XT-PIC-XT cascade
3: 2 0 XT-PIC-XT
4: 2 0 XT-PIC-XT
5: 0 0 XT-PIC-XT ehci_hcd:usb3
8: 0 0 XT-PIC-XT rtc0
9: 0 0 XT-PIC-XT uhci_hcd:usb2
10: 4765 0 XT-PIC-XT ata_piix, ata_piix
11: 9021 0 XT-PIC-XT uhci_hcd:usb1, MPV991
12: 103 0 XT-PIC-XT i8042
223: 0 382 PCI-MSI-edge eth0
NMI: 0 0 Non-maskable interrupts
LOC: 18169 18287 Local timer interrupts
RES: 421 510 Rescheduling interrupts
CAL: 114 152 function call interrupts
TLB: 207 327 TLB shootdowns
TRM: 0 0 Thermal event interrupts
SPU: 0 0 Spurious interrupts
ERR: 0
MIS: 0

'Firmbase' is disabled in the BIOS. I believe this disables USB devices.

Can anyone shed any light on this so we can get interrupts working?

Many thanks
Angela

business_kid 10-08-2009 04:11 AM

A few suggestions: I take it you will try all permutations of these settings.

First of all, I would recompile the kernel _without_ generic support and with your chipset only. Go for edge triggered interrupts, leave the apic on in the bios but be ready to turn it off on the boot line. Then I would go for manufacturers, and driver authors and try for ideas.

angelambayley 10-08-2009 05:12 AM

Thanks for the suggestion. I'll certainly try rebuilding the kernel.

The manufacturer suggests setting ide0 to PIO, and disabling ACPI in the
BIOS, also supplying irqpoll and acpi=noirq to the kernel. I am in the process of trying this.

NB The same driver works correctly on the manufacturer's Intel Pentium III and M running 2.6.13-15-default (Suse 10.0) but we had to turn off ACPI in the BIOS to get interrupts working on the Pentium M. In my experience turning ACPI off solves quite a few problems!

angelambayley 11-11-2009 01:54 AM

Solved
 
We eventually got interrupts to work by supplying the boot parameter noapic to the kernel.

Hope this is help to anyone with the same problem with APIC.

business_kid 11-12-2009 03:07 AM

That's great! I feel your pain, but am glad it's over. Make a mental note that your next mobo has a decent chipset.

Noapic boot parameter brings you back to 16 interrupts, and things land more or less where expected. The big difference is the output of
cat /proc/interrupts with & without that.


All times are GMT -5. The time now is 09:26 PM.