This patch adds gmac auto-negotiation setting for ethtool.
If interface is SGMII, TBI or RTBI, gmac's auto-negotiation
enable bit is need to set.

Signed-off-by: Byungho An <[email protected]>
---
 drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c
b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c
index 1372ce2..457c1a4 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c
@@ -335,6 +335,7 @@ stmmac_set_pauseparam(struct net_device *netdev,
        struct phy_device *phy = priv->phydev;
        int new_pause = FLOW_OFF;
        int ret = 0;
+       int interface = priv->plat->interface;
 
        spin_lock(&priv->lock);
 
@@ -348,6 +349,10 @@ stmmac_set_pauseparam(struct net_device *netdev,
 
        if (phy->autoneg) {
                if (netif_running(netdev))
+                       if((interface == PHY_INTERFACE_MODE_SGMII) ||
+                               (interface == PHY_INTERFACE_MODE_TBI) ||
+                               (interface == PHY_INTERFACE_MODE_RTBI)) 
+                               priv->hw->mac->set_autoneg(priv->ioaddr);
                        ret = phy_start_aneg(phy);
        } else
                priv->hw->mac->flow_ctrl(priv->ioaddr, phy->duplex,
-- 
1.7.10.4


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to