Lines Matching full:fec
309 /* The semantics of the ethtool FEC mode bitmask are not well defined,
312 * OFF overrides any other bits, and means "disable all FEC" (with the
317 * AUTO and either RS or BASER means use the specified FEC type if cable and
319 * RS or BASER alone means use the specified FEC type if cable and link partner
320 * support it and either requests it, otherwise no FEC.
321 * Both RS and BASER (whether AUTO or not) means use FEC if cable and link
501 /* Record the initial FEC configuration (or nearest approximation in efx_mcdi_phy_probe()
603 int efx_mcdi_phy_get_fecparam(struct efx_nic *efx, struct ethtool_fecparam *fec) in efx_mcdi_phy_get_fecparam() argument
624 fec->fec = mcdi_fec_caps_to_ethtool(caps, is_25g); in efx_mcdi_phy_get_fecparam()
627 fec->fec &= ~ETHTOOL_FEC_BASER; in efx_mcdi_phy_get_fecparam()
632 fec->active_fec = ETHTOOL_FEC_OFF; in efx_mcdi_phy_get_fecparam()
635 fec->active_fec = ETHTOOL_FEC_BASER; in efx_mcdi_phy_get_fecparam()
638 fec->active_fec = ETHTOOL_FEC_RS; in efx_mcdi_phy_get_fecparam()
647 fec->active_fec = ETHTOOL_FEC_AUTO; in efx_mcdi_phy_get_fecparam()
655 * in fact supported by the adapter. Note that 'no FEC' is always supported.
668 int efx_mcdi_phy_set_fecparam(struct efx_nic *efx, const struct ethtool_fecparam *fec) in efx_mcdi_phy_set_fecparam() argument
674 rc = ethtool_fec_supported(phy_cfg->supported_cap, fec->fec); in efx_mcdi_phy_set_fecparam()
687 caps |= ethtool_fec_caps_to_mcdi(phy_cfg->supported_cap, fec->fec); in efx_mcdi_phy_set_fecparam()
693 /* Record the new FEC setting for subsequent set_link calls */ in efx_mcdi_phy_set_fecparam()
694 efx->fec_config = fec->fec; in efx_mcdi_phy_set_fecparam()