Lines Matching refs:fec
32 ethtool_fec_to_link_modes(u32 fec, unsigned long *link_modes, u8 *fec_auto)
35 *fec_auto = !!(fec & ETHTOOL_FEC_AUTO);
37 if (fec & ETHTOOL_FEC_OFF)
39 if (fec & ETHTOOL_FEC_RS)
41 if (fec & ETHTOOL_FEC_BASER)
43 if (fec & ETHTOOL_FEC_LLRS)
48 ethtool_link_modes_to_fecparam(struct ethtool_fecparam *fec,
51 memset(fec, 0, sizeof(*fec));
54 fec->fec |= ETHTOOL_FEC_AUTO;
57 fec->fec |= ETHTOOL_FEC_OFF;
59 fec->fec |= ETHTOOL_FEC_RS;
61 fec->fec |= ETHTOOL_FEC_BASER;
63 fec->fec |= ETHTOOL_FEC_LLRS;
100 struct ethtool_fecparam fec = {};
108 ret = dev->ethtool_ops->get_fecparam(dev, &fec);
123 WARN_ON_ONCE(fec.reserved);
125 ethtool_fec_to_link_modes(fec.fec, data->fec_link_modes,
128 ethtool_fec_to_link_modes(fec.active_fec, active_fec_modes, NULL);
242 struct ethtool_fecparam fec = {};
247 ret = dev->ethtool_ops->get_fecparam(dev, &fec);
251 ethtool_fec_to_link_modes(fec.fec, fec_link_modes, &fec_auto);
263 ret = ethtool_link_modes_to_fecparam(&fec, fec_link_modes, fec_auto);
269 if (!fec.fec) {
275 ret = dev->ethtool_ops->set_fecparam(dev, &fec);