aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Brandeburg <jesse.brandeburg@intel.com>2014-06-04 04:45:25 -0400
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2014-07-02 22:02:21 -0400
commita65997215be9f54dbc927b05fc8eb2fe55912d11 (patch)
treefef1c6866fb8c61363478ee039efcb64684aecac
parent8109e1232b3e5322415a9b5e09951617c5fae277 (diff)
i40e: move nway reset
Just move nway reset up, will be used in the next patch. Change-ID: Ice3b631fa2044debc5c4541b42872a48163f8452 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by: Jim Young <jamesx.m.young@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-rw-r--r--drivers/net/ethernet/intel/i40e/i40e_ethtool.c38
1 files changed, 19 insertions, 19 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
index b105e6f321d0..6508a1b64a7e 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
@@ -412,6 +412,25 @@ no_valid_phy_type:
412 return 0; 412 return 0;
413} 413}
414 414
415static int i40e_nway_reset(struct net_device *netdev)
416{
417 /* restart autonegotiation */
418 struct i40e_netdev_priv *np = netdev_priv(netdev);
419 struct i40e_pf *pf = np->vsi->back;
420 struct i40e_hw *hw = &pf->hw;
421 bool link_up = hw->phy.link_info.link_info & I40E_AQ_LINK_UP;
422 i40e_status ret = 0;
423
424 ret = i40e_aq_set_link_restart_an(hw, link_up, NULL);
425 if (ret) {
426 netdev_info(netdev, "link restart failed, aq_err=%d\n",
427 pf->hw.aq.asq_last_status);
428 return -EIO;
429 }
430
431 return 0;
432}
433
415/** 434/**
416 * i40e_get_pauseparam - Get Flow Control status 435 * i40e_get_pauseparam - Get Flow Control status
417 * Return tx/rx-pause status 436 * Return tx/rx-pause status
@@ -1125,25 +1144,6 @@ static int i40e_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol)
1125 return 0; 1144 return 0;
1126} 1145}
1127 1146
1128static int i40e_nway_reset(struct net_device *netdev)
1129{
1130 /* restart autonegotiation */
1131 struct i40e_netdev_priv *np = netdev_priv(netdev);
1132 struct i40e_pf *pf = np->vsi->back;
1133 struct i40e_hw *hw = &pf->hw;
1134 bool link_up = hw->phy.link_info.link_info & I40E_AQ_LINK_UP;
1135 i40e_status ret = 0;
1136
1137 ret = i40e_aq_set_link_restart_an(hw, link_up, NULL);
1138 if (ret) {
1139 netdev_info(netdev, "link restart failed, aq_err=%d\n",
1140 pf->hw.aq.asq_last_status);
1141 return -EIO;
1142 }
1143
1144 return 0;
1145}
1146
1147static int i40e_set_phys_id(struct net_device *netdev, 1147static int i40e_set_phys_id(struct net_device *netdev,
1148 enum ethtool_phys_id_state state) 1148 enum ethtool_phys_id_state state)
1149{ 1149{