Lines Matching refs:ecmd
107 struct ethtool_cmd *ecmd) in e1000_get_settings() argument
113 ecmd->supported = (SUPPORTED_10baseT_Half | in e1000_get_settings()
120 ecmd->advertising = ADVERTISED_TP; in e1000_get_settings()
123 ecmd->advertising |= ADVERTISED_Autoneg; in e1000_get_settings()
125 ecmd->advertising |= hw->autoneg_advertised; in e1000_get_settings()
128 ecmd->port = PORT_TP; in e1000_get_settings()
129 ecmd->phy_address = hw->phy_addr; in e1000_get_settings()
132 ecmd->transceiver = XCVR_EXTERNAL; in e1000_get_settings()
134 ecmd->transceiver = XCVR_INTERNAL; in e1000_get_settings()
137 ecmd->supported = (SUPPORTED_1000baseT_Full | in e1000_get_settings()
141 ecmd->advertising = (ADVERTISED_1000baseT_Full | in e1000_get_settings()
145 ecmd->port = PORT_FIBRE; in e1000_get_settings()
148 ecmd->transceiver = XCVR_INTERNAL; in e1000_get_settings()
150 ecmd->transceiver = XCVR_EXTERNAL; in e1000_get_settings()
156 ethtool_cmd_speed_set(ecmd, adapter->link_speed); in e1000_get_settings()
162 ecmd->duplex = DUPLEX_FULL; in e1000_get_settings()
164 ecmd->duplex = DUPLEX_HALF; in e1000_get_settings()
166 ethtool_cmd_speed_set(ecmd, SPEED_UNKNOWN); in e1000_get_settings()
167 ecmd->duplex = DUPLEX_UNKNOWN; in e1000_get_settings()
170 ecmd->autoneg = ((hw->media_type == e1000_media_type_fiber) || in e1000_get_settings()
176 ecmd->eth_tp_mdix = (!!adapter->phy_info.mdix_mode ? in e1000_get_settings()
179 ecmd->eth_tp_mdix = ETH_TP_MDI_INVALID; in e1000_get_settings()
182 ecmd->eth_tp_mdix_ctrl = ETH_TP_MDI_AUTO; in e1000_get_settings()
184 ecmd->eth_tp_mdix_ctrl = hw->mdix; in e1000_get_settings()
189 struct ethtool_cmd *ecmd) in e1000_set_settings() argument
198 if (ecmd->eth_tp_mdix_ctrl) { in e1000_set_settings()
202 if ((ecmd->eth_tp_mdix_ctrl != ETH_TP_MDI_AUTO) && in e1000_set_settings()
203 (ecmd->autoneg != AUTONEG_ENABLE)) { in e1000_set_settings()
212 if (ecmd->autoneg == AUTONEG_ENABLE) { in e1000_set_settings()
219 hw->autoneg_advertised = ecmd->advertising | in e1000_set_settings()
222 ecmd->advertising = hw->autoneg_advertised; in e1000_set_settings()
224 u32 speed = ethtool_cmd_speed(ecmd); in e1000_set_settings()
226 if (e1000_set_spd_dplx(adapter, speed, ecmd->duplex)) { in e1000_set_settings()
233 if (ecmd->eth_tp_mdix_ctrl) { in e1000_set_settings()
234 if (ecmd->eth_tp_mdix_ctrl == ETH_TP_MDI_AUTO) in e1000_set_settings()
237 hw->mdix = ecmd->eth_tp_mdix_ctrl; in e1000_set_settings()