mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 21:15:04 +07:00
ice: Don't clear auto_fec bit in ice_cfg_phy_fec()
The driver should never clear the auto_fec_enable bit. Signed-off-by: Chinh T Cao <chinh.t.cao@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
057911ba9b
commit
3747f03115
@ -2181,27 +2181,24 @@ ice_cfg_phy_fec(struct ice_aqc_set_phy_cfg_data *cfg, enum ice_fec_mode fec)
|
||||
{
|
||||
switch (fec) {
|
||||
case ICE_FEC_BASER:
|
||||
/* Clear auto FEC and RS bits, and AND BASE-R ability
|
||||
/* Clear RS bits, and AND BASE-R ability
|
||||
* bits and OR request bits.
|
||||
*/
|
||||
cfg->caps &= ~ICE_AQC_PHY_EN_AUTO_FEC;
|
||||
cfg->link_fec_opt &= ICE_AQC_PHY_FEC_10G_KR_40G_KR4_EN |
|
||||
ICE_AQC_PHY_FEC_25G_KR_CLAUSE74_EN;
|
||||
cfg->link_fec_opt |= ICE_AQC_PHY_FEC_10G_KR_40G_KR4_REQ |
|
||||
ICE_AQC_PHY_FEC_25G_KR_REQ;
|
||||
break;
|
||||
case ICE_FEC_RS:
|
||||
/* Clear auto FEC and BASE-R bits, and AND RS ability
|
||||
/* Clear BASE-R bits, and AND RS ability
|
||||
* bits and OR request bits.
|
||||
*/
|
||||
cfg->caps &= ~ICE_AQC_PHY_EN_AUTO_FEC;
|
||||
cfg->link_fec_opt &= ICE_AQC_PHY_FEC_25G_RS_CLAUSE91_EN;
|
||||
cfg->link_fec_opt |= ICE_AQC_PHY_FEC_25G_RS_528_REQ |
|
||||
ICE_AQC_PHY_FEC_25G_RS_544_REQ;
|
||||
break;
|
||||
case ICE_FEC_NONE:
|
||||
/* Clear auto FEC and all FEC option bits. */
|
||||
cfg->caps &= ~ICE_AQC_PHY_EN_AUTO_FEC;
|
||||
/* Clear all FEC option bits. */
|
||||
cfg->link_fec_opt &= ~ICE_AQC_PHY_FEC_MASK;
|
||||
break;
|
||||
case ICE_FEC_AUTO:
|
||||
|
Loading…
Reference in New Issue
Block a user