[v2,1/2] common/cnxk: enable second pass RQ in mask config
Checks
Commit Message
This will enable second pass RQ and drop interrupt by default in
mask configuration to avoid buffer leak possibilities during dev
stop and interrupts to indicate drops if any.
Signed-off-by: Rahul Bhansali <rbhansali@marvell.com>
---
Changes in v2: No change.
drivers/common/cnxk/roc_features.h | 6 ++++++
drivers/common/cnxk/roc_nix_inl.c | 9 ++++++++-
2 files changed, 14 insertions(+), 1 deletion(-)
--
2.25.1
@@ -90,4 +90,10 @@ roc_feature_nix_has_rx_inject(void)
return (roc_model_is_cn10ka_b0() || roc_model_is_cn10kb());
}
+static inline bool
+roc_feature_nix_has_second_pass_drop(void)
+{
+ return 0;
+}
+
#endif
@@ -734,6 +734,13 @@ nix_inl_rq_mask_cfg(struct roc_nix *roc_nix, bool enable)
msk_req->rq_set.xqe_drop_ena = 0;
msk_req->rq_set.spb_ena = 1;
+ if (!roc_feature_nix_has_second_pass_drop()) {
+ msk_req->rq_set.ena = 1;
+ msk_req->rq_set.rq_int_ena = 1;
+ msk_req->rq_mask.ena = 0;
+ msk_req->rq_mask.rq_int_ena = 0;
+ }
+
msk_req->rq_mask.len_ol3_dis = 0;
msk_req->rq_mask.len_ol4_dis = 0;
msk_req->rq_mask.len_il3_dis = 0;
@@ -1467,7 +1474,7 @@ roc_nix_inl_rq_ena_dis(struct roc_nix *roc_nix, bool enable)
if (!idev)
return -EFAULT;
- if (roc_feature_nix_has_inl_rq_mask()) {
+ if (roc_feature_nix_has_inl_rq_mask() && enable) {
rc = nix_inl_rq_mask_cfg(roc_nix, enable);
if (rc) {
plt_err("Failed to get rq mask rc=%d", rc);