Lines Matching refs:supported
61 __ETHTOOL_DECLARE_LINK_MODE_MASK(supported);
258 * supported by the @caps. @linkmodes must have been initialised previously.
477 * Get the MAC capabilities that are supported by the @interface mode and
613 * @supported: ethtool bitmask for supported link modes.
617 * Calculate the supported link modes based on @mac_capabilities, and restrict
618 * @supported and @state based on that. Use this function if your capabiliies
621 void phylink_validate_mask_caps(unsigned long *supported,
634 linkmode_and(supported, supported, mask);
642 * @supported: ethtool bitmask for supported link modes.
646 * use when they pass the range of supported interfaces and MAC capabilities.
649 unsigned long *supported,
652 phylink_validate_mask_caps(supported, state, config->mac_capabilities);
657 unsigned long *supported,
686 ret = pcs->ops->pcs_validate(pcs, supported, state);
687 if (ret < 0 || phylink_is_empty_linkmode(supported))
691 * supported mask.
694 supported);
700 pl->mac_ops->validate(pl->config, supported, state);
702 phylink_generic_validate(pl->config, supported, state);
704 return phylink_is_empty_linkmode(supported) ? -EINVAL : 0;
707 static int phylink_validate_mask(struct phylink *pl, unsigned long *supported,
719 linkmode_copy(s, supported);
730 linkmode_copy(supported, all_s);
733 return phylink_is_empty_linkmode(supported) ? -EINVAL : 0;
736 static int phylink_validate(struct phylink *pl, unsigned long *supported,
742 return phylink_validate_mask(pl, supported, state, interfaces);
747 return phylink_validate_mac_and_pcs(pl, supported, state);
823 bitmap_fill(pl->supported, __ETHTOOL_LINK_MODE_MASK_NBITS);
824 linkmode_copy(pl->link_config.advertising, pl->supported);
825 phylink_validate(pl, pl->supported, &pl->link_config);
827 pause = phylink_test(pl->supported, Pause);
828 asym_pause = phylink_test(pl->supported, Asym_Pause);
829 autoneg = phylink_test(pl->supported, Autoneg);
831 pl->supported, true);
832 linkmode_zero(pl->supported);
833 phylink_set(pl->supported, MII);
836 phylink_set(pl->supported, Pause);
839 phylink_set(pl->supported, Asym_Pause);
842 phylink_set(pl->supported, Autoneg);
845 __set_bit(s->bit, pl->supported);
854 pl->supported);
882 linkmode_zero(pl->supported);
883 phylink_set(pl->supported, MII);
884 phylink_set(pl->supported, Autoneg);
885 phylink_set(pl->supported, Asym_Pause);
886 phylink_set(pl->supported, Pause);
899 phylink_set(pl->supported, 10baseT_Half);
900 phylink_set(pl->supported, 10baseT_Full);
901 phylink_set(pl->supported, 100baseT_Half);
902 phylink_set(pl->supported, 100baseT_Full);
903 phylink_set(pl->supported, 1000baseT_Half);
904 phylink_set(pl->supported, 1000baseT_Full);
908 phylink_set(pl->supported, 1000baseX_Full);
912 phylink_set(pl->supported, 2500baseX_Full);
916 phylink_set(pl->supported, 5000baseT_Full);
920 phylink_set(pl->supported, 25000baseCR_Full);
921 phylink_set(pl->supported, 25000baseKR_Full);
922 phylink_set(pl->supported, 25000baseSR_Full);
927 phylink_set(pl->supported, 10baseT_Half);
928 phylink_set(pl->supported, 10baseT_Full);
929 phylink_set(pl->supported, 100baseT_Half);
930 phylink_set(pl->supported, 100baseT_Full);
931 phylink_set(pl->supported, 1000baseT_Half);
932 phylink_set(pl->supported, 1000baseT_Full);
933 phylink_set(pl->supported, 1000baseX_Full);
934 phylink_set(pl->supported, 1000baseKX_Full);
935 phylink_set(pl->supported, 2500baseT_Full);
936 phylink_set(pl->supported, 2500baseX_Full);
937 phylink_set(pl->supported, 5000baseT_Full);
938 phylink_set(pl->supported, 10000baseT_Full);
939 phylink_set(pl->supported, 10000baseKR_Full);
940 phylink_set(pl->supported, 10000baseKX4_Full);
941 phylink_set(pl->supported, 10000baseCR_Full);
942 phylink_set(pl->supported, 10000baseSR_Full);
943 phylink_set(pl->supported, 10000baseLR_Full);
944 phylink_set(pl->supported, 10000baseLRM_Full);
945 phylink_set(pl->supported, 10000baseER_Full);
949 phylink_set(pl->supported, 25000baseCR_Full);
950 phylink_set(pl->supported, 25000baseKR_Full);
951 phylink_set(pl->supported, 25000baseSR_Full);
952 phylink_set(pl->supported, 40000baseKR4_Full);
953 phylink_set(pl->supported, 40000baseCR4_Full);
954 phylink_set(pl->supported, 40000baseSR4_Full);
955 phylink_set(pl->supported, 40000baseLR4_Full);
956 phylink_set(pl->supported, 50000baseCR2_Full);
957 phylink_set(pl->supported, 50000baseKR2_Full);
958 phylink_set(pl->supported, 50000baseSR2_Full);
959 phylink_set(pl->supported, 50000baseKR_Full);
960 phylink_set(pl->supported, 50000baseSR_Full);
961 phylink_set(pl->supported, 50000baseCR_Full);
962 phylink_set(pl->supported, 50000baseLR_ER_FR_Full);
963 phylink_set(pl->supported, 50000baseDR_Full);
964 phylink_set(pl->supported, 100000baseKR4_Full);
965 phylink_set(pl->supported, 100000baseSR4_Full);
966 phylink_set(pl->supported, 100000baseCR4_Full);
967 phylink_set(pl->supported, 100000baseLR4_ER4_Full);
968 phylink_set(pl->supported, 100000baseKR2_Full);
969 phylink_set(pl->supported, 100000baseSR2_Full);
970 phylink_set(pl->supported, 100000baseCR2_Full);
971 phylink_set(pl->supported, 100000baseLR2_ER2_FR2_Full);
972 phylink_set(pl->supported, 100000baseDR2_Full);
982 linkmode_copy(pl->link_config.advertising, pl->supported);
984 if (phylink_validate(pl, pl->supported, &pl->link_config)) {
1658 bitmap_fill(pl->supported, __ETHTOOL_LINK_MODE_MASK_NBITS);
1659 linkmode_copy(pl->link_config.advertising, pl->supported);
1660 phylink_validate(pl, pl->supported, &pl->link_config);
1761 __ETHTOOL_DECLARE_LINK_MODE_MASK(supported);
1770 * clearing the bits from both supported and advertising fields.
1775 linkmode_copy(supported, phy->supported);
1790 * linkmodes can be supported. For now, as a work-around, we validate
1792 * modes being advertised than are actually supported.
1802 ret = phylink_validate(pl, supported, &config);
1806 __ETHTOOL_LINK_MODE_MASK_NBITS, phy->supported,
1829 linkmode_copy(pl->supported, supported);
1838 "phy: %s setting supported %*pb advertising %*pb\n",
1840 __ETHTOOL_LINK_MODE_MASK_NBITS, pl->supported,
1876 * This updates the phylink's ethtool supported and advertising link mode
2252 wol->supported = 0;
2330 linkmode_copy(kset->link_modes.supported, pl->supported);
2336 * represent the supported speeds/duplex/pause modes.
2382 pl->supported);
2408 pl->supported);
2417 pl->supported, false);
2477 linkmode_copy(support, pl->supported);
2486 /* Validate without changing the current supported mask. */
2487 linkmode_copy(support, pl->supported);
2583 if (!phylink_test(pl->supported, Pause) &&
2584 !phylink_test(pl->supported, Asym_Pause))
2587 if (!phylink_test(pl->supported, Asym_Pause) &&
2962 * phylink_speed_down() - set the non-SFP PHY to lowest speed supported by both
3053 unsigned long *supported,
3060 __ETHTOOL_LINK_MODE_MASK_NBITS, supported);
3062 if (!linkmode_equal(pl->supported, supported)) {
3063 linkmode_copy(pl->supported, supported);
3098 linkmode_copy(support, phy->supported);
3158 /* Find the union of the supported interfaces by the PCS/MAC and
3175 /* For all the interfaces that are supported, reduce the sfp_support
3176 * mask to only those link modes that can be supported.
3299 * clearing the bits from both supported and advertising fields.
3308 /* Set the PHY's host supported interfaces */
3354 /* 100GBASE-KP4 and 100GBASE-CR10 not supported */
3359 /* 5GBASE-KR not supported */