From a82591009d7189e1d11029dee758f495fdab3a2b Mon Sep 17 00:00:00 2001 From: Nivin Lawrence Date: Fri, 6 Dec 2024 01:26:49 -0800 Subject: [PATCH] Enable VOQ DRAM bounds config and FDR FIFO watermark in SAI 12.0 Summary: As titled Reviewed By: jasmeetbagga Differential Revision: D66861910 fbshipit-source-id: 95f32c87871185904bb5388a0352a502edbfce71 --- fboss/agent/hw/sai/api/bcm/SwitchApi.cpp | 6 ++---- fboss/agent/hw/sai/switch/SaiSwitchManager.cpp | 2 +- fboss/agent/hw/sai/switch/npu/bcm/SaiSwitchManager.cpp | 3 --- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/fboss/agent/hw/sai/api/bcm/SwitchApi.cpp b/fboss/agent/hw/sai/api/bcm/SwitchApi.cpp index 3a17cefdb56a1..566a61f8e82f1 100644 --- a/fboss/agent/hw/sai/api/bcm/SwitchApi.cpp +++ b/fboss/agent/hw/sai/api/bcm/SwitchApi.cpp @@ -101,8 +101,7 @@ std::optional SaiSwitchTraits::Attributes:: std::optional SaiSwitchTraits::Attributes::AttributeVoqDramBoundThWrapper::operator()() { -// TODO: Support is not yet available in 12.0 -#if defined(BRCM_SAI_SDK_DNX_GTE_11_0) && !defined(BRCM_SAI_SDK_DNX_GTE_12_0) +#if defined(BRCM_SAI_SDK_DNX_GTE_11_0) return SAI_SWITCH_ATTR_VOQ_DRAM_BOUND_TH; #else return std::nullopt; @@ -184,8 +183,7 @@ SaiSwitchTraits::sramMinBufferWatermarkBytes() { } const std::vector& SaiSwitchTraits::fdrFifoWatermarkBytes() { -// TODO: Support is not yet available in 12.0 -#if defined(BRCM_SAI_SDK_DNX_GTE_11_0) && !defined(BRCM_SAI_SDK_DNX_GTE_12_0) +#if defined(BRCM_SAI_SDK_DNX_GTE_11_0) static const std::vector stats{ SAI_SWITCH_STAT_FDR_RX_QUEUE_WM_LEVEL}; #else diff --git a/fboss/agent/hw/sai/switch/SaiSwitchManager.cpp b/fboss/agent/hw/sai/switch/SaiSwitchManager.cpp index d8e5a0f5bf371..073d05ca0caef 100644 --- a/fboss/agent/hw/sai/switch/SaiSwitchManager.cpp +++ b/fboss/agent/hw/sai/switch/SaiSwitchManager.cpp @@ -1099,7 +1099,7 @@ void SaiSwitchManager::setLinkFlowControlCreditTh( } void SaiSwitchManager::setVoqDramBoundTh(uint32_t dramBoundThreshold) { -#if defined(BRCM_SAI_SDK_DNX_GTE_11_0) && !defined(BRCM_SAI_SDK_DNX_GTE_12_0) +#if defined(BRCM_SAI_SDK_DNX_GTE_11_0) // There are 3 different types of rate classes available and // dramBound, upper and lower limits are applied to each of // those. However, in our case, we just need to set the same diff --git a/fboss/agent/hw/sai/switch/npu/bcm/SaiSwitchManager.cpp b/fboss/agent/hw/sai/switch/npu/bcm/SaiSwitchManager.cpp index 5f64158e6a282..fbc8ec3002c9a 100644 --- a/fboss/agent/hw/sai/switch/npu/bcm/SaiSwitchManager.cpp +++ b/fboss/agent/hw/sai/switch/npu/bcm/SaiSwitchManager.cpp @@ -62,12 +62,9 @@ void fillHwSwitchWatermarkStats( case SAI_SWITCH_STAT_ING_MIN_SRAM_BUFFER_BYTES: hwSwitchWatermarkStats.sramMinBufferWatermarkBytes() = value; break; -#if !defined(BRCM_SAI_SDK_DNX_GTE_12_0) - // TODO: Support is not yet available in 12.0 case SAI_SWITCH_STAT_FDR_RX_QUEUE_WM_LEVEL: hwSwitchWatermarkStats.fdrFifoWatermarkBytes() = value; break; -#endif #endif default: throw FbossError("Got unexpected switch counter id: ", counterId);