Messages in this thread | | | Subject | Re: Help enabling PCI interrupts on Dell/SMP and Sun/SMP systems. | From | Alan Kilian <> | Date | Wed, 23 Feb 2005 16:17:46 -0600 |
| |
> On Wed, 23 Feb 2005, Dick Johnson wrote: > > call pci_enable_device(dev) > ... before you use the IRQ in dev->irq. > > The reported IRQ is bogus until you make that > call. It's a reported BUG, probably won't > ever get fixed because it's considered a > feature. > > Also, make sure that your .config for the Dell looks > something like: > > CONFIG_X86_IO_APIC=y > CONFIG_X86_LOCAL_APIC=y > CONFIG_PCI=y > # CONFIG_PCI_GOBIOS is not set > # CONFIG_PCI_GODIRECT is not set > CONFIG_PCI_GOANY=y > CONFIG_PCI_BIOS=y > CONFIG_PCI_DIRECT=y
Dick,
Thanks for the quick reply.
1) I call pci_enable_device(dev) immediatly after I call dev = pci_find_device(0x1492, PCI_ANY_ID, dev);
2) I have verified all the CONFIG settings you suggested.
Here is `cat /proc/interrupts` on my working dell:
CPU0 0: 16891629 XT-PIC timer 1: 10 XT-PIC i8042 2: 0 XT-PIC cascade 3: 2 XT-PIC parport0 5: 764 XT-PIC sse 7: 422 XT-PIC ohci_hcd 8: 1 XT-PIC rtc 9: 0 XT-PIC acpi 11: 35198 XT-PIC eth0 12: 66 XT-PIC i8042 14: 42769 XT-PIC ide0 15: 151569 XT-PIC ide1 NMI: 0 ERR: 0
My driver is called "sse" and is interrupting at IRQ #5
Here is `cat /proc/interrupts` on my non-working Sun:
CPU0 CPU1 0: 7302649 7417311 IO-APIC-edge timer 5: 0 0 IO-APIC-edge sse 8: 0 1 IO-APIC-edge rtc 9: 0 0 IO-APIC-level acpi 15: 1 478 IO-APIC-edge ide1 169: 0 30 IO-APIC-level aic79xx 177: 13991 18084 IO-APIC-level aic79xx 185: 0 3 IO-APIC-level ehci_hcd 193: 0 26 IO-APIC-level ohci_hcd 201: 0 21 IO-APIC-level ohci_hcd 209: 167119 87 IO-APIC-level eth0 NMI: 0 0 LOC: 14719159 14719203 ERR: 0 MIS: 0
It appears that the card is also interrupting at IRQ#5
There is an interesting message on the Sun in /var/log/messages:
Feb 23 14:01:26 sunw1200z kernel: sse: no version magic, tainting kernel. Feb 23 14:01:26 sunw1200z kernel: SSE: Found a DeCypher card. Feb 23 14:01:26 sunw1200z kernel: ACPI: PCI interrupt 0000:13:03.0[A] -> GSI 36 (level, low) -> IRQ 217 Feb 23 14:01:26 sunw1200z kernel: interrupting on line 5 Feb 23 14:01:26 sunw1200z kernel: SSE: bar[0] From 0xd2806000 to 0xd2806fff F=0x200 MEMORY space Feb 23 14:01:26 sunw1200z kernel: SSE: bar[1] From 0xd2800000 to 0xd2801fff F=0x200 MEMORY space Feb 23 14:01:26 sunw1200z kernel: SSE: bar[2] From 0xd2000000 to 0xd27fffff F=0x200 MEMORY space Feb 23 14:01:26 sunw1200z kernel: SSE: bar[0] mybase = 0xf889a000 size = 0x00001000 D'4096 Feb 23 14:01:26 sunw1200z kernel: SSE: bar[1] mybase = 0xf889c000 size = 0x00002000 D'8192 Feb 23 14:01:26 sunw1200z kernel: SSE: bar[2] mybase = 0xf8b00000 size = 0x00800000 D'8388608 Feb 23 14:01:26 sunw1200z kernel: pci_alloc_consistent returned 0xf0ded000 Feb 23 14:01:26 sunw1200z kernel: sse_read_bus_buffer 0x30ded000 Feb 23 14:01:26 sunw1200z kernel: request_irq() returned 0 Feb 23 14:01:26 sunw1200z kernel: SSE device_id 3, Rev 4 Feb 23 14:01:26 sunw1200z kernel: SSE Before: intstatus = 0x00000000 Feb 23 14:01:26 sunw1200z kernel: SSE Before: intstatus = 0x00000000 Feb 23 14:01:26 sunw1200z kernel: SSE: End of card attachment. Number of cards = 1 Feb 23 14:01:26 sunw1200z kernel: Iterating through the softp structures... Feb 23 14:01:26 sunw1200z kernel: Card at softp->mem_reg1 0xf889a000 minor = 0
The interesting bits seem to be these two lines:
kernel: SSE: Found a DeCypher card. kernel: ACPI: PCI interrupt 0000:13:03.0[A] -> GSI 36 (level, low) -> IRQ 217
The first message is in my driver after pci_find_device() The second is from when I do pci_enable_device(dev);
Can you decode the mysterious ACPI message?
-Alan
-- - Alan Kilian <kilian(at)bobodyne.com>
- 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/
| |