From 95ac15788bdfde926b98ca2c72443c13c8d87546 Mon Sep 17 00:00:00 2001 From: Satha Rao Date: Mon, 1 Nov 2021 03:28:57 -0400 Subject: [PATCH] common/cnxk: consider adjust value for TM burst calculation To support lower pps in packet mode we are changing adjust value, same needs to be consider for burst size calculations. When both peak and committed rates requested, then peak rate should be larger than committed rate. Signed-off-by: Satha Rao Acked-by: Jerin Jacob --- drivers/common/cnxk/roc_nix_tm_ops.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/common/cnxk/roc_nix_tm_ops.c b/drivers/common/cnxk/roc_nix_tm_ops.c index 6a417c0c88..3257fa67c7 100644 --- a/drivers/common/cnxk/roc_nix_tm_ops.c +++ b/drivers/common/cnxk/roc_nix_tm_ops.c @@ -124,6 +124,11 @@ nix_tm_adjust_shaper_pps_rate(struct nix_tm_shaper_profile *profile) profile->pkt_mode_adj += adjust; profile->commit.rate += (adjust * profile->commit.rate); profile->peak.rate += (adjust * profile->peak.rate); + /* Number of tokens freed after scheduling was proportional + * to adjust value + */ + profile->commit.size *= adjust; + profile->peak.size *= adjust; } return 0; @@ -181,6 +186,10 @@ nix_tm_shaper_profile_add(struct roc_nix *roc_nix, return NIX_ERR_TM_INVALID_PEAK_RATE; } + /* If PIR and CIR are requested, PIR should always be larger than CIR */ + if (peak_rate && commit_rate && (commit_rate > peak_rate)) + return NIX_ERR_TM_INVALID_PEAK_RATE; + if (!skip_ins) TAILQ_INSERT_TAIL(&nix->shaper_profile_list, profile, shaper); -- 2.39.5