Lines Matching defs:fec
33 ethtool_fec_to_link_modes(u32 fec, unsigned long *link_modes, u8 *fec_auto)
36 *fec_auto = !!(fec & ETHTOOL_FEC_AUTO);
38 if (fec & ETHTOOL_FEC_OFF)
40 if (fec & ETHTOOL_FEC_RS)
42 if (fec & ETHTOOL_FEC_BASER)
44 if (fec & ETHTOOL_FEC_LLRS)
49 ethtool_link_modes_to_fecparam(struct ethtool_fecparam *fec,
52 memset(fec, 0, sizeof(*fec));
55 fec->fec |= ETHTOOL_FEC_AUTO;
58 fec->fec |= ETHTOOL_FEC_OFF;
60 fec->fec |= ETHTOOL_FEC_RS;
62 fec->fec |= ETHTOOL_FEC_BASER;
64 fec->fec |= ETHTOOL_FEC_LLRS;
101 struct ethtool_fecparam fec = {};
109 ret = dev->ethtool_ops->get_fecparam(dev, &fec);
127 WARN_ON_ONCE(fec.reserved);
129 ethtool_fec_to_link_modes(fec.fec, data->fec_link_modes,
132 ethtool_fec_to_link_modes(fec.active_fec, active_fec_modes, NULL);
313 struct ethtool_fecparam fec = {};
318 ret = dev->ethtool_ops->get_fecparam(dev, &fec);
322 ethtool_fec_to_link_modes(fec.fec, fec_link_modes, &fec_auto);
334 ret = ethtool_link_modes_to_fecparam(&fec, fec_link_modes, fec_auto);
340 if (!fec.fec) {
346 ret = dev->ethtool_ops->set_fecparam(dev, &fec);