Lines Matching refs:interface

204 static unsigned int phylink_interface_signal_rate(phy_interface_t interface)  in phylink_interface_signal_rate()  argument
206 switch (interface) { in phylink_interface_signal_rate()
231 static int phylink_interface_max_speed(phy_interface_t interface) in phylink_interface_max_speed() argument
233 switch (interface) { in phylink_interface_max_speed()
428 static unsigned long phylink_get_capabilities(phy_interface_t interface, in phylink_get_capabilities() argument
432 unsigned long link_caps = phy_caps_from_interface(interface); in phylink_get_capabilities()
433 int max_speed = phylink_interface_max_speed(interface); in phylink_get_capabilities()
500 caps = phylink_get_capabilities(state->interface, mac_capabilities, in phylink_validate_mask_caps()
518 pcs = pl->mac_ops->mac_select_pcs(pl->config, state->interface); in phylink_validate_mac_and_pcs()
530 phy_modes(state->interface)); in phylink_validate_mac_and_pcs()
540 !test_bit(state->interface, pcs->supported_interfaces)) { in phylink_validate_mac_and_pcs()
542 phy_modes(state->interface)); in phylink_validate_mac_and_pcs()
563 state->interface); in phylink_validate_mac_and_pcs()
575 phy_interface_t interface, in phylink_validate_one() argument
585 tmp_state.interface = interface; in phylink_validate_one()
588 tmp_state.rate_matching = phy_get_rate_matching(phy, interface); in phylink_validate_one()
592 interface, phy_modes(interface), in phylink_validate_one()
609 int interface; in phylink_validate_mask() local
611 for_each_set_bit(interface, interfaces, PHY_INTERFACE_MODE_MAX) in phylink_validate_mask()
612 phylink_validate_one(pl, phy, supported, state, interface, in phylink_validate_mask()
626 if (state->interface == PHY_INTERFACE_MODE_NA) in phylink_validate()
630 if (!test_bit(state->interface, interfaces)) in phylink_validate()
793 switch (pl->link_config.interface) { in phylink_parse_mode()
816 caps = phylink_get_capabilities(pl->link_config.interface, caps, in phylink_parse_mode()
824 phy_modes(pl->link_config.interface)); in phylink_parse_mode()
869 phy_interface_t interface) in phylink_pcs_inband_caps() argument
872 return pcs->ops->pcs_inband_caps(pcs, interface); in phylink_pcs_inband_caps()
878 phy_interface_t interface) in phylink_pcs_pre_config() argument
881 pcs->ops->pcs_pre_config(pcs, interface); in phylink_pcs_pre_config()
885 phy_interface_t interface) in phylink_pcs_post_config() argument
890 err = pcs->ops->pcs_post_config(pcs, interface); in phylink_pcs_post_config()
918 return pcs->ops->pcs_config(pcs, neg_mode, state->interface, in phylink_pcs_config()
923 phy_interface_t interface, int speed, in phylink_pcs_link_up() argument
927 pcs->ops->pcs_link_up(pcs, neg_mode, interface, speed, duplex); in phylink_pcs_link_up()
946 phy_interface_t interface) in phylink_inband_caps() argument
953 pcs = pl->mac_ops->mac_select_pcs(pl->config, interface); in phylink_inband_caps()
957 return phylink_pcs_inband_caps(pcs, interface); in phylink_inband_caps()
1002 phy_modes(st.interface), in phylink_mac_config()
1014 phy_interface_mode_is_8023z(pl->link_config.interface) && in phylink_pcs_an_restart()
1040 phy_interface_t interface, in phylink_pcs_neg_mode() argument
1055 switch (interface) { in phylink_pcs_neg_mode()
1087 pcs_ib_caps = phylink_pcs_inband_caps(pcs, interface); in phylink_pcs_neg_mode()
1090 phy_ib_caps = phy_inband_caps(pl->phydev, interface); in phylink_pcs_neg_mode()
1093 phy_modes(interface), pcs_ib_caps, phy_ib_caps); in phylink_pcs_neg_mode()
1190 phy_modes(interface)); in phylink_pcs_neg_mode()
1226 phy_modes(state->interface)); in phylink_major_config()
1231 pcs = pl->mac_ops->mac_select_pcs(pl->config, state->interface); in phylink_major_config()
1244 phylink_pcs_neg_mode(pl, pcs, state->interface, state->advertising); in phylink_major_config()
1249 phy_modes(state->interface)); in phylink_major_config()
1255 state->interface); in phylink_major_config()
1279 phylink_pcs_pre_config(pl->pcs, state->interface); in phylink_major_config()
1284 err = phylink_pcs_post_config(pl->pcs, state->interface); in phylink_major_config()
1310 state->interface); in phylink_major_config()
1330 rate_kbd = phylink_interface_signal_rate(state->interface); in phylink_major_config()
1353 phy_modes(pl->link_config.interface), in phylink_change_inband_advert()
1358 phylink_pcs_neg_mode(pl, pl->pcs, pl->link_config.interface, in phylink_change_inband_advert()
1384 state->interface = pl->link_config.interface; in phylink_mac_pcs_get_state()
1438 if (link_state.interface == PHY_INTERFACE_MODE_SGMII) in phylink_mac_initial_config()
1523 speed = phylink_interface_max_speed(link_state.interface); in phylink_link_up()
1533 speed = phylink_interface_max_speed(link_state.interface); in phylink_link_up()
1538 pl->cur_interface = link_state.interface; in phylink_link_up()
1628 if (link_state.interface != pl->phy_state.interface) { in phylink_resolve()
1633 link_state.interface = pl->phy_state.interface; in phylink_resolve()
1657 if (link_state.interface != pl->link_config.interface) { in phylink_resolve()
1666 pl->link_config.interface = link_state.interface; in phylink_resolve()
1847 pl->phy_state.interface = iface; in phylink_create()
1853 pl->link_config.interface = iface; in phylink_create()
1947 pl->phy_state.interface = phydev->interface; in phylink_phy_change()
1961 phy_modes(phydev->interface), in phylink_phy_change()
2020 state->rate_matching = phy_get_rate_matching(phy, state->interface); in phylink_validate_phy()
2034 state->interface != PHY_INTERFACE_MODE_RXAUI && in phylink_validate_phy()
2035 state->interface != PHY_INTERFACE_MODE_XAUI && in phylink_validate_phy()
2036 state->interface != PHY_INTERFACE_MODE_USXGMII) in phylink_validate_phy()
2037 state->interface = PHY_INTERFACE_MODE_NA; in phylink_validate_phy()
2043 phy_interface_t interface) in phylink_bringup_phy() argument
2062 config.interface = interface; in phylink_bringup_phy()
2067 phy_modes(config.interface), in phylink_bringup_phy()
2086 pl->phy_state.interface = interface; in phylink_bringup_phy()
2131 phy_modes(interface), in phylink_bringup_phy()
2158 phy_interface_t interface) in phylink_attach_phy() argument
2164 phy_interface_mode_is_8023z(interface) && !pl->sfp_bus))) in phylink_attach_phy()
2173 return phy_attach_direct(pl->netdev, phy, flags, interface); in phylink_attach_phy()
2197 pl->link_interface = phy->interface; in phylink_connect_phy()
2198 pl->link_config.interface = pl->link_interface; in phylink_connect_phy()
2205 ret = phylink_bringup_phy(pl, phy, pl->link_config.interface); in phylink_connect_phy()
2272 pl->link_interface = phy_dev->interface; in phylink_fwnode_phy_connect()
2273 pl->link_config.interface = pl->link_interface; in phylink_fwnode_phy_connect()
2285 ret = phylink_bringup_phy(pl, phy_dev, pl->link_config.interface); in phylink_fwnode_phy_connect()
2389 phy_modes(pl->link_config.interface)); in phylink_start()
2690 phy_interface_t interface; in phylink_sfp_select_interface() local
2692 interface = sfp_select_interface(pl->sfp_bus, link_modes); in phylink_sfp_select_interface()
2693 if (interface == PHY_INTERFACE_MODE_NA) { in phylink_sfp_select_interface()
2698 return interface; in phylink_sfp_select_interface()
2701 if (!test_bit(interface, pl->config->supported_interfaces)) { in phylink_sfp_select_interface()
2704 phy_modes(interface), interface, in phylink_sfp_select_interface()
2710 return interface; in phylink_sfp_select_interface()
2717 phy_interface_t interface; in phylink_sfp_select_interface_speed() local
2722 interface = phylink_sfp_interface_preference[i]; in phylink_sfp_select_interface_speed()
2723 if (!test_bit(interface, pl->sfp_interfaces)) in phylink_sfp_select_interface_speed()
2726 max_speed = phylink_interface_max_speed(interface); in phylink_sfp_select_interface_speed()
2733 best_interface = interface; in phylink_sfp_select_interface_speed()
2826 phy_interface_t interface, in phylink_validate_pcs_inband_autoneg() argument
2829 unsigned int inband = phylink_inband_caps(pl, interface); in phylink_validate_pcs_inband_autoneg()
2949 config.interface = in phylink_ethtool_ksettings_set()
2953 config.interface = in phylink_ethtool_ksettings_set()
2956 if (config.interface == PHY_INTERFACE_MODE_NA) in phylink_ethtool_ksettings_set()
2964 phy_modes(config.interface), in phylink_ethtool_ksettings_set()
2984 if (!phylink_validate_pcs_inband_autoneg(pl, config.interface, in phylink_ethtool_ksettings_set()
2992 if (pl->link_config.interface != config.interface) { in phylink_ethtool_ksettings_set()
3002 pl->link_config.interface = config.interface; in phylink_ethtool_ksettings_set()
3523 phy_interface_t interface; in phylink_choose_sfp_interface() local
3526 interface = PHY_INTERFACE_MODE_NA; in phylink_choose_sfp_interface()
3529 interface = phylink_sfp_interface_preference[i]; in phylink_choose_sfp_interface()
3533 return interface; in phylink_choose_sfp_interface()
3543 phylink_an_mode_str(mode), phy_modes(state->interface), in phylink_sfp_set_config()
3557 pl->link_config.interface != state->interface) { in phylink_sfp_set_config()
3559 pl->link_config.interface = state->interface; in phylink_sfp_set_config()
3565 phy_modes(state->interface)); in phylink_sfp_set_config()
3585 config.interface = PHY_INTERFACE_MODE_NA; in phylink_sfp_config_phy()
3599 config.interface = phylink_sfp_select_interface(pl, config.advertising); in phylink_sfp_config_phy()
3600 if (config.interface == PHY_INTERFACE_MODE_NA) in phylink_sfp_config_phy()
3606 ret = phylink_attach_phy(pl, phy, config.interface); in phylink_sfp_config_phy()
3611 ret = phylink_bringup_phy(pl, phy, config.interface); in phylink_sfp_config_phy()
3628 phy_interface_t interface; in phylink_sfp_config_optical() local
3665 interface = phylink_choose_sfp_interface(pl, pl->sfp_interfaces); in phylink_sfp_config_optical()
3666 if (interface == PHY_INTERFACE_MODE_NA) { in phylink_sfp_config_optical()
3672 phy_modes(interface)); in phylink_sfp_config_optical()
3674 if (!phylink_validate_pcs_inband_autoneg(pl, interface, in phylink_sfp_config_optical()
3680 config.interface = interface; in phylink_sfp_config_optical()
4014 switch (state->interface) { in phylink_mii_c22_pcs_decode_state()
4099 int phylink_mii_c22_pcs_encode_advertisement(phy_interface_t interface, in phylink_mii_c22_pcs_encode_advertisement() argument
4104 switch (interface) { in phylink_mii_c22_pcs_encode_advertisement()
4138 phy_interface_t interface, in phylink_mii_c22_pcs_config() argument
4146 adv = phylink_mii_c22_pcs_encode_advertisement(interface, advertising); in phylink_mii_c22_pcs_config()
4209 switch (state->interface) { in phylink_mii_c45_pcs_get_state()