[16/23] common/cnxk: updated shaper profile with red algorithm
Checks
Commit Message
From: Satha Rao <skoteshwar@marvell.com>
Updated shaper profile with user configurable RED algorithm.
Signed-off-by: Satha Rao <skoteshwar@marvell.com>
---
drivers/common/cnxk/roc_nix.h | 1 +
drivers/common/cnxk/roc_nix_tm_utils.c | 7 +++++--
2 files changed, 6 insertions(+), 2 deletions(-)
@@ -566,6 +566,7 @@ struct roc_nix_tm_shaper_profile {
int32_t pkt_len_adj;
bool pkt_mode;
int8_t accuracy;
+ uint8_t red_algo;
/* Function to free this memory */
void (*free_fn)(void *profile);
};
@@ -1236,11 +1236,14 @@ roc_nix_tm_shaper_default_red_algo(struct roc_nix_tm_node *node,
struct nix_tm_shaper_profile *profile;
struct nix_tm_shaper_data cir, pir;
+ if (!roc_prof)
+ return;
+
profile = (struct nix_tm_shaper_profile *)roc_prof->reserved;
- tm_node->red_algo = NIX_REDALG_STD;
+ tm_node->red_algo = roc_prof->red_algo;
/* C0 doesn't support STALL when both PIR & CIR are enabled */
- if (profile && roc_model_is_cn96_cx()) {
+ if (roc_model_is_cn96_cx()) {
nix_tm_shaper_conf_get(profile, &cir, &pir);
if (pir.rate && cir.rate)