summaryrefslogtreecommitdiffstats
path: root/sys/sparc64
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/sparc64
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/sparc64')
-rw-r--r--sys/sparc64/ebus/ebus.c2
-rw-r--r--sys/sparc64/isa/ofw_isa.c2
-rw-r--r--sys/sparc64/pci/fire.c2
-rw-r--r--sys/sparc64/pci/ofw_pcib_subr.c2
-rw-r--r--sys/sparc64/pci/psycho.c2
-rw-r--r--sys/sparc64/pci/schizo.c2
6 files changed, 6 insertions, 6 deletions
diff --git a/sys/sparc64/ebus/ebus.c b/sys/sparc64/ebus/ebus.c
index 124eebb..5f41ac1 100644
--- a/sys/sparc64/ebus/ebus.c
+++ b/sys/sparc64/ebus/ebus.c
@@ -619,7 +619,7 @@ ebus_setup_dinfo(device_t dev, struct ebus_softc *sc, phandle_t node)
intr = intrs[i];
rv = ofw_bus_lookup_imap(node, &sc->sc_iinfo, &reg,
sizeof(reg), &intr, sizeof(intr), &rintr,
- sizeof(rintr), maskbuf);
+ sizeof(rintr), NULL, maskbuf);
#ifndef SUN4V
if (rv != 0)
rintr = INTMAP_VEC(sc->sc_ign, rintr);
diff --git a/sys/sparc64/isa/ofw_isa.c b/sys/sparc64/isa/ofw_isa.c
index 6139ba7..81b6466 100644
--- a/sys/sparc64/isa/ofw_isa.c
+++ b/sys/sparc64/isa/ofw_isa.c
@@ -113,7 +113,7 @@ ofw_isa_route_intr(device_t bridge, phandle_t node, struct ofw_bus_iinfo *ii,
* fully specified, so we may not continue to map.
*/
if (!ofw_bus_lookup_imap(node, ii, &reg, sizeof(reg),
- &intr, sizeof(intr), &mintr, sizeof(mintr), maskbuf)) {
+ &intr, sizeof(intr), &mintr, sizeof(mintr), NULL, maskbuf)) {
/* Try routing at the parent bridge. */
mintr = PCIB_ROUTE_INTERRUPT(pbridge, bridge, intr);
}
diff --git a/sys/sparc64/pci/fire.c b/sys/sparc64/pci/fire.c
index 4a3b060..e401a6c 100644
--- a/sys/sparc64/pci/fire.c
+++ b/sys/sparc64/pci/fire.c
@@ -1476,7 +1476,7 @@ fire_route_interrupt(device_t bridge, device_t dev, int pin)
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) != 0)
+ NULL, maskbuf) != 0)
return (mintr);
device_printf(bridge, "could not route pin %d for device %d.%d\n",
diff --git a/sys/sparc64/pci/ofw_pcib_subr.c b/sys/sparc64/pci/ofw_pcib_subr.c
index 6dd0990..6001023 100644
--- a/sys/sparc64/pci/ofw_pcib_subr.c
+++ b/sys/sparc64/pci/ofw_pcib_subr.c
@@ -77,7 +77,7 @@ ofw_pcib_gen_route_interrupt(device_t bridge, device_t dev, int intpin)
pintr = intpin;
if (ofw_bus_lookup_imap(ofw_bus_get_node(dev), ii, &reg,
sizeof(reg), &pintr, sizeof(pintr), &mintr, sizeof(mintr),
- maskbuf)) {
+ NULL, maskbuf)) {
/*
* If we've found a mapping, return it and don't map
* it again on higher levels - that causes problems
diff --git a/sys/sparc64/pci/psycho.c b/sys/sparc64/pci/psycho.c
index 28933f5..7f6fdc26 100644
--- a/sys/sparc64/pci/psycho.c
+++ b/sys/sparc64/pci/psycho.c
@@ -1046,7 +1046,7 @@ psycho_route_interrupt(device_t bridge, device_t dev, int pin)
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))
+ NULL, maskbuf))
return (mintr);
/*
* If this is outside of the range for an intpin, it's likely a full
diff --git a/sys/sparc64/pci/schizo.c b/sys/sparc64/pci/schizo.c
index 1d06199..ae0d9a0 100644
--- a/sys/sparc64/pci/schizo.c
+++ b/sys/sparc64/pci/schizo.c
@@ -1077,7 +1077,7 @@ schizo_route_interrupt(device_t bridge, device_t dev, int pin)
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))
+ NULL, maskbuf))
return (mintr);
device_printf(bridge, "could not route pin %d for device %d.%d\n",
OpenPOWER on IntegriCloud