diff options
author | Marius Strobl <marius@FreeBSD.org> | 2012-02-19 12:09:17 +0000 |
---|---|---|
committer | Marius Strobl <marius@FreeBSD.org> | 2012-02-19 12:09:17 +0000 |
commit | 8a731a126bdeb1bb1daa9c2130f3c7d55ed03b81 (patch) | |
tree | a17a263d3063e1b3941978244e05c9bca528f379 /sys/dev/mii/brgphy.c | |
parent | 53c49998d5a26c58d1f21fb79e7df9511e023998 (diff) | |
download | src-8a731a126bdeb1bb1daa9c2130f3c7d55ed03b81.tar.gz src-8a731a126bdeb1bb1daa9c2130f3c7d55ed03b81.zip |
- Probe BCM57780.
- In case the parent is bge(4), don't set the Jumbo frame settings unless
the MAC actually is Jumbo capable as otherwise the PHY might not have the
corresponding registers implemented. This is also in line with what the
Linux tg3 driver does.
PR: 165032
Submitted by: Alexander Milanov
Obtained from: OpenBSD
MFC after: 3 days
Notes
Notes:
svn path=/head/; revision=231913
Diffstat (limited to 'sys/dev/mii/brgphy.c')
-rw-r--r-- | sys/dev/mii/brgphy.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/mii/brgphy.c b/sys/dev/mii/brgphy.c index cf924cfe9529..57646e56bdaa 100644 --- a/sys/dev/mii/brgphy.c +++ b/sys/dev/mii/brgphy.c @@ -146,6 +146,7 @@ static const struct mii_phydesc brgphys[] = { MII_PHY_DESC(BROADCOM3, BCM5719C), MII_PHY_DESC(BROADCOM3, BCM5720C), MII_PHY_DESC(BROADCOM3, BCM57765), + MII_PHY_DESC(BROADCOM3, BCM57780), MII_PHY_DESC(xxBROADCOM_ALT1, BCM5906), MII_PHY_END }; @@ -225,7 +226,8 @@ brgphy_attach(device_t dev) sc->mii_flags |= MIIF_HAVEFIBER; } break; - } break; + } + break; case MII_OUI_BROADCOM2: switch (sc->mii_mpd_model) { case MII_MODEL_BROADCOM2_BCM5708S: @@ -942,7 +944,8 @@ brgphy_reset(struct mii_softc *sc) if (bge_sc->bge_phy_flags & BGE_PHY_JITTER_BUG) brgphy_fixup_jitter_bug(sc); - brgphy_jumbo_settings(sc, ifp->if_mtu); + if (bge_sc->bge_flags & BGE_FLAG_JUMBO) + brgphy_jumbo_settings(sc, ifp->if_mtu); if ((bge_sc->bge_phy_flags & BGE_PHY_NO_WIRESPEED) == 0) brgphy_ethernet_wirespeed(sc); |