summaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/trampoline.S
diff options
context:
space:
mode:
authorDavid S. Miller2006-02-17 08:01:10 +0100
committerDavid S. Miller2006-03-20 10:13:20 +0100
commit6154f94f0e1b3984ad2d0bcda586bc8946398b8a (patch)
tree8abc4d83ed8ddef986de2c0593f55d3e879c7c78 /arch/sparc64/kernel/trampoline.S
parent[SPARC64]: Don't set interrupt state to IDLE in enable_irq(). (diff)
downloadkernel-qcow2-linux-6154f94f0e1b3984ad2d0bcda586bc8946398b8a.tar.gz
kernel-qcow2-linux-6154f94f0e1b3984ad2d0bcda586bc8946398b8a.tar.xz
kernel-qcow2-linux-6154f94f0e1b3984ad2d0bcda586bc8946398b8a.zip
[SPARC64]: Rewrite pci_intmap_match().
The whole algorithm was wrong. What we need to do is: 1) Walk each PCI bus above this device on the path to the PCI controller nexus, and for each: a) If interrupt-map exists, apply it, record IRQ controller node b) Else, swivel interrupt number using PCI_SLOT(), use PCI bus parent OBP node as controller node c) Walk up to "controller node" until we hit the first PCI bus in this domain, or "controller node" is the PCI controller OBP node 2) If we walked to PCI controller OBP node, we're done. 3) Else, apply PCI controller interrupt-map to interrupt. There is some stuff that needs to be checked out for ebus and isa, but the PCI part is good to go. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/trampoline.S')
0 files changed, 0 insertions, 0 deletions