[05/15] common/cnxk: distribute SQ's to sdp channels
Checks
Commit Message
From: Veerasenareddy Burru <vburru@marvell.com>
map SQ's to SDP channels using round-robin policy.
Signed-off-by: Veerasenareddy Burru <vburru@marvell.com>
---
drivers/common/cnxk/roc_nix_queue.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
@@ -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;