On Fri, Mar 12, 2010 at 07:21:34PM +0100, Pierre Beyssac wrote:
> On Fri, Mar 12, 2010 at 09:46:55AM -0800, Pyun YongHyeon wrote:
> > This is not related with your interrupt storm issue but something
> > is wrong here. I think brgphy(4) should be used for bge(4). Have no
> > idea why the OUI has a different value.
> > Would you try attached patch and let me know whether brgphy(4)
> > get attached to the PHY?
> 
> It sort of works (see attached dmesg) but not quite correctly, the
> ethernet link takes an awful lot of time to negotiate (> 10s) and
> it negotiates 10 Mbps instead of 100 Mbps previously.
> 
> The message "Unrecognized OUI for PHY!" seems to indicate something's
> amiss, maybe I should regenerate some file(s) after applying your
> patches?

No, it seems there is other issue in brgphy(4). I noticed brgphy(4)
blindly try to set jumbo frame related registers. I guess the PHY
may not have the register. Back out previous patch and try this
one.
Index: sys/dev/mii/miidevs
===================================================================
--- sys/dev/mii/miidevs (revision 205052)
+++ sys/dev/mii/miidevs (working copy)
@@ -81,6 +81,7 @@
 oui xxALTIMA                   0x000895        Altima Communications
 oui xxBROADCOM                 0x000818        Broadcom Corporation
 oui xxBROADCOM_ALT1            0x0050ef        Broadcom Corporation
+oui xxBROADCOM_ALT2            0x00d897        Broadcom Corporation
 oui xxICS                      0x00057d        Integrated Circuit Systems
 oui xxSEEQ                     0x0005be        Seeq
 oui xxSIS                      0x000760        Silicon Integrated Systems
@@ -150,6 +151,7 @@
 model xxBROADCOM_ALT1 BCM5784  0x003a BCM5784 10/100/1000baseTX PHY
 model xxBROADCOM_ALT1 BCM5709C 0x003c BCM5709C 10/100/1000baseTX PHY
 model xxBROADCOM_ALT1 BCM5761  0x003d BCM5761 10/100/1000baseTX PHY
+model xxBROADCOM_ALT2 BCM57780 0x0019 BCM57780 10/100/1000baseTX PHY
 model BROADCOM2 BCM5906                0x0004 BCM5906 10/100baseTX PHY
 
 /* Cicada Semiconductor PHYs (now owned by Vitesse?) */
Index: sys/dev/mii/brgphy.c
===================================================================
--- sys/dev/mii/brgphy.c        (revision 205052)
+++ sys/dev/mii/brgphy.c        (working copy)
@@ -139,6 +139,7 @@
        MII_PHY_DESC(xxBROADCOM_ALT1, BCM5784),
        MII_PHY_DESC(xxBROADCOM_ALT1, BCM5709C),
        MII_PHY_DESC(xxBROADCOM_ALT1, BCM5761),
+       MII_PHY_DESC(xxBROADCOM_ALT2, BCM57780),
        MII_PHY_DESC(BROADCOM2, BCM5906),
        MII_PHY_END
 };
@@ -213,6 +214,7 @@
        switch (bsc->mii_oui) {
        case MII_OUI_BROADCOM:
        case MII_OUI_BROADCOM2:
+       case MII_OUI_xxBROADCOM_ALT2:
                break;
        case MII_OUI_xxBROADCOM:
                switch (bsc->mii_model) {
@@ -1021,7 +1023,8 @@
                if (bge_sc->bge_flags & BGE_FLAG_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_flags & BGE_FLAG_WIRESPEED)
                        brgphy_ethernet_wirespeed(sc);
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[email protected]"

Reply via email to