summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/powermac/uninorthpci.c
diff options
context:
space:
mode:
authornwhitehorn <nwhitehorn@FreeBSD.org>2010-06-18 14:06:27 +0000
committernwhitehorn <nwhitehorn@FreeBSD.org>2010-06-18 14:06:27 +0000
commitc757ee90aefd19aff23dfb5e938e8e1e8576dbd4 (patch)
tree28ab8d6b3802ae7f1a631f84f71839a5baa6a137 /sys/powerpc/powermac/uninorthpci.c
parentf26dfb440a0d48a874435768ee94475ddbe496a2 (diff)
downloadFreeBSD-src-c757ee90aefd19aff23dfb5e938e8e1e8576dbd4.zip
FreeBSD-src-c757ee90aefd19aff23dfb5e938e8e1e8576dbd4.tar.gz
Provide for multiple, cascaded PICs on PowerPC systems, and extend the
OFW interrupt map interface to also return the device's interrupt parent. MFC after: 8.1-RELEASE
Diffstat (limited to 'sys/powerpc/powermac/uninorthpci.c')
-rw-r--r--sys/powerpc/powermac/uninorthpci.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/powerpc/powermac/uninorthpci.c b/sys/powerpc/powermac/uninorthpci.c
index a8e1f2c..cfc8862 100644
--- a/sys/powerpc/powermac/uninorthpci.c
+++ b/sys/powerpc/powermac/uninorthpci.c
@@ -356,14 +356,15 @@ uninorth_route_interrupt(device_t bus, device_t dev, int pin)
struct uninorth_softc *sc;
struct ofw_pci_register reg;
uint32_t pintr, mintr;
+ phandle_t iparent;
uint8_t maskbuf[sizeof(reg) + sizeof(pintr)];
sc = device_get_softc(bus);
pintr = pin;
if (ofw_bus_lookup_imap(ofw_bus_get_node(dev), &sc->sc_pci_iinfo, &reg,
sizeof(reg), &pintr, sizeof(pintr), &mintr, sizeof(mintr),
- maskbuf))
- return (mintr);
+ &iparent, maskbuf))
+ return (INTR_VEC(iparent, mintr));
/* Maybe it's a real interrupt, not an intpin */
if (pin > 4)
OpenPOWER on IntegriCloud