Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Jul 2006 15:34:57 GMT
From:      Paolo Pisati <piso@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 102056 for review
Message-ID:  <200607211534.k6LFYv9i071278@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=102056

Change 102056 by piso@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. */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607211534.k6LFYv9i071278>