[Midnightbsd-cvs] src: dev/nge: merge changes with freebsd 7

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Mon Dec 1 21:09:12 EST 2008


Log Message:
-----------
merge changes with freebsd 7

Modified Files:
--------------
    src/sys/dev/nge:
        if_nge.c (r1.2 -> r1.3)
        if_ngereg.h (r1.1.1.1 -> r1.2)

-------------- next part --------------
Index: if_nge.c
===================================================================
RCS file: /home/cvs/src/sys/dev/nge/if_nge.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -L sys/dev/nge/if_nge.c -L sys/dev/nge/if_nge.c -u -r1.2 -r1.3
--- sys/dev/nge/if_nge.c
+++ sys/dev/nge/if_nge.c
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/nge/if_nge.c,v 1.75.2.6 2006/01/13 19:21:44 glebius Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/nge/if_nge.c,v 1.91 2007/03/04 03:38:07 csjp Exp $");
 
 /*
  * National Semiconductor DP83820/DP83821 gigabit ethernet driver
@@ -113,7 +113,6 @@
 
 #include <vm/vm.h>              /* for vtophys */
 #include <vm/pmap.h>            /* for vtophys */
-#include <machine/clock.h>      /* for DELAY */
 #include <machine/bus.h>
 #include <machine/resource.h>
 #include <sys/bus.h>
@@ -133,7 +132,7 @@
 MODULE_DEPEND(nge, ether, 1, 1, 1);
 MODULE_DEPEND(nge, miibus, 1, 1, 1);
 
-/* "controller miibus0" required.  See GENERIC if you get errors here. */
+/* "device miibus" required.  See GENERIC if you get errors here. */
 #include "miibus_if.h"
 
 #define NGE_CSUM_FEATURES	(CSUM_IP | CSUM_TCP | CSUM_UDP)
@@ -742,7 +741,7 @@
 	}
 
 	if (i == NGE_TIMEOUT)
-		if_printf(sc->nge_ifp, "reset never completed\n");
+		device_printf(sc->nge_dev, "reset never completed\n");
 
 	/* Wait a little while for the chip to get its brains in order. */
 	DELAY(1000);
@@ -795,6 +794,7 @@
 	int			error = 0, rid;
 
 	sc = device_get_softc(dev);
+	sc->nge_dev = dev;
 
 	NGE_LOCK_INIT(sc, device_get_nameunit(dev));
 	callout_init_mtx(&sc->nge_stat_ch, &sc->nge_mtx, 0);
@@ -915,7 +915,7 @@
 	 * Hookup IRQ last.
 	 */
 	error = bus_setup_intr(dev, sc->nge_irq, INTR_TYPE_NET | INTR_MPSAFE,
-	    nge_intr, sc, &sc->nge_intrhand);
+	    NULL, nge_intr, sc, &sc->nge_intrhand);
 	if (error) {
 		device_printf(dev, "couldn't set up irq\n");
 		goto fail;
@@ -1227,10 +1227,9 @@
 		 * to vlan_input() instead of ether_input().
 		 */
 		if (extsts & NGE_RXEXTSTS_VLANPKT) {
-			VLAN_INPUT_TAG_NEW(ifp, m,
-			    ntohs(extsts & NGE_RXEXTSTS_VTCI));
-			if (m == NULL)
-				continue;
+			m->m_pkthdr.ether_vtag =
+			    ntohs(extsts & NGE_RXEXTSTS_VTCI);
+			m->m_flags |= M_VLANTAG;
 		}
 		NGE_UNLOCK(sc);
 		(*ifp->if_input)(ifp, m);
@@ -1322,7 +1321,7 @@
 			if (CSR_READ_4(sc, NGE_TBI_BMSR) 
 			    & NGE_TBIBMSR_ANEG_DONE) {
 				if (bootverbose)
-					if_printf(sc->nge_ifp, 
+					device_printf(sc->nge_dev, 
 					    "gigabit link up\n");
 				nge_miibus_statchg(sc->nge_miibus);
 				sc->nge_link++;
@@ -1340,7 +1339,7 @@
 				sc->nge_link++;
 				if (IFM_SUBTYPE(mii->mii_media_active) 
 				    == IFM_1000_T && bootverbose)
-					if_printf(sc->nge_ifp, 
+					device_printf(sc->nge_dev, 
 					    "gigabit link up\n");
 				if (ifp->if_snd.ifq_head != NULL)
 					nge_start_locked(ifp);
@@ -1507,7 +1506,6 @@
 	struct nge_desc		*f = NULL;
 	struct mbuf		*m;
 	int			frag, cur, cnt = 0;
-	struct m_tag		*mtag;
 
 	/*
  	 * Start packing the mbufs in this chain into
@@ -1549,10 +1547,9 @@
 			    NGE_TXEXTSTS_UDPCSUM;
 	}
 
-	mtag = VLAN_OUTPUT_TAG(sc->nge_ifp, m_head);
-	if (mtag != NULL) {
+	if (m_head->m_flags & M_VLANTAG) {
 		sc->nge_ldata->nge_tx_list[cur].nge_extsts |=
-		    (NGE_TXEXTSTS_VLANPKT|htons(VLAN_TAG_VALUE(mtag)));
+		    (NGE_TXEXTSTS_VLANPKT|htons(m_head->m_pkthdr.ether_vtag));
 	}
 
 	sc->nge_ldata->nge_tx_list[cur].nge_mbuf = m_head;
@@ -1616,7 +1613,7 @@
 		 * If there's a BPF listener, bounce a copy of this frame
 		 * to him.
 		 */
-		BPF_MTAP(ifp, m_head);
+		ETHER_BPF_MTAP(ifp, m_head);
 
 	}
 
@@ -1669,17 +1666,17 @@
 	/* Set MAC address */
 	CSR_WRITE_4(sc, NGE_RXFILT_CTL, NGE_FILTADDR_PAR0);
 	CSR_WRITE_4(sc, NGE_RXFILT_DATA,
-	    ((u_int16_t *)IFP2ENADDR(sc->nge_ifp))[0]);
+	    ((u_int16_t *)IF_LLADDR(sc->nge_ifp))[0]);
 	CSR_WRITE_4(sc, NGE_RXFILT_CTL, NGE_FILTADDR_PAR1);
 	CSR_WRITE_4(sc, NGE_RXFILT_DATA,
-	    ((u_int16_t *)IFP2ENADDR(sc->nge_ifp))[1]);
+	    ((u_int16_t *)IF_LLADDR(sc->nge_ifp))[1]);
 	CSR_WRITE_4(sc, NGE_RXFILT_CTL, NGE_FILTADDR_PAR2);
 	CSR_WRITE_4(sc, NGE_RXFILT_DATA,
-	    ((u_int16_t *)IFP2ENADDR(sc->nge_ifp))[2]);
+	    ((u_int16_t *)IF_LLADDR(sc->nge_ifp))[2]);
 
 	/* Init circular RX list. */
 	if (nge_list_rx_init(sc) == ENOBUFS) {
-		if_printf(sc->nge_ifp, "initialization failed: no "
+		device_printf(sc->nge_dev, "initialization failed: no "
 			"memory for rx buffers\n");
 		nge_stop(sc);
 		return;
@@ -2080,7 +2077,7 @@
 	sc = ifp->if_softc;
 
 	ifp->if_oerrors++;
-	if_printf(sc->nge_ifp, "watchdog timeout\n");
+	if_printf(ifp, "watchdog timeout\n");
 
 	NGE_LOCK(sc);
 	nge_stop(sc);
Index: if_ngereg.h
===================================================================
RCS file: /home/cvs/src/sys/dev/nge/if_ngereg.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -L sys/dev/nge/if_ngereg.h -L sys/dev/nge/if_ngereg.h -u -r1.1.1.1 -r1.2
--- sys/dev/nge/if_ngereg.h
+++ sys/dev/nge/if_ngereg.h
@@ -30,7 +30,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/nge/if_ngereg.h,v 1.13.2.1 2005/11/05 00:53:41 jhb Exp $
+ * $FreeBSD: src/sys/dev/nge/if_ngereg.h,v 1.16 2006/09/15 15:16:12 glebius Exp $
  */
 
 #define NGE_CSR			0x00
@@ -649,6 +649,7 @@
 
 struct nge_softc {
 	struct ifnet		*nge_ifp;
+	device_t		nge_dev;
 	bus_space_handle_t	nge_bhandle;
 	bus_space_tag_t		nge_btag;
 	struct resource		*nge_res;
@@ -731,8 +732,3 @@
 #define NGE_PSTATE_D3		0x0003
 #define NGE_PME_EN		0x0010
 #define NGE_PME_STATUS		0x8000
-
-#ifdef __alpha__
-#undef vtophys
-#define vtophys(va)		alpha_XXX_dmamap((vm_offset_t)va)
-#endif


More information about the Midnightbsd-cvs mailing list