[PATCH 16/31] common/cnxk: allow same TC on multiple RQs
Nithin Dabilpuram
ndabilpuram at marvell.com
Fri Aug 11 10:57:50 CEST 2023
From: Sunil Kumar Kori <skori at marvell.com>
To achieve actual PFC behavior, user needs to configure
different TC on different aura so that PFC can be generated
for specific TC but same TC can also configured on multiple
RQs which has same configured aura.
In this patch, aura with same BP configuration is allowed
on multiple RQs.
Signed-off-by: Sunil Kumar Kori <skori at marvell.com>
---
drivers/common/cnxk/roc_nix_fc.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/common/cnxk/roc_nix_fc.c b/drivers/common/cnxk/roc_nix_fc.c
index 0f9b5cbbc0..2a58567751 100644
--- a/drivers/common/cnxk/roc_nix_fc.c
+++ b/drivers/common/cnxk/roc_nix_fc.c
@@ -501,7 +501,6 @@ roc_nix_fc_npa_bp_cfg(struct roc_nix *roc_nix, uint64_t pool_id, uint8_t ena, ui
bpid = (aura_attr->bp_ena & 0x1) ? aura_attr->nix0_bpid : aura_attr->nix1_bpid;
/* BP is already enabled. */
if (aura_attr->bp_ena && ena) {
- /* Disable BP if BPIDs don't match and couldn't add new BPID. */
if (bpid != nix->bpid[tc]) {
uint16_t bpid_new = NIX_BPID_INVALID;
@@ -519,15 +518,13 @@ roc_nix_fc_npa_bp_cfg(struct roc_nix *roc_nix, uint64_t pool_id, uint8_t ena, ui
plt_info("Ignoring port=%u tc=%u config on shared aura 0x%" PRIx64,
roc_nix->port_id, tc, pool_id);
}
+ } else {
+ aura_attr->ref_count++;
}
return;
}
- /* BP was previously enabled but now disabled skip. */
- if (aura_attr->bp && ena)
- return;
-
if (ena) {
if (roc_npa_aura_bp_configure(pool_id, nix->bpid[tc], bp_intf, bp_thresh, true))
plt_err("Enabling backpressue failed on aura 0x%" PRIx64, pool_id);
--
2.25.1
More information about the dev
mailing list