Skip to content

Commit 6d8e31b

Browse files
[P200][Cisco]Fix P200 SerDes six-tap programming
P200 uses FIR fields for the primary tap settings. Route P200 through the FIR configuration path and program post2/post3 when six-tap programming is enabled.
1 parent c3fe46f commit 6d8e31b

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

fboss/agent/hw/sai/switch/npu/SaiPortManager.cpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1759,7 +1759,9 @@ SaiPortManager::serdesAttributesFromSwPinConfigs(
17591759
if (platform_->getAsic()->getAsicType() ==
17601760
cfg::AsicType::ASIC_TYPE_YUBA ||
17611761
platform_->getAsic()->getAsicType() ==
1762-
cfg::AsicType::ASIC_TYPE_G202X) {
1762+
cfg::AsicType::ASIC_TYPE_G202X ||
1763+
platform_->getAsic()->getAsicType() ==
1764+
cfg::AsicType::ASIC_TYPE_P200) {
17631765
if (auto firPre1 = tx->firPre1()) {
17641766
txPre1.push_back(zeroPreemphasis ? 0 : *firPre1);
17651767
}
@@ -1775,6 +1777,14 @@ SaiPortManager::serdesAttributesFromSwPinConfigs(
17751777
if (auto firPost1 = tx->firPost1()) {
17761778
txPost1.push_back(zeroPreemphasis ? 0 : *firPost1);
17771779
}
1780+
if (platform_->getAsic()->getAsicType() ==
1781+
cfg::AsicType::ASIC_TYPE_P200 &&
1782+
FLAGS_sai_configure_six_tap &&
1783+
platform_->getAsic()->isSupported(
1784+
HwAsic::Feature::SAI_CONFIGURE_SIX_TAP)) {
1785+
txPost2.push_back(zeroPreemphasis ? 0 : *tx->post2());
1786+
txPost3.push_back(zeroPreemphasis ? 0 : *tx->post3());
1787+
}
17781788
if (auto diffEncoderEn = tx->diffEncoderEn()) {
17791789
txDiffEncoderEn.push_back(diffEncoderEn.value());
17801790
}

0 commit comments

Comments
 (0)