Lines Matching defs:ks
2087 * @ks: ethtool link ksettings struct to fill out
2094 struct ethtool_link_ksettings *ks, u32 req_speeds,
2097 linkmode_set_bit(phy_to_ethtool->link_mode, ks->link_modes.supported);
2102 ks->link_modes.advertising);
2108 * @ks: ethtool link ksettings struct to fill out
2112 struct ethtool_link_ksettings *ks)
2179 linkmode_zero(ks->link_modes.supported);
2180 linkmode_zero(ks->link_modes.advertising);
2184 ice_linkmode_set_bit(&phy_type_low_lkup[i], ks,
2191 ice_linkmode_set_bit(&phy_type_high_lkup[i], ks,
2203 * @ks: ethtool ksettings to fill in
2207 ice_get_settings_link_up(struct ethtool_link_ksettings *ks,
2218 ice_phy_type_to_ethtool(netdev, ks);
2222 ks->base.speed = SPEED_200000;
2225 ks->base.speed = SPEED_100000;
2228 ks->base.speed = SPEED_50000;
2231 ks->base.speed = SPEED_40000;
2234 ks->base.speed = SPEED_25000;
2237 ks->base.speed = SPEED_20000;
2240 ks->base.speed = SPEED_10000;
2243 ks->base.speed = SPEED_5000;
2246 ks->base.speed = SPEED_2500;
2249 ks->base.speed = SPEED_1000;
2252 ks->base.speed = SPEED_100;
2259 ks->base.duplex = DUPLEX_FULL;
2262 ethtool_link_ksettings_add_link_mode(ks, lp_advertising,
2268 ethtool_link_ksettings_add_link_mode(ks, lp_advertising, Pause);
2271 ethtool_link_ksettings_add_link_mode(ks, lp_advertising, Pause);
2272 ethtool_link_ksettings_add_link_mode(ks, lp_advertising,
2276 ethtool_link_ksettings_add_link_mode(ks, lp_advertising,
2281 ethtool_link_ksettings_del_link_mode(ks, lp_advertising, Pause);
2282 ethtool_link_ksettings_del_link_mode(ks, lp_advertising,
2290 * @ks: ethtool ksettings to fill in
2296 ice_get_settings_link_down(struct ethtool_link_ksettings *ks,
2302 ice_phy_type_to_ethtool(netdev, ks);
2305 ks->base.speed = SPEED_UNKNOWN;
2306 ks->base.duplex = DUPLEX_UNKNOWN;
2312 * @ks: ethtool ksettings
2318 struct ethtool_link_ksettings *ks)
2326 ethtool_link_ksettings_zero_link_mode(ks, supported);
2327 ethtool_link_ksettings_zero_link_mode(ks, advertising);
2328 ethtool_link_ksettings_zero_link_mode(ks, lp_advertising);
2333 ice_get_settings_link_up(ks, netdev);
2335 ice_get_settings_link_down(ks, netdev);
2338 ks->base.autoneg = (hw_link_info->an_info & ICE_AQ_AN_COMPLETED) ?
2344 ethtool_link_ksettings_add_link_mode(ks, supported, FIBRE);
2345 ks->base.port = PORT_FIBRE;
2348 ethtool_link_ksettings_add_link_mode(ks, supported, TP);
2349 ethtool_link_ksettings_add_link_mode(ks, advertising, TP);
2350 ks->base.port = PORT_TP;
2353 ethtool_link_ksettings_add_link_mode(ks, supported, Backplane);
2354 ethtool_link_ksettings_add_link_mode(ks, advertising,
2356 ks->base.port = PORT_NONE;
2359 ethtool_link_ksettings_add_link_mode(ks, supported, FIBRE);
2360 ethtool_link_ksettings_add_link_mode(ks, advertising, FIBRE);
2361 ks->base.port = PORT_DA;
2364 ks->base.port = PORT_OTHER;
2369 ethtool_link_ksettings_add_link_mode(ks, supported, Pause);
2383 ethtool_link_ksettings_add_link_mode(ks, advertising, Pause);
2384 ethtool_link_ksettings_add_link_mode(ks, advertising,
2387 ethtool_link_ksettings_add_link_mode(ks, advertising,
2390 ethtool_link_ksettings_add_link_mode(ks, advertising, Pause);
2391 ethtool_link_ksettings_add_link_mode(ks, advertising,
2394 ethtool_link_ksettings_del_link_mode(ks, advertising, Pause);
2395 ethtool_link_ksettings_del_link_mode(ks, advertising,
2400 ethtool_link_ksettings_add_link_mode(ks, advertising, FEC_NONE);
2404 ethtool_link_ksettings_add_link_mode(ks, advertising,
2408 ethtool_link_ksettings_add_link_mode(ks, advertising, FEC_RS);
2416 ethtool_link_ksettings_add_link_mode(ks, supported, FEC_NONE);
2420 ethtool_link_ksettings_add_link_mode(ks, supported, FEC_BASER);
2422 ethtool_link_ksettings_add_link_mode(ks, supported, FEC_RS);
2426 ethtool_link_ksettings_add_link_mode(ks, supported, Autoneg);
2427 ethtool_link_ksettings_add_link_mode(ks, advertising, Autoneg);
2486 * @ks: ethtool ksettings
2489 ice_ksettings_find_adv_link_speed(const struct ethtool_link_ksettings *ks)
2496 if (linkmode_intersects(ks->link_modes.advertising, map->caps))
2506 * @ks: ethtool_link_ksettings
2515 ice_setup_autoneg(struct ice_port_info *p, struct ethtool_link_ksettings *ks,
2529 if (!ethtool_link_ksettings_test_link_mode(ks,
2546 if (ethtool_link_ksettings_test_link_mode(ks,
2565 * @ks: ethtool link ksettings struct
2571 ice_set_phy_type_from_speed(const struct ethtool_link_ksettings *ks,
2581 if (ethtool_link_ksettings_test_link_mode(ks, advertising,
2586 if (ethtool_link_ksettings_test_link_mode(ks, advertising,
2590 if (ethtool_link_ksettings_test_link_mode(ks, advertising,
2601 * @ks: ethtool ksettings
2607 const struct ethtool_link_ksettings *ks)
2611 struct ethtool_link_ksettings copy_ks = *ks;
2719 adv_link_speed = ice_ksettings_find_adv_link_speed(ks);
2729 ice_set_phy_type_from_speed(ks, &phy_type_low, &phy_type_high,