Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm/broadcom Set IC after clearing flags.



details:   https://anonhg.NetBSD.org/src/rev/653f8c84acb8
branches:  trunk
changeset: 781887:653f8c84acb8
user:      matt <matt%NetBSD.org@localhost>
date:      Fri Oct 05 03:24:51 2012 +0000

description:
Set IC after clearing flags.
Insert RCVOFFSET correctly.

diffstat:

 sys/arch/arm/broadcom/bcm53xx_eth.c |  7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diffs (32 lines):

diff -r cf6f8960ea09 -r 653f8c84acb8 sys/arch/arm/broadcom/bcm53xx_eth.c
--- a/sys/arch/arm/broadcom/bcm53xx_eth.c       Fri Oct 05 02:48:36 2012 +0000
+++ b/sys/arch/arm/broadcom/bcm53xx_eth.c       Fri Oct 05 03:24:51 2012 +0000
@@ -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 @@
        /* 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 @@
 
                producer->rxdb_buflen = MCLBYTES;
                producer->rxdb_addrlo = map->dm_segs[0].ds_addr;
+               producer->rxdb_flags &= RXDB_FLAG_ET;
                producer->rxdb_flags |= RXDB_FLAG_IC;
-               producer->rxdb_flags &= RXDB_FLAG_ET;
                *rxq->rxq_mtail = m;
                rxq->rxq_mtail = &m->m_next;
                m->m_len = MCLBYTES;



Home | Main Index | Thread Index | Old Index