fec_mode
static DEVICE_ATTR_RO(fec_mode);
u8 fec_mode;
.fec_mode = 0,
u64 fec_mode;
fec_mode = FUN_PORT_FEC_AUTO;
fec_mode = FUN_PORT_FEC_OFF;
fec_mode = FUN_PORT_FEC_FC;
fec_mode = FUN_PORT_FEC_RS;
return fun_port_write_cmd(fp, FUN_ADMIN_PORT_KEY_FEC, fec_mode);
u8 *fec_mode);
int (*set_fec)(struct hnae3_handle *handle, u32 fec_mode);
u8 fec_mode;
ops->get_fec(handle, &fec_ability, &fec_mode);
fec->active_fec = loc_to_eth_fec(fec_mode);
u32 fec_mode;
fec_mode = eth_to_loc_fec(fec->fec);
netif_dbg(handle, drv, netdev, "set fecparam: mode=%u\n", fec_mode);
return ops->set_fec(handle, fec_mode);
u8 fec_mode;
u32 fec_mode = hdev->hw.mac.fec_mode;
switch (fec_mode) {
fec_mode);
u32 fec_mode = hdev->hw.mac.fec_mode;
if (fec_mode == BIT(HNAE3_FEC_NONE) ||
fec_mode == BIT(HNAE3_FEC_AUTO) ||
fec_mode == BIT(HNAE3_FEC_USER_DEF))
static int hclge_set_fec_hw(struct hclge_dev *hdev, u32 fec_mode)
if (fec_mode & BIT(HNAE3_FEC_AUTO))
hnae3_set_bit(req->fec_mode, HCLGE_MAC_CFG_FEC_AUTO_EN_B, 1);
if (fec_mode & BIT(HNAE3_FEC_RS))
hnae3_set_field(req->fec_mode, HCLGE_MAC_CFG_FEC_MODE_M,
if (fec_mode & BIT(HNAE3_FEC_LLRS))
hnae3_set_field(req->fec_mode, HCLGE_MAC_CFG_FEC_MODE_M,
if (fec_mode & BIT(HNAE3_FEC_BASER))
hnae3_set_field(req->fec_mode, HCLGE_MAC_CFG_FEC_MODE_M,
static int hclge_set_fec(struct hnae3_handle *handle, u32 fec_mode)
if (fec_mode && !(mac->fec_ability & fec_mode)) {
ret = hclge_set_fec_hw(hdev, fec_mode);
mac->user_fec_mode = fec_mode | BIT(HNAE3_FEC_USER_DEF);
u8 *fec_mode)
if (fec_mode)
*fec_mode = mac->fec_mode;
if (mac->fec_mode & BIT(HNAE3_FEC_RS))
else if (mac->fec_mode & BIT(HNAE3_FEC_LLRS))
else if (mac->fec_mode & BIT(HNAE3_FEC_BASER))
mac->fec_mode = 0;
mac->fec_mode = BIT(resp->active_fec);
u32 fec_mode; /* active fec mode */
enum ice_ptp_fec_mode fec_mode;
err = ice_phy_get_speed_and_fec_e82x(hw, port, &link_spd, &fec_mode);
enum ice_ptp_fec_mode fec_mode;
err = ice_phy_get_speed_and_fec_e82x(hw, port, &link_spd, &fec_mode);
enum ice_ptp_fec_mode fec_mode, u64 *pmd_adj)
if (pmd_align != 65 || fec_mode == ICE_PTP_FEC_MODE_CLAUSE74)
enum ice_ptp_fec_mode fec_mode;
err = ice_phy_get_speed_and_fec_e82x(hw, port, &link_spd, &fec_mode);
err = ice_phy_calc_pmd_adj_e82x(hw, port, link_spd, fec_mode, &pmd);
if (fec_mode == ICE_PTP_FEC_MODE_RS_FEC)
M(CGX_FEC_SET, 0x210, cgx_set_fec_param, fec_mode, fec_mode) \
struct fec_mode *req,
struct fec_mode *rsp)
struct fec_mode *req, *rsp;
rsp = (struct fec_mode *)otx2_mbox_get_rsp(&pfvf->mbox.mbox,
static u32 pplm2ethtool_fec(u_long fec_mode, unsigned long size)
if (!fec_mode)
mode = find_first_bit(&fec_mode, size);
SET_MFW_FIELD(phy_cfg.fec_mode, FEC_FORCE_MODE, fec_bit);
SET_MFW_FIELD(phy_cfg.fec_mode, FEC_EXTENDED_MODE,
phy_cfg.loopback_mode, phy_cfg.fec_mode,
u32 fec_mode;
buffer.fec_mode = TXGBE_PHY_FEC_AUTO;
u8 fec_mode;
u8 fec_mode;