common/cnxk: disable CQ drop when inline inbound is enabled
authorNithin Dabilpuram <ndabilpuram@marvell.com>
Fri, 1 Oct 2021 13:40:02 +0000 (19:10 +0530)
committerJerin Jacob <jerinj@marvell.com>
Sat, 2 Oct 2021 13:44:35 +0000 (15:44 +0200)
Disable CQ drop when inline inbound is enabled. CQ drop
is not supported for second pass IPsec decrypted packets.

Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
drivers/common/cnxk/roc_nix_queue.c

index 41e8f2c..41a1422 100644 (file)
@@ -492,15 +492,20 @@ roc_nix_cq_init(struct roc_nix *roc_nix, struct roc_nix_cq *cq)
                cq->drop_thresh = min_rx_drop;
        } else {
                cq->drop_thresh = NIX_CQ_THRESH_LEVEL;
-               cq_ctx->drop = cq->drop_thresh;
-               cq_ctx->drop_ena = 1;
+               /* Drop processing or red drop cannot be enabled due to
+                * due to packets coming for second pass from CPT.
+                */
+               if (!roc_nix_inl_inb_is_enabled(roc_nix)) {
+                       cq_ctx->drop = cq->drop_thresh;
+                       cq_ctx->drop_ena = 1;
+               }
        }
 
        /* TX pause frames enable flow ctrl on RX side */
        if (nix->tx_pause) {
                /* Single BPID is allocated for all rx channels for now */
                cq_ctx->bpid = nix->bpid[0];
-               cq_ctx->bp = cq_ctx->drop;
+               cq_ctx->bp = cq->drop_thresh;
                cq_ctx->bp_ena = 1;
        }