aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/bge/if_bge.c
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2008-01-18 22:09:50 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2008-01-18 22:09:50 +0000
commit86543395c1db7da2bb77964301a634e3753795b1 (patch)
tree99944cc64647598142279c5b03df1ce07cd9f315 /sys/dev/bge/if_bge.c
parent248e52ada83f3f9cd13be73ac204eb87ff0eea9a (diff)
downloadsrc-86543395c1db7da2bb77964301a634e3753795b1.tar.gz
src-86543395c1db7da2bb77964301a634e3753795b1.zip
Add a flag for Ethernet@WireSpeed capability and correct chip revisions.
The idea was taken from OpenBSD and cross-referenced with Linux driver.
Notes
Notes: svn path=/head/; revision=175466
Diffstat (limited to 'sys/dev/bge/if_bge.c')
-rw-r--r--sys/dev/bge/if_bge.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c
index 6c338dcdda2f..e8d56f26b426 100644
--- a/sys/dev/bge/if_bge.c
+++ b/sys/dev/bge/if_bge.c
@@ -2264,6 +2264,15 @@ bge_attach(device_t dev)
sc->bge_asicrev = BGE_ASICREV(sc->bge_chipid);
sc->bge_chiprev = BGE_CHIPREV(sc->bge_chipid);
+ /*
+ * Don't enable Ethernet@WireSpeed for the 5700 or the
+ * 5705 A0 and A1 chips.
+ */
+ if (sc->bge_asicrev != BGE_ASICREV_BCM5700 &&
+ sc->bge_chipid != BGE_CHIPID_BCM5705_A0 &&
+ sc->bge_chipid != BGE_CHIPID_BCM5705_A1)
+ sc->bge_flags |= BGE_FLAG_WIRESPEED;
+
if (bge_has_eeprom(sc))
sc->bge_flags |= BGE_FLAG_EEPROM;