Author: marius
Date: Sun Feb 19 12:09:17 2012
New Revision: 231913
URL: http://svn.freebsd.org/changeset/base/231913

Log:
  - 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

Modified:
  head/sys/dev/mii/brgphy.c
  head/sys/dev/mii/miidevs

Modified: head/sys/dev/mii/brgphy.c
==============================================================================
--- head/sys/dev/mii/brgphy.c   Sun Feb 19 10:38:55 2012        (r231912)
+++ head/sys/dev/mii/brgphy.c   Sun Feb 19 12:09:17 2012        (r231913)
@@ -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);

Modified: head/sys/dev/mii/miidevs
==============================================================================
--- head/sys/dev/mii/miidevs    Sun Feb 19 10:38:55 2012        (r231912)
+++ head/sys/dev/mii/miidevs    Sun Feb 19 12:09:17 2012        (r231913)
@@ -179,6 +179,7 @@ model BROADCOM2 BCM5784             0x003a BCM5784 
 model BROADCOM2 BCM5709C       0x003c BCM5709 10/100/1000baseT PHY
 model BROADCOM2 BCM5761                0x003d BCM5761 10/100/1000baseT PHY
 model BROADCOM2 BCM5709S       0x003f BCM5709S 1000/2500baseSX PHY
+model BROADCOM3 BCM57780       0x0019 BCM57780 1000BASE-T media interface
 model BROADCOM3 BCM5717C       0x0020 BCM5717C 1000BASE-T media interface
 model BROADCOM3 BCM5719C       0x0022 BCM5719C 1000BASE-T media interface
 model BROADCOM3 BCM57765       0x0024 BCM57765 1000BASE-T media interface
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to