aboutsummaryrefslogtreecommitdiff
path: root/sys/pci/if_dcreg.h
diff options
context:
space:
mode:
authorBill Paul <wpaul@FreeBSD.org>2000-05-31 05:40:53 +0000
committerBill Paul <wpaul@FreeBSD.org>2000-05-31 05:40:53 +0000
commit318b02fdb95e3668f8439ed7eb625c65702b584c (patch)
treee2421f04e1940a25f1ec5114ec104000fb87575f /sys/pci/if_dcreg.h
parent0525c9d12790041fe6159c509e7fed0a41241817 (diff)
downloadsrc-318b02fdb95e3668f8439ed7eb625c65702b584c.tar.gz
src-318b02fdb95e3668f8439ed7eb625c65702b584c.zip
Rework the support for the internal autonegotiation on the 21143 and
workalike chips (Macronix 98713A/98715 and PNIC II). Timing is somewhat critical: you need to bring the link as soon as possible after NWAY is done, and the old one second polling interval was too long. Now we poll every 10th of a second until NWAY completes (at which point we return to the 1 second interval again to keep an eye on the link state). I tested all the other cards I had on hand to make sure I didn't bust any of them and they seem to work (including the MII-based 21143 card). This should fix some autoneg problems with DE500-BA cards and the built-in 10/100 ethernet on some alpha systems. (Now before anyone asks why I never noticed this before, the old code worked just find with the Intel swich I used for testing back in NY. Apparently not all switches are as picky about the timing.)
Notes
Notes: svn path=/head/; revision=61110
Diffstat (limited to 'sys/pci/if_dcreg.h')
-rw-r--r--sys/pci/if_dcreg.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/pci/if_dcreg.h b/sys/pci/if_dcreg.h
index 9620e103c35e..486a2e212586 100644
--- a/sys/pci/if_dcreg.h
+++ b/sys/pci/if_dcreg.h
@@ -671,6 +671,7 @@ struct dc_softc {
#define DC_TX_STORENFWD 0x00000100
#define DC_REDUCED_MII_POLL 0x00000200
#define DC_TX_INTR_ALWAYS 0x00000400
+#define DC_21143_NWAY 0x00000800
/*
* register space access macros