Lines Matching refs:link_config
56 struct phylink_link_state link_config; member
162 pl->link_config.speed = speed; in phylink_parse_fixedlink()
163 pl->link_config.duplex = DUPLEX_HALF; in phylink_parse_fixedlink()
166 pl->link_config.duplex = DUPLEX_FULL; in phylink_parse_fixedlink()
171 pl->link_config.pause |= MLO_PAUSE_SYM; in phylink_parse_fixedlink()
173 pl->link_config.pause |= MLO_PAUSE_ASYM; in phylink_parse_fixedlink()
201 pl->link_config.duplex = prop[1] ? in phylink_parse_fixedlink()
203 pl->link_config.speed = prop[2]; in phylink_parse_fixedlink()
205 pl->link_config.pause |= MLO_PAUSE_SYM; in phylink_parse_fixedlink()
207 pl->link_config.pause |= MLO_PAUSE_ASYM; in phylink_parse_fixedlink()
211 if (pl->link_config.speed > SPEED_1000 && in phylink_parse_fixedlink()
212 pl->link_config.duplex != DUPLEX_FULL) in phylink_parse_fixedlink()
214 pl->link_config.speed); in phylink_parse_fixedlink()
217 linkmode_copy(pl->link_config.advertising, pl->supported); in phylink_parse_fixedlink()
218 phylink_validate(pl, pl->supported, &pl->link_config); in phylink_parse_fixedlink()
220 s = phy_lookup_setting(pl->link_config.speed, pl->link_config.duplex, in phylink_parse_fixedlink()
229 pl->link_config.duplex == DUPLEX_FULL ? "full" : "half", in phylink_parse_fixedlink()
230 pl->link_config.speed); in phylink_parse_fixedlink()
233 linkmode_and(pl->link_config.advertising, pl->link_config.advertising, in phylink_parse_fixedlink()
236 pl->link_config.link = 1; in phylink_parse_fixedlink()
237 pl->link_config.an_complete = 1; in phylink_parse_fixedlink()
265 pl->link_config.an_enabled = true; in phylink_parse_mode()
268 switch (pl->link_config.interface) { in phylink_parse_mode()
305 phy_modes(pl->link_config.interface)); in phylink_parse_mode()
309 linkmode_copy(pl->link_config.advertising, pl->supported); in phylink_parse_mode()
311 if (phylink_validate(pl, pl->supported, &pl->link_config)) { in phylink_parse_mode()
338 if (pl->link_config.an_enabled && in phylink_mac_an_restart()
339 phy_interface_mode_is_8023z(pl->link_config.interface)) in phylink_mac_an_restart()
347 linkmode_copy(state->advertising, pl->link_config.advertising); in phylink_get_mac_state()
349 state->interface = pl->link_config.interface; in phylink_get_mac_state()
350 state->an_enabled = pl->link_config.an_enabled; in phylink_get_mac_state()
361 *state = pl->link_config; in phylink_get_fixed_state()
381 if (pl->link_config.pause & MLO_PAUSE_AN) { in phylink_resolve_flow()
384 if (phylink_test(pl->link_config.advertising, Pause)) in phylink_resolve_flow()
386 if (phylink_test(pl->link_config.advertising, Asym_Pause)) in phylink_resolve_flow()
397 new_pause = pl->link_config.pause & MLO_PAUSE_TXRX_MASK; in phylink_resolve_flow()
579 pl->link_config.interface = iface; in phylink_create()
580 pl->link_config.pause = MLO_PAUSE_AN; in phylink_create()
581 pl->link_config.speed = SPEED_UNKNOWN; in phylink_create()
582 pl->link_config.duplex = DUPLEX_UNKNOWN; in phylink_create()
583 pl->link_config.an_enabled = true; in phylink_create()
589 linkmode_copy(pl->link_config.advertising, pl->supported); in phylink_create()
590 phylink_validate(pl, pl->supported, &pl->link_config); in phylink_create()
671 config.interface = pl->link_config.interface; in phylink_bringup_phy()
700 linkmode_copy(pl->link_config.advertising, config.advertising); in phylink_bringup_phy()
764 pl->link_config.interface = pl->link_interface; in phylink_connect_phy()
908 phy_modes(pl->link_config.interface)); in phylink_start()
914 phylink_resolve_flow(pl, &pl->link_config); in phylink_start()
915 phylink_mac_config(pl, &pl->link_config); in phylink_start()
1101 config = pl->link_config; in phylink_ethtool_ksettings_set()
1124 (s->speed != pl->link_config.speed || in phylink_ethtool_ksettings_set()
1125 s->duplex != pl->link_config.duplex)) in phylink_ethtool_ksettings_set()
1166 linkmode_copy(pl->link_config.advertising, our_kset.link_modes.advertising); in phylink_ethtool_ksettings_set()
1167 pl->link_config.interface = config.interface; in phylink_ethtool_ksettings_set()
1168 pl->link_config.speed = our_kset.base.speed; in phylink_ethtool_ksettings_set()
1169 pl->link_config.duplex = our_kset.base.duplex; in phylink_ethtool_ksettings_set()
1170 pl->link_config.an_enabled = our_kset.base.autoneg != AUTONEG_DISABLE; in phylink_ethtool_ksettings_set()
1173 phylink_mac_config(pl, &pl->link_config); in phylink_ethtool_ksettings_set()
1217 pause->autoneg = !!(pl->link_config.pause & MLO_PAUSE_AN); in phylink_ethtool_get_pauseparam()
1218 pause->rx_pause = !!(pl->link_config.pause & MLO_PAUSE_RX); in phylink_ethtool_get_pauseparam()
1219 pause->tx_pause = !!(pl->link_config.pause & MLO_PAUSE_TX); in phylink_ethtool_get_pauseparam()
1231 struct phylink_link_state *config = &pl->link_config; in phylink_ethtool_set_pauseparam()
1594 config.an_enabled = pl->link_config.an_enabled; in phylink_sfp_module_insert()
1634 linkmode_copy(pl->link_config.advertising, config.advertising); in phylink_sfp_module_insert()
1638 pl->link_config.interface != config.interface) { in phylink_sfp_module_insert()
1639 pl->link_config.interface = config.interface; in phylink_sfp_module_insert()
1653 phylink_mac_config(pl, &pl->link_config); in phylink_sfp_module_insert()
1683 return __phylink_connect_phy(upstream, phy, pl->link_config.interface); in phylink_sfp_connect_phy()