summaryrefslogtreecommitdiffstats
path: root/sys/dev/de
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1995-11-17 12:11:22 +0000
committerdg <dg@FreeBSD.org>1995-11-17 12:11:22 +0000
commit6a1863f80c26f13c80a8056bb239c86a35f53732 (patch)
tree23e2e00e6c19aa8137122300311042c52647b9b8 /sys/dev/de
parent7631637fd4b97f0b5042c959585b7e378eb294c4 (diff)
downloadFreeBSD-src-6a1863f80c26f13c80a8056bb239c86a35f53732.zip
FreeBSD-src-6a1863f80c26f13c80a8056bb239c86a35f53732.tar.gz
Set flag to stop backoff counter from counting when carrier activity is
detected. This dramatically reduces the collision rate (about 1/10th of what is was previously). Submitted by: Matt Thomas <matt@lkg.dec.com>
Diffstat (limited to 'sys/dev/de')
-rw-r--r--sys/dev/de/if_de.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/sys/dev/de/if_de.c b/sys/dev/de/if_de.c
index 6846df7..cebf9c4 100644
--- a/sys/dev/de/if_de.c
+++ b/sys/dev/de/if_de.c
@@ -21,7 +21,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: if_de.c,v 1.35 1995/10/26 07:40:11 davidg Exp $
+ * $Id: if_de.c,v 1.36 1995/11/14 10:03:56 phk Exp $
*
*/
@@ -414,7 +414,8 @@ static void
tulip_dc21040_media_select(
tulip_softc_t * const sc)
{
- sc->tulip_cmdmode |= TULIP_CMD_CAPTREFFCT|TULIP_CMD_THRSHLD160;
+ sc->tulip_cmdmode |= TULIP_CMD_CAPTREFFCT|TULIP_CMD_THRSHLD160
+ |TULIP_CMD_BACKOFFCTR;
TULIP_WRITE_CSR(sc, csr_sia_connectivity, TULIP_SIACONN_RESET);
if (sc->tulip_if.if_flags & IFF_ALTPHYS) {
if ((sc->tulip_flags & TULIP_ALTPHYS) == 0)
@@ -452,7 +453,8 @@ static void
tulip_zx314_media_select(
tulip_softc_t * const sc)
{
- sc->tulip_cmdmode |= TULIP_CMD_CAPTREFFCT|TULIP_CMD_THRSHLD160;
+ sc->tulip_cmdmode |= TULIP_CMD_CAPTREFFCT|TULIP_CMD_THRSHLD160
+ |TULIP_CMD_BACKOFFCTR;
TULIP_WRITE_CSR(sc, csr_sia_connectivity, TULIP_SIACONN_RESET);
if (sc->tulip_flags & TULIP_ALTPHYS)
printf("%s%d: enabling 10baseT/UTP port\n",
@@ -496,7 +498,8 @@ static void
tulip_dc21140_evalboard_media_select(
tulip_softc_t * const sc)
{
- sc->tulip_cmdmode |= TULIP_CMD_STOREFWD|TULIP_CMD_MUSTBEONE;
+ sc->tulip_cmdmode |= TULIP_CMD_STOREFWD|TULIP_CMD_MUSTBEONE
+ |TULIP_CMD_BACKOFFCTR;
TULIP_WRITE_CSR(sc, csr_gp, TULIP_GP_EB_PINS);
TULIP_WRITE_CSR(sc, csr_gp, TULIP_GP_EB_INIT);
if (sc->tulip_if.if_flags & IFF_ALTPHYS) {
@@ -545,7 +548,8 @@ static void
tulip_dc21140_cogent_em100_media_select(
tulip_softc_t * const sc)
{
- sc->tulip_cmdmode |= TULIP_CMD_STOREFWD|TULIP_CMD_MUSTBEONE;
+ sc->tulip_cmdmode |= TULIP_CMD_STOREFWD|TULIP_CMD_MUSTBEONE
+ |TULIP_CMD_BACKOFFCTR;
TULIP_WRITE_CSR(sc, csr_gp, TULIP_GP_EM100_PINS);
TULIP_WRITE_CSR(sc, csr_gp, TULIP_GP_EM100_INIT);
if ((sc->tulip_flags & TULIP_ALTPHYS) == 0)
@@ -586,7 +590,8 @@ static void
tulip_dc21140_znyx_zx34x_media_select(
tulip_softc_t * const sc)
{
- sc->tulip_cmdmode |= TULIP_CMD_STOREFWD|TULIP_CMD_MUSTBEONE;
+ sc->tulip_cmdmode |= TULIP_CMD_STOREFWD|TULIP_CMD_MUSTBEONE
+ |TULIP_CMD_BACKOFFCTR;
TULIP_WRITE_CSR(sc, csr_gp, TULIP_GP_ZX34X_PINS);
TULIP_WRITE_CSR(sc, csr_gp, TULIP_GP_ZX34X_INIT);
if (sc->tulip_if.if_flags & IFF_ALTPHYS) {
@@ -643,7 +648,8 @@ static void
tulip_dc21140_de500_media_select(
tulip_softc_t * const sc)
{
- sc->tulip_cmdmode |= TULIP_CMD_STOREFWD|TULIP_CMD_MUSTBEONE;
+ sc->tulip_cmdmode |= TULIP_CMD_STOREFWD|TULIP_CMD_MUSTBEONE
+ |TULIP_CMD_BACKOFFCTR;
TULIP_WRITE_CSR(sc, csr_gp, TULIP_GP_DE500_PINS);
if (sc->tulip_if.if_flags & IFF_ALTPHYS) {
if ((sc->tulip_flags & TULIP_ALTPHYS) == 0)
@@ -687,7 +693,7 @@ tulip_dc21041_media_select(
tulip_softc_t * const sc)
{
sc->tulip_cmdmode |= TULIP_CMD_CAPTREFFCT|TULIP_CMD_ENHCAPTEFFCT
- /* |TULIP_CMD_FULLDUPLEX */ |TULIP_CMD_THRSHLD160;
+ /* |TULIP_CMD_FULLDUPLEX */ |TULIP_CMD_THRSHLD160|TULIP_CMD_BACKOFFCTR;
sc->tulip_intrmask |= TULIP_STS_NORMALINTR|TULIP_STS_GPTIMEOUT
|TULIP_STS_ABNRMLINTR|TULIP_STS_LINKPASS|TULIP_STS_LINKFAIL;
if (sc->tulip_if.if_flags & IFF_ALTPHYS) {
OpenPOWER on IntegriCloud