Lines Matching defs:supported
56 __ETHTOOL_DECLARE_LINK_MODE_MASK(supported);
366 * supported by the @caps. @linkmodes must have been initialised previously.
430 * Get the MAC capabilities that are supported by the @interface mode and
488 * @supported: ethtool bitmask for supported link modes.
492 * Calculate the supported link modes based on @mac_capabilities, and restrict
493 * @supported and @state based on that. Use this function if your capabiliies
496 static void phylink_validate_mask_caps(unsigned long *supported,
509 linkmode_and(supported, supported, mask);
514 unsigned long *supported,
553 ret = pcs->ops->pcs_validate(pcs, supported, state);
554 if (ret < 0 || phylink_is_empty_linkmode(supported))
558 * supported mask.
561 supported);
572 phylink_validate_mask_caps(supported, state, capabilities);
574 return phylink_is_empty_linkmode(supported) ? -EINVAL : 0;
578 const unsigned long *supported,
587 linkmode_copy(tmp_supported, supported);
608 unsigned long *supported,
617 phylink_validate_one(pl, phy, supported, state, interface,
620 linkmode_copy(supported, all_s);
623 return phylink_is_empty_linkmode(supported) ? -EINVAL : 0;
626 static int phylink_validate(struct phylink *pl, unsigned long *supported,
632 return phylink_validate_mask(pl, NULL, supported, state,
638 return phylink_validate_mac_and_pcs(pl, supported, state);
641 static void phylink_fill_fixedlink_supported(unsigned long *supported)
643 linkmode_set_bit(ETHTOOL_LINK_MODE_Pause_BIT, supported);
644 linkmode_set_bit(ETHTOOL_LINK_MODE_Asym_Pause_BIT, supported);
645 linkmode_set_bit(ETHTOOL_LINK_MODE_Autoneg_BIT, supported);
646 linkmode_set_bit(ETHTOOL_LINK_MODE_10baseT_Half_BIT, supported);
647 linkmode_set_bit(ETHTOOL_LINK_MODE_10baseT_Full_BIT, supported);
648 linkmode_set_bit(ETHTOOL_LINK_MODE_100baseT_Half_BIT, supported);
649 linkmode_set_bit(ETHTOOL_LINK_MODE_100baseT_Full_BIT, supported);
650 linkmode_set_bit(ETHTOOL_LINK_MODE_1000baseT_Half_BIT, supported);
651 linkmode_set_bit(ETHTOOL_LINK_MODE_1000baseT_Full_BIT, supported);
652 linkmode_set_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT, supported);
653 linkmode_set_bit(ETHTOOL_LINK_MODE_5000baseT_Full_BIT, supported);
654 linkmode_set_bit(ETHTOOL_LINK_MODE_10000baseT_Full_BIT, supported);
734 linkmode_zero(pl->supported);
735 phylink_fill_fixedlink_supported(pl->supported);
737 linkmode_copy(pl->link_config.advertising, pl->supported);
738 phylink_validate(pl, pl->supported, &pl->link_config);
741 pl->supported, true);
743 linkmode_and(match, pl->supported, c->linkmodes);
748 linkmode_and(pl->supported, pl->supported, mask);
750 phylink_set(pl->supported, MII);
753 linkmode_or(pl->supported, pl->supported, match);
763 pl->supported);
798 linkmode_zero(pl->supported);
799 phylink_set(pl->supported, MII);
800 phylink_set(pl->supported, Autoneg);
801 phylink_set(pl->supported, Asym_Pause);
802 phylink_set(pl->supported, Pause);
829 phylink_caps_to_linkmodes(pl->supported, caps);
839 linkmode_copy(pl->link_config.advertising, pl->supported);
841 if (phylink_validate(pl, pl->supported, &pl->link_config)) {
1185 /* In-band supported or unknown at both ends. Enable
1196 /* Either in-band not supported at at least one end.
1801 pl->supported, true);
1806 linkmode_and(adv, pl->supported, c->linkmodes);
1896 linkmode_fill(pl->supported);
1897 linkmode_copy(pl->link_config.advertising, pl->supported);
1898 phylink_validate(pl, pl->supported, &pl->link_config);
2004 unsigned long *supported,
2044 return phylink_validate_mask(pl, phy, supported, state,
2063 * linkmodes can be supported. For now, as a work-around, we validate
2065 * modes being advertised than are actually supported.
2073 return phylink_validate(pl, supported, state);
2080 __ETHTOOL_DECLARE_LINK_MODE_MASK(supported);
2089 * clearing the bits from both supported and advertising fields.
2094 linkmode_copy(supported, phy->supported);
2098 ret = phylink_validate_phy(pl, phy, supported, &config);
2102 __ETHTOOL_LINK_MODE_MASK_NBITS, phy->supported,
2126 linkmode_copy(pl->supported, supported);
2166 "phy: %s setting supported %*pb advertising %*pb\n",
2168 __ETHTOOL_LINK_MODE_MASK_NBITS, pl->supported,
2222 * This updates the phylink's ethtool supported and advertising link mode
2724 wol->supported = 0;
2738 wol->supported |= pl->config->wol_mac_support;
2913 linkmode_copy(kset->link_modes.supported, pl->supported);
2919 * represent the supported speeds/duplex/pause modes.
2985 pl->supported);
3011 pl->supported);
3020 pl->supported, false);
3081 linkmode_copy(support, pl->supported);
3090 /* Validate without changing the current supported mask. */
3091 linkmode_copy(support, pl->supported);
3194 if (!phylink_test(pl->supported, Pause) &&
3195 !phylink_test(pl->supported, Asym_Pause))
3198 if (!phylink_test(pl->supported, Asym_Pause) &&
3302 /* Restrict supported linkmode mask */
3304 linkmode_and(eee->supported, eee->supported,
3580 * phylink_speed_down() - set the non-SFP PHY to lowest speed supported by both
3657 static void phylink_sfp_set_config(struct phylink *pl, unsigned long *supported,
3665 __ETHTOOL_LINK_MODE_MASK_NBITS, supported);
3667 if (!linkmode_equal(pl->supported, supported)) {
3668 linkmode_copy(pl->supported, supported);
3702 linkmode_copy(support, phy->supported);
3759 /* Find the union of the supported interfaces by the PCS/MAC and
3776 /* For all the interfaces that are supported, reduce the sfp_support
3777 * mask to only those link modes that can be supported.
3927 * clearing the bits from both supported and advertising fields.
3931 /* Set the PHY's host supported interfaces */
3966 /* 100GBASE-KP4 and 100GBASE-CR10 not supported */
3971 /* 5GBASE-KR not supported */