* 3c509s drop the low-oder bits of EP_THRESH_DISABLE (2047) on a write,
and the result reads back as zero. Mask probe code accordingly.
This commit is contained in:
parent
73b960a308
commit
f6a82ef733
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: elink3.c,v 1.12 1996/11/17 23:58:29 jonathan Exp $ */
|
||||
/* $NetBSD: elink3.c,v 1.13 1996/11/22 04:48:26 jonathan Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1994 Herb Peyerl <hpeyerl@beer.org>
|
||||
|
@ -158,16 +158,17 @@ epconfig(sc, conn)
|
|||
* threshold value was shifted or not.
|
||||
*/
|
||||
bus_space_write_2(iot, ioh, EP_COMMAND,
|
||||
SET_TX_AVAIL_THRESH | EP_THRESH_DISABLE );
|
||||
SET_TX_AVAIL_THRESH | EP_LARGEWIN_PROBE );
|
||||
GO_WINDOW(5);
|
||||
i = bus_space_read_2(iot, ioh, EP_W5_TX_AVAIL_THRESH);
|
||||
GO_WINDOW(1);
|
||||
switch (i) {
|
||||
case EP_THRESH_DISABLE:
|
||||
case EP_LARGEWIN_PROBE:
|
||||
case (EP_LARGEWIN_PROBE & EP_LARGEWIN_MASK):
|
||||
sc->ep_pktlenshift = 0;
|
||||
break;
|
||||
|
||||
case (EP_THRESH_DISABLE << 2):
|
||||
case (EP_LARGEWIN_PROBE << 2):
|
||||
sc->ep_pktlenshift = 2;
|
||||
break;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: elink3reg.h,v 1.6 1996/11/17 23:58:30 jonathan Exp $ */
|
||||
/* $NetBSD: elink3reg.h,v 1.7 1996/11/22 04:48:27 jonathan Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1995 Herb Peyerl <hpeyerl@beer.org>
|
||||
|
@ -359,3 +359,7 @@
|
|||
#define IS_PCI_AUI (1<<5)
|
||||
#define IS_PCI_BNC (1<<4)
|
||||
#define IS_PCI_UTP (1<<3)
|
||||
|
||||
/* Used to probe for large-packet support */
|
||||
#define EP_LARGEWIN_PROBE EP_THRESH_DISABLE
|
||||
#define EP_LARGEWIN_MASK 0xffc
|
||||
|
|
Loading…
Reference in New Issue