Module Name:    src
Committed By:   matt
Date:           Fri Oct  5 03:24:51 UTC 2012

Modified Files:
        src/sys/arch/arm/broadcom: bcm53xx_eth.c

Log Message:
Set IC after clearing flags.
Insert RCVOFFSET correctly.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/broadcom/bcm53xx_eth.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/broadcom/bcm53xx_eth.c
diff -u src/sys/arch/arm/broadcom/bcm53xx_eth.c:1.3 src/sys/arch/arm/broadcom/bcm53xx_eth.c:1.4
--- src/sys/arch/arm/broadcom/bcm53xx_eth.c:1.3	Fri Oct  5 02:48:36 2012
+++ src/sys/arch/arm/broadcom/bcm53xx_eth.c	Fri Oct  5 03:24:51 2012
@@ -33,7 +33,7 @@
 
 #include <sys/cdefs.h>
 
-__KERNEL_RCSID(1, "$NetBSD: bcm53xx_eth.c,v 1.3 2012/10/05 02:48:36 matt Exp $");
+__KERNEL_RCSID(1, "$NetBSD: bcm53xx_eth.c,v 1.4 2012/10/05 03:24:51 matt Exp $");
 
 #include <sys/param.h>
 #include <sys/atomic.h>
@@ -433,7 +433,8 @@ bcmeth_ifinit(struct ifnet *ifp)
 	/* 5. Load RCVADDR_LO with new pointer */
 	bcmeth_rxq_reset(sc, &sc->sc_rxq);
 
-	bcmeth_write_4(sc, sc->sc_rxq.rxq_reg_rcvctl, BCMETH_RCVOFFSET
+	bcmeth_write_4(sc, sc->sc_rxq.rxq_reg_rcvctl,
+	    __SHIFTIN(BCMETH_RCVOFFSET, RCVCTL_RCVOFFSET)
 	    | RCVCTL_PARITY_DIS
 	    | RCVCTL_OFLOW_CONTINUE
 	    | __SHIFTIN(4, RCVCTL_BURSTLEN));
@@ -852,8 +853,8 @@ bcmeth_rxq_produce(
 
 		producer->rxdb_buflen = MCLBYTES;
 		producer->rxdb_addrlo = map->dm_segs[0].ds_addr;
-		producer->rxdb_flags |= RXDB_FLAG_IC;
 		producer->rxdb_flags &= RXDB_FLAG_ET;
+		producer->rxdb_flags |= RXDB_FLAG_IC;
 		*rxq->rxq_mtail = m;
 		rxq->rxq_mtail = &m->m_next;
 		m->m_len = MCLBYTES;

Reply via email to