diff options
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_common.c')
-rw-r--r-- | drivers/net/ethernet/intel/ice/ice_common.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c index 5f9dc76699d2..4b43e6de847b 100644 --- a/drivers/net/ethernet/intel/ice/ice_common.c +++ b/drivers/net/ethernet/intel/ice/ice_common.c | |||
@@ -2031,7 +2031,7 @@ enum ice_status ice_update_link_info(struct ice_port_info *pi) | |||
2031 | if (!pcaps) | 2031 | if (!pcaps) |
2032 | return ICE_ERR_NO_MEMORY; | 2032 | return ICE_ERR_NO_MEMORY; |
2033 | 2033 | ||
2034 | status = ice_aq_get_phy_caps(pi, false, ICE_AQC_REPORT_SW_CFG, | 2034 | status = ice_aq_get_phy_caps(pi, false, ICE_AQC_REPORT_TOPO_CAP, |
2035 | pcaps, NULL); | 2035 | pcaps, NULL); |
2036 | if (!status) | 2036 | if (!status) |
2037 | memcpy(li->module_type, &pcaps->module_type, | 2037 | memcpy(li->module_type, &pcaps->module_type, |
@@ -2181,27 +2181,24 @@ ice_cfg_phy_fec(struct ice_aqc_set_phy_cfg_data *cfg, enum ice_fec_mode fec) | |||
2181 | { | 2181 | { |
2182 | switch (fec) { | 2182 | switch (fec) { |
2183 | case ICE_FEC_BASER: | 2183 | case ICE_FEC_BASER: |
2184 | /* Clear auto FEC and RS bits, and AND BASE-R ability | 2184 | /* Clear RS bits, and AND BASE-R ability |
2185 | * bits and OR request bits. | 2185 | * bits and OR request bits. |
2186 | */ | 2186 | */ |
2187 | cfg->caps &= ~ICE_AQC_PHY_EN_AUTO_FEC; | ||
2188 | cfg->link_fec_opt &= ICE_AQC_PHY_FEC_10G_KR_40G_KR4_EN | | 2187 | cfg->link_fec_opt &= ICE_AQC_PHY_FEC_10G_KR_40G_KR4_EN | |
2189 | ICE_AQC_PHY_FEC_25G_KR_CLAUSE74_EN; | 2188 | ICE_AQC_PHY_FEC_25G_KR_CLAUSE74_EN; |
2190 | cfg->link_fec_opt |= ICE_AQC_PHY_FEC_10G_KR_40G_KR4_REQ | | 2189 | cfg->link_fec_opt |= ICE_AQC_PHY_FEC_10G_KR_40G_KR4_REQ | |
2191 | ICE_AQC_PHY_FEC_25G_KR_REQ; | 2190 | ICE_AQC_PHY_FEC_25G_KR_REQ; |
2192 | break; | 2191 | break; |
2193 | case ICE_FEC_RS: | 2192 | case ICE_FEC_RS: |
2194 | /* Clear auto FEC and BASE-R bits, and AND RS ability | 2193 | /* Clear BASE-R bits, and AND RS ability |
2195 | * bits and OR request bits. | 2194 | * bits and OR request bits. |
2196 | */ | 2195 | */ |
2197 | cfg->caps &= ~ICE_AQC_PHY_EN_AUTO_FEC; | ||
2198 | cfg->link_fec_opt &= ICE_AQC_PHY_FEC_25G_RS_CLAUSE91_EN; | 2196 | cfg->link_fec_opt &= ICE_AQC_PHY_FEC_25G_RS_CLAUSE91_EN; |
2199 | cfg->link_fec_opt |= ICE_AQC_PHY_FEC_25G_RS_528_REQ | | 2197 | cfg->link_fec_opt |= ICE_AQC_PHY_FEC_25G_RS_528_REQ | |
2200 | ICE_AQC_PHY_FEC_25G_RS_544_REQ; | 2198 | ICE_AQC_PHY_FEC_25G_RS_544_REQ; |
2201 | break; | 2199 | break; |
2202 | case ICE_FEC_NONE: | 2200 | case ICE_FEC_NONE: |
2203 | /* Clear auto FEC and all FEC option bits. */ | 2201 | /* Clear all FEC option bits. */ |
2204 | cfg->caps &= ~ICE_AQC_PHY_EN_AUTO_FEC; | ||
2205 | cfg->link_fec_opt &= ~ICE_AQC_PHY_FEC_MASK; | 2202 | cfg->link_fec_opt &= ~ICE_AQC_PHY_FEC_MASK; |
2206 | break; | 2203 | break; |
2207 | case ICE_FEC_AUTO: | 2204 | case ICE_FEC_AUTO: |