Lines Matching refs:link_config
59 struct phylink_link_state link_config; member
177 pl->link_config.speed = speed; in phylink_parse_fixedlink()
178 pl->link_config.duplex = DUPLEX_HALF; in phylink_parse_fixedlink()
181 pl->link_config.duplex = DUPLEX_FULL; in phylink_parse_fixedlink()
187 pl->link_config.lp_advertising); in phylink_parse_fixedlink()
190 pl->link_config.lp_advertising); in phylink_parse_fixedlink()
218 pl->link_config.duplex = prop[1] ? in phylink_parse_fixedlink()
220 pl->link_config.speed = prop[2]; in phylink_parse_fixedlink()
223 pl->link_config.lp_advertising); in phylink_parse_fixedlink()
226 pl->link_config.lp_advertising); in phylink_parse_fixedlink()
230 if (pl->link_config.speed > SPEED_1000 && in phylink_parse_fixedlink()
231 pl->link_config.duplex != DUPLEX_FULL) in phylink_parse_fixedlink()
233 pl->link_config.speed); in phylink_parse_fixedlink()
236 linkmode_copy(pl->link_config.advertising, pl->supported); in phylink_parse_fixedlink()
237 phylink_validate(pl, pl->supported, &pl->link_config); in phylink_parse_fixedlink()
239 s = phy_lookup_setting(pl->link_config.speed, pl->link_config.duplex, in phylink_parse_fixedlink()
248 __set_bit(s->bit, pl->link_config.lp_advertising); in phylink_parse_fixedlink()
251 pl->link_config.duplex == DUPLEX_FULL ? "full" : "half", in phylink_parse_fixedlink()
252 pl->link_config.speed); in phylink_parse_fixedlink()
255 linkmode_and(pl->link_config.advertising, pl->link_config.advertising, in phylink_parse_fixedlink()
258 pl->link_config.link = 1; in phylink_parse_fixedlink()
259 pl->link_config.an_complete = 1; in phylink_parse_fixedlink()
287 pl->link_config.an_enabled = true; in phylink_parse_mode()
290 switch (pl->link_config.interface) { in phylink_parse_mode()
363 phy_modes(pl->link_config.interface)); in phylink_parse_mode()
367 linkmode_copy(pl->link_config.advertising, pl->supported); in phylink_parse_mode()
369 if (phylink_validate(pl, pl->supported, &pl->link_config)) { in phylink_parse_mode()
376 pl->link_config.an_enabled = phylink_test(pl->supported, Autoneg); in phylink_parse_mode()
390 if (!(pl->link_config.pause & MLO_PAUSE_AN)) in phylink_apply_manual_flow()
391 state->pause = pl->link_config.pause; in phylink_apply_manual_flow()
427 if (pl->link_config.an_enabled && in phylink_mac_pcs_an_restart()
428 phy_interface_mode_is_8023z(pl->link_config.interface) && in phylink_mac_pcs_an_restart()
460 !!(pl->link_config.pause & in phylink_major_config()
495 phylink_mac_config(pl, &pl->link_config); in phylink_change_inband_advert()
502 phy_modes(pl->link_config.interface), in phylink_change_inband_advert()
503 __ETHTOOL_LINK_MODE_MASK_NBITS, pl->link_config.advertising, in phylink_change_inband_advert()
504 pl->link_config.pause); in phylink_change_inband_advert()
511 pl->link_config.interface, in phylink_change_inband_advert()
512 pl->link_config.advertising, in phylink_change_inband_advert()
513 !!(pl->link_config.pause & MLO_PAUSE_AN)); in phylink_change_inband_advert()
526 linkmode_copy(state->advertising, pl->link_config.advertising); in phylink_mac_pcs_get_state()
528 state->interface = pl->link_config.interface; in phylink_mac_pcs_get_state()
529 state->an_enabled = pl->link_config.an_enabled; in phylink_mac_pcs_get_state()
550 *state = pl->link_config; in phylink_get_fixed_state()
573 link_state = pl->link_config; in phylink_mac_initial_config()
720 if (link_state.interface != pl->link_config.interface) { in phylink_resolve()
729 pl->link_config.interface = link_state.interface; in phylink_resolve()
854 pl->link_config.interface = iface; in phylink_create()
855 pl->link_config.pause = MLO_PAUSE_AN; in phylink_create()
856 pl->link_config.speed = SPEED_UNKNOWN; in phylink_create()
857 pl->link_config.duplex = DUPLEX_UNKNOWN; in phylink_create()
858 pl->link_config.an_enabled = true; in phylink_create()
864 linkmode_copy(pl->link_config.advertising, pl->supported); in phylink_create()
865 phylink_validate(pl, pl->supported, &pl->link_config); in phylink_create()
1022 linkmode_copy(pl->link_config.advertising, config.advertising); in phylink_bringup_phy()
1076 pl->link_config.interface = pl->link_interface; in phylink_connect_phy()
1083 ret = phylink_bringup_phy(pl, phy, pl->link_config.interface); in phylink_connect_phy()
1139 ret = phylink_bringup_phy(pl, phy_dev, pl->link_config.interface); in phylink_of_phy_connect()
1216 phy_modes(pl->link_config.interface)); in phylink_start()
1456 config = pl->link_config; in phylink_ethtool_ksettings_set()
1480 if (s->speed != pl->link_config.speed || in phylink_ethtool_ksettings_set()
1481 s->duplex != pl->link_config.duplex) in phylink_ethtool_ksettings_set()
1497 pl->link_config.advertising)) in phylink_ethtool_ksettings_set()
1547 pl->link_config.speed = config.speed; in phylink_ethtool_ksettings_set()
1548 pl->link_config.duplex = config.duplex; in phylink_ethtool_ksettings_set()
1549 pl->link_config.an_enabled = config.an_enabled; in phylink_ethtool_ksettings_set()
1551 if (pl->link_config.interface != config.interface) { in phylink_ethtool_ksettings_set()
1561 pl->link_config.interface = config.interface; in phylink_ethtool_ksettings_set()
1562 linkmode_copy(pl->link_config.advertising, config.advertising); in phylink_ethtool_ksettings_set()
1563 } else if (!linkmode_equal(pl->link_config.advertising, in phylink_ethtool_ksettings_set()
1565 linkmode_copy(pl->link_config.advertising, config.advertising); in phylink_ethtool_ksettings_set()
1609 pause->autoneg = !!(pl->link_config.pause & MLO_PAUSE_AN); in phylink_ethtool_get_pauseparam()
1610 pause->rx_pause = !!(pl->link_config.pause & MLO_PAUSE_RX); in phylink_ethtool_get_pauseparam()
1611 pause->tx_pause = !!(pl->link_config.pause & MLO_PAUSE_TX); in phylink_ethtool_get_pauseparam()
1623 struct phylink_link_state *config = &pl->link_config; in phylink_ethtool_set_pauseparam()
2089 config.an_enabled = pl->link_config.an_enabled; in phylink_sfp_config()
2126 !linkmode_equal(pl->link_config.advertising, in phylink_sfp_config()
2130 linkmode_copy(pl->link_config.advertising, config.advertising); in phylink_sfp_config()
2134 pl->link_config.interface != config.interface) { in phylink_sfp_config()
2135 pl->link_config.interface = config.interface; in phylink_sfp_config()
2257 interface = pl->link_config.interface; in phylink_sfp_connect_phy()