diff options
author | Jesse Brandeburg <jesse.brandeburg@intel.com> | 2014-06-04 04:45:25 -0400 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2014-07-02 22:02:21 -0400 |
commit | a65997215be9f54dbc927b05fc8eb2fe55912d11 (patch) | |
tree | fef1c6866fb8c61363478ee039efcb64684aecac | |
parent | 8109e1232b3e5322415a9b5e09951617c5fae277 (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.c | 38 |
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 | ||
415 | static 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 | ||
1128 | static 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 | |||
1147 | static int i40e_set_phys_id(struct net_device *netdev, | 1147 | static 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 | { |