diff options
author | benno <benno@FreeBSD.org> | 2002-07-10 10:24:23 +0000 |
---|---|---|
committer | benno <benno@FreeBSD.org> | 2002-07-10 10:24:23 +0000 |
commit | c04f2a4cddd9c20c6ade603b2184d9589561ed90 (patch) | |
tree | 59419e0670d18b76107059ef309fecded9fd9b5f /sys/dev/gem/if_gemvar.h | |
parent | 9e81110a6ef2934f0e55dd5e0afbc4fcac5df4f0 (diff) | |
download | FreeBSD-src-c04f2a4cddd9c20c6ade603b2184d9589561ed90.zip FreeBSD-src-c04f2a4cddd9c20c6ade603b2184d9589561ed90.tar.gz |
Incorporate changes made to the NetBSD version of this driver.
- Remove some obsolete code (NetBSD gem.c r1.12)
- Clean up how the local MAC address is programmed (NetBSD gem.c r1.13)
- Make the driver work on PowerMacs with gigabit interfaces
(NetBSD gem.c r1.14 and r1.15, gemreg.h r1.3 and r1.4, gemvar.h r1.6 and 1.7)
- Suppress RX_MAC interrutps regarding the FRAME_COUNT register.
(NetBSD gem.c r1.16 and r1.17)
- Fix receiver lockups. (NetBSD gem.c r1.18, gemvar.h r1.8)
- Distinguish between Apple and Sun variants (NetBSD if_gem_pci.c r1.9)
Reviewed by: tmm
Obtained from: NetBSD
Diffstat (limited to 'sys/dev/gem/if_gemvar.h')
-rw-r--r-- | sys/dev/gem/if_gemvar.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/sys/dev/gem/if_gemvar.h b/sys/dev/gem/if_gemvar.h index 9e6c7ee..d86e709 100644 --- a/sys/dev/gem/if_gemvar.h +++ b/sys/dev/gem/if_gemvar.h @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * from: NetBSD: gemvar.h,v 1.5 2001/10/18 15:19:22 thorpej Exp + * from: NetBSD: gemvar.h,v 1.8 2002/05/15 02:36:12 matt Exp * * $FreeBSD$ */ @@ -57,6 +57,7 @@ */ #define GEM_NRXDESC 128 #define GEM_NRXDESC_MASK (GEM_NRXDESC - 1) +#define GEM_PREVRX(x) ((x - 1) & GEM_NRXDESC_MASK) #define GEM_NEXTRX(x) ((x + 1) & GEM_NRXDESC_MASK) /* @@ -153,6 +154,13 @@ struct gem_softc { int sc_mif_config; /* Selected MII reg setting */ int sc_pci; /* XXXXX -- PCI buses are LE. */ + u_int sc_variant; /* which GEM are we dealing with? */ +#define GEM_UNKNOWN 0 /* don't know */ +#define GEM_SUN_GEM 1 /* Sun GEM variant */ +#define GEM_APPLE_GMAC 2 /* Apple GMAC variant */ + + u_int sc_flags; /* */ +#define GEM_GIGABIT 0x0001 /* has a gigabit PHY */ /* * Ring buffer DMA stuff. @@ -177,16 +185,18 @@ struct gem_softc { int sc_txfree; /* number of free Tx descriptors */ int sc_txnext; /* next ready Tx descriptor */ + int sc_txwin; /* Tx descriptors since last Tx int */ struct gem_txsq sc_txfreeq; /* free Tx descsofts */ struct gem_txsq sc_txdirtyq; /* dirty Tx descsofts */ int sc_rxptr; /* next ready RX descriptor/descsoft */ + int sc_rxfifosize; /* Rx FIFO size (bytes) */ /* ========== */ int sc_inited; int sc_debug; - int sc_flags; + int sc_ifflags; /* Special hardware hooks */ void (*sc_hwreset)(struct gem_softc *); |