Re: [BUG] Ricoh Cardbus -> Can't get interrupts

From: Linus Torvalds
Date: Mon Nov 24 2003 - 22:26:56 EST



On Mon, 24 Nov 2003, Jean Tourrilhes wrote:

>
> Don't waste too much time on that, it might be hopeless. I
> personally don't believe that the kernel code will ever get it right,
> so I'm really looking at adding some override for this specific
> situation.

The kernel is actually very good at getting the PCI irq's right - if it
doesn't, _no_ PCI card will function right. This is definitely not a
"Cardbus is special" issue - the irq routing tables are used for every
single thing out there.

And in fact your tables seem to have the thing:

> Device 00:13.0 (slot 4): CardBus bridge
> INTA: link 0x61, irq mask 0x5af8 [3,4,5,6,7,9,11,12,14]
> INTB: link 0x62, irq mask 0x5af8 [3,4,5,6,7,9,11,12,14]
> INTC: link 0x63, irq mask 0x5af8 [3,4,5,6,7,9,11,12,14]
> INTD: link 0x60, irq mask 0x5af8 [3,4,5,6,7,9,11,12,14]

Can you enable DEBUG in "arch/i386/pci/pci.h"?

AHH.. I think I know what's up. Your PIRQ table is fine, but your MP table
probably doesn't translate the legacy IRQ into the APIC one.

You may be able to boot a UP kernel properly, but I'm sure that the MP
thing is solvable too. Send the whole dmesg out, with DEBUG enabled both
in pci.h and in "include/asm-i386/apic.h".

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