From: Satha Rao <skotesh...@marvell.com>

By default set VF root scheduling weight same as other kernel
configured VFs. Also fix a compilation issue when cflags has
-Werror=shadow=compatible-local.

Signed-off-by: Satha Rao <skotesh...@marvell.com>
---

v2:
- Added fixes tag to 9/10 and documentation to 10/10, 6/10
  patches

 drivers/common/cnxk/roc_nix.h       | 1 +
 drivers/common/cnxk/roc_nix_queue.c | 3 ++-
 drivers/common/cnxk/roc_nix_tm.c    | 6 +++++-
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/common/cnxk/roc_nix.h b/drivers/common/cnxk/roc_nix.h
index bd3e540f45..63bcd5b25e 100644
--- a/drivers/common/cnxk/roc_nix.h
+++ b/drivers/common/cnxk/roc_nix.h
@@ -473,6 +473,7 @@ struct roc_nix {
        bool force_rx_aura_bp;
        bool custom_meta_aura_ena;
        bool rx_inj_ena;
+       uint32_t root_sched_weight;
        /* End of input parameters */
        /* LMT line base for "Per Core Tx LMT line" mode*/
        uintptr_t lmt_base;
diff --git a/drivers/common/cnxk/roc_nix_queue.c 
b/drivers/common/cnxk/roc_nix_queue.c
index ae4e0ea40c..f5441e0e6b 100644
--- a/drivers/common/cnxk/roc_nix_queue.c
+++ b/drivers/common/cnxk/roc_nix_queue.c
@@ -1030,7 +1030,8 @@ sqb_pool_populate(struct roc_nix *roc_nix, struct 
roc_nix_sq *sq)
        thr = PLT_DIV_CEIL((nb_sqb_bufs * ROC_NIX_SQB_THRESH), 100);
        nb_sqb_bufs += NIX_SQB_PREFETCH;
        /* Clamp up the SQB count */
-       nb_sqb_bufs = PLT_MIN(roc_nix->max_sqb_count, 
(uint16_t)PLT_MAX(NIX_DEF_SQB, nb_sqb_bufs));
+       nb_sqb_bufs = PLT_MAX(NIX_DEF_SQB, nb_sqb_bufs);
+       nb_sqb_bufs = PLT_MIN(roc_nix->max_sqb_count, (uint16_t)nb_sqb_bufs);
 
        sq->nb_sqb_bufs = nb_sqb_bufs;
        sq->sqes_per_sqb_log2 = (uint16_t)plt_log2_u32(sqes_per_sqb);
diff --git a/drivers/common/cnxk/roc_nix_tm.c b/drivers/common/cnxk/roc_nix_tm.c
index 4e6a28f827..ac522f8235 100644
--- a/drivers/common/cnxk/roc_nix_tm.c
+++ b/drivers/common/cnxk/roc_nix_tm.c
@@ -1589,7 +1589,11 @@ nix_tm_prepare_default_tree(struct roc_nix *roc_nix)
                node->id = nonleaf_id;
                node->parent_id = parent;
                node->priority = 0;
-               node->weight = NIX_TM_DFLT_RR_WT;
+               /* Default VF root RR_QUANTUM is in sync with kernel */
+               if (lvl == ROC_TM_LVL_ROOT && !nix_tm_have_tl1_access(nix))
+                       node->weight = roc_nix->root_sched_weight;
+               else
+                       node->weight = NIX_TM_DFLT_RR_WT;
                node->shaper_profile_id = ROC_NIX_TM_SHAPER_PROFILE_NONE;
                node->lvl = lvl;
                node->tree = ROC_NIX_TM_DEFAULT;
-- 
2.25.1

Reply via email to