r8169: adjust rtl8169_set_speed_xmii function.
authorHayes Wang <hayeswang@realtek.com>
Tue, 22 Feb 2011 09:26:18 +0000 (17:26 +0800)
committerFrancois Romieu <romieu@fr.zoreil.com>
Tue, 1 Mar 2011 16:52:41 +0000 (17:52 +0100)
- adjust code of rtl8169_set_speed_xmii function
- remove parts of code which are done in rtl_pll_power_up
  function (8168 only)

Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Acked-by: Francois Romieu <romieu@fr.zoreil.com>
drivers/net/r8169.c

index 469ab0b7ce315bb0c5ad8c71f481fc893448e849..de94489cf96ef12619ac766173215cb596aae227 100644 (file)
@@ -1124,6 +1124,8 @@ static int rtl8169_set_speed_xmii(struct net_device *dev,
        struct rtl8169_private *tp = netdev_priv(dev);
        int giga_ctrl, bmcr;
 
+       rtl_writephy(tp, 0x1f, 0x0000);
+
        if (autoneg == AUTONEG_ENABLE) {
                int auto_nego;
 
@@ -1152,18 +1154,6 @@ static int rtl8169_set_speed_xmii(struct net_device *dev,
 
                bmcr = BMCR_ANENABLE | BMCR_ANRESTART;
 
-               if ((tp->mac_version == RTL_GIGA_MAC_VER_11) ||
-                   (tp->mac_version == RTL_GIGA_MAC_VER_12) ||
-                   (tp->mac_version >= RTL_GIGA_MAC_VER_17)) {
-                       /*
-                        * Wake up the PHY.
-                        * Vendor specific (0x1f) and reserved (0x0e) MII
-                        * registers.
-                        */
-                       rtl_writephy(tp, 0x1f, 0x0000);
-                       rtl_writephy(tp, 0x0e, 0x0000);
-               }
-
                rtl_writephy(tp, MII_ADVERTISE, auto_nego);
                rtl_writephy(tp, MII_CTRL1000, giga_ctrl);
        } else {
@@ -1178,8 +1168,6 @@ static int rtl8169_set_speed_xmii(struct net_device *dev,
 
                if (duplex == DUPLEX_FULL)
                        bmcr |= BMCR_FULLDPLX;
-
-               rtl_writephy(tp, 0x1f, 0x0000);
        }
 
        tp->phy_1000_ctrl_reg = giga_ctrl;