From: Veerasenareddy Burru <vbu...@marvell.com>

map SQ's to SDP channels using round-robin policy.

Signed-off-by: Veerasenareddy Burru <vbu...@marvell.com>
---
 drivers/common/cnxk/roc_nix_queue.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/common/cnxk/roc_nix_queue.c 
b/drivers/common/cnxk/roc_nix_queue.c
index 287a489e7f..009c024064 100644
--- a/drivers/common/cnxk/roc_nix_queue.c
+++ b/drivers/common/cnxk/roc_nix_queue.c
@@ -1202,9 +1202,9 @@ sq_cn9k_fini(struct nix *nix, struct roc_nix_sq *sq)
 }
 
 static int
-sq_init(struct nix *nix, struct roc_nix_sq *sq, uint32_t rr_quantum,
-       uint16_t smq)
+sq_init(struct nix *nix, struct roc_nix_sq *sq, uint32_t rr_quantum, uint16_t 
smq)
 {
+       struct roc_nix *roc_nix = nix_priv_to_roc_nix(nix);
        struct mbox *mbox = (&nix->dev)->mbox;
        struct nix_cn10k_aq_enq_req *aq;
 
@@ -1220,7 +1220,10 @@ sq_init(struct nix *nix, struct roc_nix_sq *sq, uint32_t 
rr_quantum,
        aq->sq.max_sqe_size = sq->max_sqe_sz;
        aq->sq.smq = smq;
        aq->sq.smq_rr_weight = rr_quantum;
-       aq->sq.default_chan = nix->tx_chan_base;
+       if (roc_nix_is_sdp(roc_nix))
+               aq->sq.default_chan = nix->tx_chan_base + (sq->qid % 
nix->tx_chan_cnt);
+       else
+               aq->sq.default_chan = nix->tx_chan_base;
        aq->sq.sqe_stype = NIX_STYPE_STF;
        aq->sq.ena = 1;
        aq->sq.sso_ena = !!sq->sso_ena;
-- 
2.25.1

Reply via email to