PERFORCE change 102056 for review
Paolo Pisati
piso at FreeBSD.org
Fri Jul 21 15:34:59 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=102056
Change 102056 by piso at piso_longino on 2006/07/21 15:34:02
Axe INTR_FAST.
Affected files ...
.. //depot/projects/soc2006/intr_filter/sparc64/pci/psycho.c#5 edit
.. //depot/projects/soc2006/intr_filter/sparc64/sbus/sbus.c#5 edit
Differences ...
==== //depot/projects/soc2006/intr_filter/sparc64/pci/psycho.c#5 (text+ko) ====
@@ -219,14 +219,18 @@
* On UltraII machines, there can be any number of "Psycho+" ICs, each
* providing two PCI buses.
*/
+/* XXX let's hope no one ever create a flag with this value... */
+#define FAST 0x66600000
+
#ifdef DEBUGGER_ON_POWERFAIL
-#define PSYCHO_PWRFAIL_INT_FLAGS INTR_FAST
+#define PSYCHO_PWRFAIL_INT_FLAGS FAST
#else
#define PSYCHO_PWRFAIL_INT_FLAGS 0
#endif
#define OFW_PCI_TYPE "pci"
+
struct psycho_desc {
const char *pd_string;
int pd_mode;
@@ -454,7 +458,7 @@
* interrupt but they are also only used for PCI bus A.
*/
psycho_set_intr(sc, 0, dev, sc->sc_half == 0 ? PSR_PCIAERR_INT_MAP :
- PSR_PCIBERR_INT_MAP, INTR_FAST, psycho_pci_bus);
+ PSR_PCIBERR_INT_MAP, FAST, psycho_pci_bus);
/*
* If we're a Hummingbird/Sabre or the first of a pair of Psycho's to
@@ -470,7 +474,7 @@
* XXX Not all controllers have these, but installing them
* is better than trying to sort through this mess.
*/
- psycho_set_intr(sc, 1, dev, PSR_UE_INT_MAP, INTR_FAST,
+ psycho_set_intr(sc, 1, dev, PSR_UE_INT_MAP, FAST,
psycho_ue);
psycho_set_intr(sc, 2, dev, PSR_CE_INT_MAP, 0, psycho_ce);
psycho_set_intr(sc, 3, dev, PSR_POWER_INT_MAP,
@@ -487,7 +491,7 @@
* over-temperature interrupt.
*/
psycho_set_intr(sc, 4, dev, PSR_SPARE_INT_MAP,
- INTR_FAST, psycho_overtemp);
+ FAST, psycho_overtemp);
#ifdef PSYCHO_MAP_WAKEUP
/*
* psycho_wakeup() doesn't do anything useful right
@@ -625,8 +629,8 @@
vec, vec, 1, RF_ACTIVE);
if (sc->sc_irq_res[index] == NULL)
panic("%s: failed to get interrupt", __func__);
- if (iflags & INTR_FAST)
- bus_setup_intr(dev, sc->sc_irq_res[index], INTR_TYPE_MISC | iflags,
+ if (iflags & FAST)
+ bus_setup_intr(dev, sc->sc_irq_res[index], INTR_TYPE_MISC | (iflags & ~FAST),
handler, NULL, sc, &sc->sc_ihand[index]);
else
bus_setup_intr(dev, sc->sc_irq_res[index], INTR_TYPE_MISC | iflags,
==== //depot/projects/soc2006/intr_filter/sparc64/sbus/sbus.c#5 (text+ko) ====
@@ -433,8 +433,8 @@
if ((sc->sc_ot_ires = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, vec,
vec, 1, RF_ACTIVE)) == NULL)
panic("%s: failed to get temperature interrupt", __func__);
- bus_setup_intr(dev, sc->sc_ot_ires, INTR_TYPE_MISC | INTR_FAST,
- (driver_filter_t *)sbus_overtemp, NULL, sc, &sc->sc_ot_ihand);
+ bus_setup_intr(dev, sc->sc_ot_ires, INTR_TYPE_MISC,
+ sbus_overtemp, NULL, sc, &sc->sc_ot_ihand);
SYSIO_WRITE8(sc, SBR_THERM_INT_MAP, INTMAP_ENABLE(mr, PCPU_GET(mid)));
rid = 0;
mr = SYSIO_READ8(sc, SBR_POWER_INT_MAP);
@@ -442,8 +442,8 @@
if ((sc->sc_pf_ires = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, vec,
vec, 1, RF_ACTIVE)) == NULL)
panic("%s: failed to get power fail interrupt", __func__);
- bus_setup_intr(dev, sc->sc_pf_ires, INTR_TYPE_MISC | INTR_FAST,
- (driver_filter_t *)sbus_pwrfail, NULL, sc, &sc->sc_pf_ihand);
+ bus_setup_intr(dev, sc->sc_pf_ires, INTR_TYPE_MISC,
+ sbus_pwrfail, NULL, sc, &sc->sc_pf_ihand);
SYSIO_WRITE8(sc, SBR_POWER_INT_MAP, INTMAP_ENABLE(mr, PCPU_GET(mid)));
/* Initialize the counter-timer. */
More information about the p4-projects
mailing list