openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

commit 0916003146ec1082e9d4a97c8a6d0150af384154
parent f54e95f9c5072c66379700dd745b018bb0e4ff99
Author: Broadcom SDK Release <sdk.releases@broadcom.com>
Date:   Mon, 27 Jan 2020 11:32:13 -0800

SDK-184825: Fix AN enabling sequence on TH3 to make sure 400G case is taken c...

Devices: 56980_A0,56980_B0
Module: serdes

Symptom:
ECC errors seen when calling bcm_port_autoneg_ability_advert_set API
with 400G AN

Fix AN enabling sequence on TH3 to make sure 400G case is taken care of
properly.

Diffstat:
Msdk-6.5.16/src/soc/portmod/pms/pm8x50.c | 6+++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/sdk-6.5.16/src/soc/portmod/pms/pm8x50.c b/sdk-6.5.16/src/soc/portmod/pms/pm8x50.c @@ -5979,8 +5979,12 @@ int pm8x50_port_autoneg_set(int unit, int port, pm_info_t pm_info, PHYMOD_AN_F_FEC_RS272_CLR_SET(&an_control); } } - /*before enable serdes AN bit, need to update mac port mode */ + /* + * Before enabling serdes AN bit, need to disable the port in PCS + * and update mac port mode. + */ if (an_control.enable) { + _SOC_IF_ERR_EXIT(phymod_phy_pcs_enable_set(&phy_access, 0)); /* call port level port mode update */ _SOC_IF_ERR_EXIT(_pm8x50_pm_port_mode_update(unit, port, pm_info, port_index, 1)); }