common/cnxk: update shaper profile with RED algorithm

Updated shaper profile with user configurable RED algorithm.
This helps in configuring a TM node in red drop mode vs
stall mode.

Signed-off-by: Satha Rao <skoteshwar@marvell.com>
This commit is contained in:
Satha Rao 2022-09-12 18:44:11 +05:30 committed by Jerin Jacob
parent 46008e1b7c
commit 80053371b2
2 changed files with 6 additions and 2 deletions

View File

@ -572,6 +572,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);
};

View File

@ -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)