Lines Matching refs:ks

177 static void set_asym_pause(u64 advertising, struct ethtool_link_ksettings *ks)  in set_asym_pause()  argument
184 ethtool_link_ksettings_add_link_mode(ks, advertising, in set_asym_pause()
204 struct ethtool_link_ksettings *ks) in fun_get_link_ksettings() argument
211 ethtool_link_ksettings_zero_link_mode(ks, supported); in fun_get_link_ksettings()
212 ethtool_link_ksettings_zero_link_mode(ks, advertising); in fun_get_link_ksettings()
213 ethtool_link_ksettings_zero_link_mode(ks, lp_advertising); in fun_get_link_ksettings()
225 ks->base.speed = speed; in fun_get_link_ksettings()
226 ks->base.duplex = DUPLEX_FULL; in fun_get_link_ksettings()
228 ks->link_modes.lp_advertising); in fun_get_link_ksettings()
230 ks->base.speed = SPEED_UNKNOWN; in fun_get_link_ksettings()
231 ks->base.duplex = DUPLEX_UNKNOWN; in fun_get_link_ksettings()
234 ks->base.autoneg = (fp->advertising & FUN_PORT_CAP_AUTONEG) ? in fun_get_link_ksettings()
236 ks->base.port = fun_port_type(xcvr); in fun_get_link_ksettings()
238 fun_link_modes_to_ethtool(fp->port_caps, ks->link_modes.supported); in fun_get_link_ksettings()
240 ethtool_link_ksettings_add_link_mode(ks, supported, Asym_Pause); in fun_get_link_ksettings()
242 fun_link_modes_to_ethtool(fp->advertising, ks->link_modes.advertising); in fun_get_link_ksettings()
243 set_asym_pause(fp->advertising, ks); in fun_get_link_ksettings()
247 static u64 fun_advert_modes(const struct ethtool_link_ksettings *ks) in fun_advert_modes() argument
252 ethtool_link_ksettings_test_link_mode(ks, advertising, mode) in fun_advert_modes()
317 const struct ethtool_link_ksettings *ks) in fun_set_link_ksettings() argument
327 if (ks->base.duplex == DUPLEX_HALF) in fun_set_link_ksettings()
329 if (ks->base.autoneg == AUTONEG_ENABLE && in fun_set_link_ksettings()
333 if (ks->base.autoneg == AUTONEG_ENABLE) { in fun_set_link_ksettings()
334 if (linkmode_empty(ks->link_modes.advertising)) in fun_set_link_ksettings()
338 if (!linkmode_subset(ks->link_modes.advertising, supported)) in fun_set_link_ksettings()
341 new_advert = fun_advert_modes(ks) | FUN_PORT_CAP_AUTONEG; in fun_set_link_ksettings()
343 new_advert = fun_speed_to_link_mode(ks->base.speed); in fun_set_link_ksettings()