Lines Matching refs:link_config

56 	struct phylink_link_state link_config;  member
173 pl->link_config.speed = speed; in phylink_parse_fixedlink()
174 pl->link_config.duplex = DUPLEX_HALF; in phylink_parse_fixedlink()
177 pl->link_config.duplex = DUPLEX_FULL; in phylink_parse_fixedlink()
182 pl->link_config.pause |= MLO_PAUSE_SYM; in phylink_parse_fixedlink()
184 pl->link_config.pause |= MLO_PAUSE_ASYM; in phylink_parse_fixedlink()
212 pl->link_config.duplex = prop[1] ? in phylink_parse_fixedlink()
214 pl->link_config.speed = prop[2]; in phylink_parse_fixedlink()
216 pl->link_config.pause |= MLO_PAUSE_SYM; in phylink_parse_fixedlink()
218 pl->link_config.pause |= MLO_PAUSE_ASYM; in phylink_parse_fixedlink()
222 if (pl->link_config.speed > SPEED_1000 && in phylink_parse_fixedlink()
223 pl->link_config.duplex != DUPLEX_FULL) in phylink_parse_fixedlink()
225 pl->link_config.speed); in phylink_parse_fixedlink()
228 linkmode_copy(pl->link_config.advertising, pl->supported); in phylink_parse_fixedlink()
229 phylink_validate(pl, pl->supported, &pl->link_config); in phylink_parse_fixedlink()
231 s = phy_lookup_setting(pl->link_config.speed, pl->link_config.duplex, in phylink_parse_fixedlink()
241 pl->link_config.duplex == DUPLEX_FULL ? "full" : "half", in phylink_parse_fixedlink()
242 pl->link_config.speed); in phylink_parse_fixedlink()
245 linkmode_and(pl->link_config.advertising, pl->link_config.advertising, in phylink_parse_fixedlink()
248 pl->link_config.link = 1; in phylink_parse_fixedlink()
249 pl->link_config.an_complete = 1; in phylink_parse_fixedlink()
277 pl->link_config.an_enabled = true; in phylink_parse_mode()
280 switch (pl->link_config.interface) { in phylink_parse_mode()
317 phy_modes(pl->link_config.interface)); in phylink_parse_mode()
321 linkmode_copy(pl->link_config.advertising, pl->supported); in phylink_parse_mode()
323 if (phylink_validate(pl, pl->supported, &pl->link_config)) { in phylink_parse_mode()
357 if (pl->link_config.an_enabled && in phylink_mac_an_restart()
358 phy_interface_mode_is_8023z(pl->link_config.interface)) in phylink_mac_an_restart()
365 linkmode_copy(state->advertising, pl->link_config.advertising); in phylink_get_mac_state()
367 state->interface = pl->link_config.interface; in phylink_get_mac_state()
368 state->an_enabled = pl->link_config.an_enabled; in phylink_get_mac_state()
383 *state = pl->link_config; in phylink_get_fixed_state()
403 if (pl->link_config.pause & MLO_PAUSE_AN) { in phylink_resolve_flow()
406 if (phylink_test(pl->link_config.advertising, Pause)) in phylink_resolve_flow()
408 if (phylink_test(pl->link_config.advertising, Asym_Pause)) in phylink_resolve_flow()
419 new_pause = pl->link_config.pause & MLO_PAUSE_TXRX_MASK; in phylink_resolve_flow()
640 pl->link_config.interface = iface; in phylink_create()
641 pl->link_config.pause = MLO_PAUSE_AN; in phylink_create()
642 pl->link_config.speed = SPEED_UNKNOWN; in phylink_create()
643 pl->link_config.duplex = DUPLEX_UNKNOWN; in phylink_create()
644 pl->link_config.an_enabled = true; in phylink_create()
650 linkmode_copy(pl->link_config.advertising, pl->supported); in phylink_create()
651 phylink_validate(pl, pl->supported, &pl->link_config); in phylink_create()
732 config.interface = pl->link_config.interface; in phylink_bringup_phy()
761 linkmode_copy(pl->link_config.advertising, config.advertising); in phylink_bringup_phy()
823 pl->link_config.interface = pl->link_interface; in phylink_connect_phy()
976 phy_modes(pl->link_config.interface)); in phylink_start()
986 phylink_resolve_flow(pl, &pl->link_config); in phylink_start()
987 phylink_mac_config(pl, &pl->link_config); in phylink_start()
1191 config = pl->link_config; in phylink_ethtool_ksettings_set()
1213 (s->speed != pl->link_config.speed || in phylink_ethtool_ksettings_set()
1214 s->duplex != pl->link_config.duplex)) in phylink_ethtool_ksettings_set()
1255 linkmode_copy(pl->link_config.advertising, our_kset.link_modes.advertising); in phylink_ethtool_ksettings_set()
1256 pl->link_config.interface = config.interface; in phylink_ethtool_ksettings_set()
1257 pl->link_config.speed = our_kset.base.speed; in phylink_ethtool_ksettings_set()
1258 pl->link_config.duplex = our_kset.base.duplex; in phylink_ethtool_ksettings_set()
1259 pl->link_config.an_enabled = our_kset.base.autoneg != AUTONEG_DISABLE; in phylink_ethtool_ksettings_set()
1268 phylink_mac_config(pl, &pl->link_config); in phylink_ethtool_ksettings_set()
1312 pause->autoneg = !!(pl->link_config.pause & MLO_PAUSE_AN); in phylink_ethtool_get_pauseparam()
1313 pause->rx_pause = !!(pl->link_config.pause & MLO_PAUSE_RX); in phylink_ethtool_get_pauseparam()
1314 pause->tx_pause = !!(pl->link_config.pause & MLO_PAUSE_TX); in phylink_ethtool_get_pauseparam()
1326 struct phylink_link_state *config = &pl->link_config; in phylink_ethtool_set_pauseparam()
1720 config.an_enabled = pl->link_config.an_enabled; in phylink_sfp_module_insert()
1762 linkmode_copy(pl->link_config.advertising, config.advertising); in phylink_sfp_module_insert()
1766 pl->link_config.interface != config.interface) { in phylink_sfp_module_insert()
1767 pl->link_config.interface = config.interface; in phylink_sfp_module_insert()
1781 phylink_mac_config(pl, &pl->link_config); in phylink_sfp_module_insert()
1809 return __phylink_connect_phy(upstream, phy, pl->link_config.interface); in phylink_sfp_connect_phy()