Thread (2 messages) 2 messages, 2 authors, 2004-09-28

Re: powerpc with gigabit card hanging

From: Segher Boessenkool <hidden>
Date: 2004-09-28 06:00:01

Possibly related (same subject, not in this thread)

quoted
PCI device IRQs are normally retrieved straight from the PCI device
itself.  Sounds like a firmware problem (or the bootloader, if that
sets up the PCI devices for you).
This assumes a world where everything is managed by magic BIOS/OF
initialization. That's not the case for this user's board port.
The OS (Linux, specifically) won't do it for you.  It has to be set up
beforehand.  Unless "embedded Linux" gets this the wrong way around
as well.
quoted
I believe Linux for PowerMac actually gets the IRQ number straight
from the device.  Some other routing might be gotten out of the OF
device-tree, yes.
The interrupt line register is always programmed by firmware, bios,
or an OS. It is a logical value that is dependent on the platform.
a) Don't pretend I don't know this; and b) it is wrong.  On the
majority of platforms, you can route any PCI IRQ to any number you want.
The firmware will tell you where it ends up (over PCI config space).
The only thing statically available on a PCI device is the interrupt
pin register value.
That only tells you whether the device has any IRQ at all.
That combined with the platform-specific routing
table is used to generate an arbitrary interrupt line value that
is programmed into the PCI interrupt line register.
interrupt line == IRQ#?  That is set up _before_ Linux runs.


Segher
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help