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;