On Fri, Feb 10, 2023 at 04:40:49PM +0530, Hariprasad Kelam wrote: > From: Subbaraya Sundeep <sbhatta@xxxxxxxxxxx> > > Current implementation is such that the number of Send queues (SQs) > are decided on the device probe which is equal to the number of online > cpus. These SQs are allocated and deallocated in interface open and c > lose calls respectively. > > This patch defines new APIs for initializing and deinitializing Send > queues dynamically and allocates more number of transmit queues for > QOS feature. > > Signed-off-by: Subbaraya Sundeep <sbhatta@xxxxxxxxxxx> > Signed-off-by: Hariprasad Kelam <hkelam@xxxxxxxxxxx> > Signed-off-by: Sunil Kovvuri Goutham <sgoutham@xxxxxxxxxxx> > --- > .../marvell/octeontx2/af/rvu_debugfs.c | 5 + > .../ethernet/marvell/octeontx2/nic/Makefile | 2 +- > .../marvell/octeontx2/nic/otx2_common.c | 40 ++- > .../marvell/octeontx2/nic/otx2_common.h | 29 +- > .../ethernet/marvell/octeontx2/nic/otx2_pf.c | 51 ++- > .../marvell/octeontx2/nic/otx2_txrx.c | 25 +- > .../marvell/octeontx2/nic/otx2_txrx.h | 3 +- > .../ethernet/marvell/octeontx2/nic/otx2_vf.c | 9 +- > .../net/ethernet/marvell/octeontx2/nic/qos.h | 19 ++ > .../ethernet/marvell/octeontx2/nic/qos_sq.c | 290 ++++++++++++++++++ > 10 files changed, 430 insertions(+), 43 deletions(-) > create mode 100644 drivers/net/ethernet/marvell/octeontx2/nic/qos.h > create mode 100644 drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c nit: this patch is a little long > diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c > index ef10aef3cda0..050be13dfa46 100644 > --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c > +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c > @@ -463,12 +463,14 @@ static int otx2_tx_napi_handler(struct otx2_nic *pfvf, > break; > } > > - if (cq->cq_type == CQ_XDP) { > + qidx = cq->cq_idx - pfvf->hw.rx_queues; > + > + if (cq->cq_type == CQ_XDP) > otx2_xdp_snd_pkt_handler(pfvf, sq, cqe); > - } else { > - otx2_snd_pkt_handler(pfvf, cq, sq, cqe, budget, > - &tx_pkts, &tx_bytes); > - } > + else > + otx2_snd_pkt_handler(pfvf, cq, &pfvf->qset.sq[qidx], > + cqe, budget, &tx_pkts, &tx_bytes); > + > nit: there are now two blank lines here > cqe->hdr.cqe_type = NIX_XQE_TYPE_INVALID; > processed_cqe++;