PCI IRQ problems -- update

Jim Paris
2004-12-11T17:37:04Z

This is an update on my laptop's IRQ problem I mentioned back in Oct:
http://lkml.org/lkml/2004/10/15/20

In short, all PCI IRQs are routed via ACPI to PIC IRQ 9. When the
PIIX IDE device is enabled, it pulls on that interrupt until it gets
disabled ("nobody cared"). ide0 then continues to work on IRQ 14, but
all other devices are broken since IRQ 9 is disabled.

My previous solution was to use Alan Cox's "irqpoll" patch which
allowed the other devices to still function. That's a hack and I
wanted to find a real way to fix it.

It turns out that IDE is the only device connected to LNKC. I changed
the ACPI DSDT so that LNKC points to the unused IRQ 5, and all of my
problems magically went away. This is still a hack, but seems to work.

I'm not sure how to get to the root cause of the problem, though. For
starters: where _should_ the INTA of the IDE card go, if anywhere? If
my laptop's IDE is routed to and pulling on IRQ 9, how can it still be
functioning on IRQ 14? Or, if the routing doesn't matter, is there
anything I can do to prevent it from pulling on 9?

-jim