[v2,03/32] common/cnxk: fix CPT backpressure disable on LBK
Checks
Commit Message
From: Rahul Bhansali <rbhansali@marvell.com>
For LBK interfaces, roc_nix_inl_inb_is_enabled() is false,
hence backpressure on CPT is disabled and causing CQ full
interrupt.
NIXX_AF_RX_CHAN[0x800]_CFG is global config for all PF, VF
of RPM/LBK, hence backpressure disable on CPT is not required.
Fixes: 0663a84524e ("common/cnxk: enable backpressure on CPT with inline inbound")
cc: stable@dpdk.org
Signed-off-by: Rahul Bhansali <rbhansali@marvell.com>
---
drivers/common/cnxk/roc_nix_fc.c | 18 ++----------------
1 file changed, 2 insertions(+), 16 deletions(-)
@@ -87,25 +87,11 @@ nix_fc_rxchan_bpid_set(struct roc_nix *roc_nix, bool enable)
if (rc)
goto exit;
nix->cpt_lbpid = rsp->chan_bpid[0] & 0x1FF;
- } else {
- req = mbox_alloc_msg_nix_cpt_bp_disable(mbox);
- if (req == NULL)
- goto exit;
- req->chan_base = 0;
- if (roc_nix_is_lbk(roc_nix) || roc_nix_is_sdp(roc_nix))
- req->chan_cnt = NIX_LBK_MAX_CHAN;
- else
- req->chan_cnt = NIX_CGX_MAX_CHAN;
- req->bpid_per_chan = 0;
-
- rc = mbox_process_msg(mbox, (void *)&rsp);
- if (rc)
- goto exit;
- nix->cpt_lbpid = 0;
}
/* CPT to NIX BP on all channels */
- if (!roc_feature_nix_has_rxchan_multi_bpid() || !nix->cpt_nixbpid)
+ if (!roc_feature_nix_has_rxchan_multi_bpid() || !nix->cpt_nixbpid ||
+ !roc_nix_inl_inb_is_enabled(roc_nix))
goto exit;
mbox_put(mbox);