diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2009-07-23 14:07:20 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-07-26 12:46:41 -0400 |
commit | dcc3ae9a5252ea4ffe65b43cdc09ec2654b48000 (patch) | |
tree | 7c3c1c480e8ce395c2b3b5b78802f97e28b60b80 /drivers/net/igb/igb_ethtool.c | |
parent | 74d154189d597b91da4322996dbf4f5c3d1544ab (diff) |
igb: remove media type fiber as it is misleading
The current igb driver only supports copper and serdes. The fiber media
type is a holdover from earlier NICs as the current nics supported by igb
all use serdes when communicating over a fiber connection. As a result we
can remove media type fiber without losing any functionality.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/igb/igb_ethtool.c')
-rw-r--r-- | drivers/net/igb/igb_ethtool.c | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/drivers/net/igb/igb_ethtool.c b/drivers/net/igb/igb_ethtool.c index 9598ac09f4b8..a9c37cb1bd7a 100644 --- a/drivers/net/igb/igb_ethtool.c +++ b/drivers/net/igb/igb_ethtool.c | |||
@@ -168,8 +168,7 @@ static int igb_get_settings(struct net_device *netdev, struct ethtool_cmd *ecmd) | |||
168 | ecmd->duplex = -1; | 168 | ecmd->duplex = -1; |
169 | } | 169 | } |
170 | 170 | ||
171 | ecmd->autoneg = ((hw->phy.media_type == e1000_media_type_fiber) || | 171 | ecmd->autoneg = hw->mac.autoneg ? AUTONEG_ENABLE : AUTONEG_DISABLE; |
172 | hw->mac.autoneg) ? AUTONEG_ENABLE : AUTONEG_DISABLE; | ||
173 | return 0; | 172 | return 0; |
174 | } | 173 | } |
175 | 174 | ||
@@ -191,23 +190,18 @@ static int igb_set_settings(struct net_device *netdev, struct ethtool_cmd *ecmd) | |||
191 | 190 | ||
192 | if (ecmd->autoneg == AUTONEG_ENABLE) { | 191 | if (ecmd->autoneg == AUTONEG_ENABLE) { |
193 | hw->mac.autoneg = 1; | 192 | hw->mac.autoneg = 1; |
194 | if (hw->phy.media_type == e1000_media_type_fiber) | 193 | hw->phy.autoneg_advertised = ecmd->advertising | |
195 | hw->phy.autoneg_advertised = ADVERTISED_1000baseT_Full | | 194 | ADVERTISED_TP | |
196 | ADVERTISED_FIBRE | | 195 | ADVERTISED_Autoneg; |
197 | ADVERTISED_Autoneg; | ||
198 | else | ||
199 | hw->phy.autoneg_advertised = ecmd->advertising | | ||
200 | ADVERTISED_TP | | ||
201 | ADVERTISED_Autoneg; | ||
202 | ecmd->advertising = hw->phy.autoneg_advertised; | 196 | ecmd->advertising = hw->phy.autoneg_advertised; |
203 | } else | 197 | } else { |
204 | if (igb_set_spd_dplx(adapter, ecmd->speed + ecmd->duplex)) { | 198 | if (igb_set_spd_dplx(adapter, ecmd->speed + ecmd->duplex)) { |
205 | clear_bit(__IGB_RESETTING, &adapter->state); | 199 | clear_bit(__IGB_RESETTING, &adapter->state); |
206 | return -EINVAL; | 200 | return -EINVAL; |
207 | } | 201 | } |
202 | } | ||
208 | 203 | ||
209 | /* reset the link */ | 204 | /* reset the link */ |
210 | |||
211 | if (netif_running(adapter->netdev)) { | 205 | if (netif_running(adapter->netdev)) { |
212 | igb_down(adapter); | 206 | igb_down(adapter); |
213 | igb_up(adapter); | 207 | igb_up(adapter); |
@@ -267,8 +261,8 @@ static int igb_set_pauseparam(struct net_device *netdev, | |||
267 | } else | 261 | } else |
268 | igb_reset(adapter); | 262 | igb_reset(adapter); |
269 | } else | 263 | } else |
270 | retval = ((hw->phy.media_type == e1000_media_type_fiber) ? | 264 | retval = ((hw->phy.media_type == e1000_media_type_copper) ? |
271 | igb_setup_link(hw) : igb_force_mac_fc(hw)); | 265 | igb_force_mac_fc(hw) : igb_setup_link(hw)); |
272 | 266 | ||
273 | clear_bit(__IGB_RESETTING, &adapter->state); | 267 | clear_bit(__IGB_RESETTING, &adapter->state); |
274 | return retval; | 268 | return retval; |
@@ -1483,8 +1477,7 @@ static int igb_setup_loopback_test(struct igb_adapter *adapter) | |||
1483 | struct e1000_hw *hw = &adapter->hw; | 1477 | struct e1000_hw *hw = &adapter->hw; |
1484 | u32 reg; | 1478 | u32 reg; |
1485 | 1479 | ||
1486 | if (hw->phy.media_type == e1000_media_type_fiber || | 1480 | if (hw->phy.media_type == e1000_media_type_internal_serdes) { |
1487 | hw->phy.media_type == e1000_media_type_internal_serdes) { | ||
1488 | reg = rd32(E1000_RCTL); | 1481 | reg = rd32(E1000_RCTL); |
1489 | reg |= E1000_RCTL_LBM_TCVR; | 1482 | reg |= E1000_RCTL_LBM_TCVR; |
1490 | wr32(E1000_RCTL, reg); | 1483 | wr32(E1000_RCTL, reg); |