> -----Original Message----- > From: Simon Horman <simon.horman@xxxxxxxxxxxx> > 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 > ACK, will split this patch. > > 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 ACK, will fix in next version. Thanks, Hariprasad k > > > cqe->hdr.cqe_type = NIX_XQE_TYPE_INVALID; > > processed_cqe++;