Lines Matching refs:ecmd

137 static int igb_get_settings(struct net_device *netdev, struct ethtool_cmd *ecmd)  in igb_get_settings()  argument
149 ecmd->supported = (SUPPORTED_10baseT_Half | in igb_get_settings()
157 ecmd->advertising = ADVERTISED_TP; in igb_get_settings()
160 ecmd->advertising |= ADVERTISED_Autoneg; in igb_get_settings()
162 ecmd->advertising |= hw->phy.autoneg_advertised; in igb_get_settings()
165 ecmd->port = PORT_TP; in igb_get_settings()
166 ecmd->phy_address = hw->phy.addr; in igb_get_settings()
167 ecmd->transceiver = XCVR_INTERNAL; in igb_get_settings()
169 ecmd->supported = (SUPPORTED_FIBRE | in igb_get_settings()
173 ecmd->advertising = (ADVERTISED_FIBRE | in igb_get_settings()
179 ecmd->supported |= SUPPORTED_2500baseX_Full; in igb_get_settings()
180 ecmd->supported &= in igb_get_settings()
182 ecmd->advertising |= ADVERTISED_2500baseX_Full; in igb_get_settings()
183 ecmd->advertising &= in igb_get_settings()
188 ecmd->supported |= SUPPORTED_100baseT_Full; in igb_get_settings()
189 ecmd->advertising |= ADVERTISED_100baseT_Full; in igb_get_settings()
192 ecmd->advertising |= ADVERTISED_Autoneg; in igb_get_settings()
194 ecmd->port = PORT_FIBRE; in igb_get_settings()
195 ecmd->transceiver = XCVR_EXTERNAL; in igb_get_settings()
198 ecmd->advertising &= ~(ADVERTISED_Pause | in igb_get_settings()
203 ecmd->advertising |= ADVERTISED_Pause; in igb_get_settings()
206 ecmd->advertising |= (ADVERTISED_Pause | in igb_get_settings()
210 ecmd->advertising |= ADVERTISED_Asym_Pause; in igb_get_settings()
213 ecmd->advertising &= ~(ADVERTISED_Pause | in igb_get_settings()
229 ecmd->duplex = DUPLEX_FULL; in igb_get_settings()
231 ecmd->duplex = DUPLEX_HALF; in igb_get_settings()
234 ecmd->duplex = DUPLEX_UNKNOWN; in igb_get_settings()
236 ethtool_cmd_speed_set(ecmd, speed); in igb_get_settings()
239 ecmd->autoneg = AUTONEG_ENABLE; in igb_get_settings()
241 ecmd->autoneg = AUTONEG_DISABLE; in igb_get_settings()
245 ecmd->eth_tp_mdix = hw->phy.is_mdix ? ETH_TP_MDI_X : in igb_get_settings()
248 ecmd->eth_tp_mdix = ETH_TP_MDI_INVALID; in igb_get_settings()
251 ecmd->eth_tp_mdix_ctrl = ETH_TP_MDI_AUTO; in igb_get_settings()
253 ecmd->eth_tp_mdix_ctrl = hw->phy.mdix; in igb_get_settings()
258 static int igb_set_settings(struct net_device *netdev, struct ethtool_cmd *ecmd) in igb_set_settings() argument
276 if (ecmd->eth_tp_mdix_ctrl) { in igb_set_settings()
280 if ((ecmd->eth_tp_mdix_ctrl != ETH_TP_MDI_AUTO) && in igb_set_settings()
281 (ecmd->autoneg != AUTONEG_ENABLE)) { in igb_set_settings()
290 if (ecmd->autoneg == AUTONEG_ENABLE) { in igb_set_settings()
293 hw->phy.autoneg_advertised = ecmd->advertising | in igb_set_settings()
313 hw->phy.autoneg_advertised = ecmd->advertising | in igb_set_settings()
317 ecmd->advertising = hw->phy.autoneg_advertised; in igb_set_settings()
321 u32 speed = ethtool_cmd_speed(ecmd); in igb_set_settings()
323 if (igb_set_spd_dplx(adapter, speed, ecmd->duplex)) { in igb_set_settings()
330 if (ecmd->eth_tp_mdix_ctrl) { in igb_set_settings()
334 if (ecmd->eth_tp_mdix_ctrl == ETH_TP_MDI_AUTO) in igb_set_settings()
337 hw->phy.mdix = ecmd->eth_tp_mdix_ctrl; in igb_set_settings()