Patchwork [net-next,3/3] net: stmmac: add gmac autonego set for ethtool support

login
register
mail settings
Submitter Byungho An
Date Jan. 15, 2013, 9:45 p.m.
Message ID <00c101cdf369$9c366aa0$d4a33fe0$@samsung.com>
Download mbox | patch
Permalink /patch/212311/
State Changes Requested
Delegated to: David Miller
Headers show

Comments

Byungho An - Jan. 15, 2013, 9:45 p.m.
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 <bh74.an@samsung.com>
---
 drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c |    5 +++++
 1 file changed, 5 insertions(+)

Patch

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,