So, while the DEC chips and other clones want no FS|LS in the
setup descriptor, apparently the Xircom X3201-3 requires it.
This commit is contained in:
parent
da281d4321
commit
f4a3f5ea48
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: tulip.c,v 1.66 2000/05/25 16:37:33 thorpej Exp $ */
|
||||
/* $NetBSD: tulip.c,v 1.67 2000/05/25 18:46:07 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
|
||||
|
@ -260,6 +260,21 @@ tlp_attach(sc, enaddr)
|
|||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
* Default to no FS|LS in setup packet descriptors. They're
|
||||
* supposed to be zero according to the 21040 and 21143
|
||||
* manuals, and some chips fall over badly if they're
|
||||
* included. Yet, other chips seem to require them. Sigh.
|
||||
*/
|
||||
switch (sc->sc_chip) {
|
||||
case TULIP_CHIP_X3201_3:
|
||||
sc->sc_setup_fsls = TDCTL_Tx_FS|TDCTL_Tx_LS;
|
||||
break;
|
||||
|
||||
default:
|
||||
sc->sc_setup_fsls = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Set up various chip-specific quirks.
|
||||
*
|
||||
|
@ -2645,7 +2660,8 @@ tlp_filter_setup(sc)
|
|||
htole32(TULIP_CDSPADDR(sc));
|
||||
sc->sc_txdescs[sc->sc_txnext].td_ctl =
|
||||
htole32((TULIP_SETUP_PACKET_LEN << TDCTL_SIZE1_SHIFT) |
|
||||
sc->sc_filtmode | TDCTL_Tx_SET | TDCTL_Tx_IC | sc->sc_tdctl_ch |
|
||||
sc->sc_filtmode | TDCTL_Tx_SET | sc->sc_setup_fsls |
|
||||
TDCTL_Tx_IC | sc->sc_tdctl_ch |
|
||||
(sc->sc_txnext == (TULIP_NTXDESC - 1) ? sc->sc_tdctl_er : 0));
|
||||
sc->sc_txdescs[sc->sc_txnext].td_status = htole32(TDSTAT_OWN);
|
||||
TULIP_CDTXSYNC(sc, sc->sc_txnext, txs->txs_ndescs,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: tulipvar.h,v 1.34 2000/05/25 16:47:18 thorpej Exp $ */
|
||||
/* $NetBSD: tulipvar.h,v 1.35 2000/05/25 18:46:08 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
|
||||
|
@ -415,6 +415,8 @@ struct tulip_softc {
|
|||
u_int32_t sc_tdctl_ch; /* conditional desc chaining */
|
||||
u_int32_t sc_tdctl_er; /* conditional desc end-of-ring */
|
||||
|
||||
u_int32_t sc_setup_fsls; /* FS|LS on setup descriptor */
|
||||
|
||||
struct tulip_txsq sc_txfreeq; /* free Tx descsofts */
|
||||
struct tulip_txsq sc_txdirtyq; /* dirty Tx descsofts */
|
||||
|
||||
|
|
Loading…
Reference in New Issue