DPDK patches and discussions
 help / color / mirror / Atom feed
From: Nithin Dabilpuram <ndabilpuram@marvell.com>
To: <dev@dpdk.org>
Cc: <jerinj@marvell.com>, <skori@marvell.com>,
	<skoteshwar@marvell.com>, <pbhagavatula@marvell.com>,
	<kirankumark@marvell.com>, <psatheesh@marvell.com>,
	<asekhar@marvell.com>,
	Nithin Dabilpuram <ndabilpuram@marvell.com>
Subject: [dpdk-dev] [PATCH v5 39/52] common/cnxk: add nix tm debug support and misc utils
Date: Tue, 6 Apr 2021 20:11:31 +0530	[thread overview]
Message-ID: <20210406144144.19925-40-ndabilpuram@marvell.com> (raw)
In-Reply-To: <20210406144144.19925-1-ndabilpuram@marvell.com>

Add support to dump TM HW registers and hierarchy on error.
This patch also adds support for misc utils such as API to
query TM HW resource availability, resource pre-allocation
and static priority support on root node.

Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
---
 drivers/common/cnxk/roc_nix.h          |   9 +
 drivers/common/cnxk/roc_nix_debug.c    | 330 +++++++++++++++++++++++++++++++++
 drivers/common/cnxk/roc_nix_tm.c       |   1 +
 drivers/common/cnxk/roc_nix_tm_ops.c   | 125 +++++++++++++
 drivers/common/cnxk/roc_nix_tm_utils.c |  18 ++
 drivers/common/cnxk/roc_utils.c        | 108 +++++++++++
 drivers/common/cnxk/version.map        |   6 +
 7 files changed, 597 insertions(+)

diff --git a/drivers/common/cnxk/roc_nix.h b/drivers/common/cnxk/roc_nix.h
index ad00efe..b39f461 100644
--- a/drivers/common/cnxk/roc_nix.h
+++ b/drivers/common/cnxk/roc_nix.h
@@ -291,6 +291,7 @@ void __roc_api roc_nix_cqe_dump(const struct nix_cqe_hdr_s *cq);
 void __roc_api roc_nix_rq_dump(struct roc_nix_rq *rq);
 void __roc_api roc_nix_cq_dump(struct roc_nix_cq *cq);
 void __roc_api roc_nix_sq_dump(struct roc_nix_sq *sq);
+void __roc_api roc_nix_tm_dump(struct roc_nix *roc_nix);
 void __roc_api roc_nix_dump(struct roc_nix *roc_nix);
 
 /* IRQ */
@@ -394,6 +395,10 @@ int __roc_api roc_nix_tm_shaper_profile_update(
 int __roc_api roc_nix_tm_shaper_profile_delete(struct roc_nix *roc_nix,
 					       uint32_t id);
 
+int __roc_api roc_nix_tm_prealloc_res(struct roc_nix *roc_nix, uint8_t lvl,
+				      uint16_t discontig, uint16_t contig);
+uint16_t __roc_api roc_nix_tm_leaf_cnt(struct roc_nix *roc_nix);
+
 struct roc_nix_tm_node *__roc_api roc_nix_tm_node_get(struct roc_nix *roc_nix,
 						      uint32_t node_id);
 struct roc_nix_tm_node *__roc_api
@@ -420,6 +425,10 @@ int __roc_api roc_nix_tm_hierarchy_enable(struct roc_nix *roc_nix,
  * TM utilities API.
  */
 int __roc_api roc_nix_tm_node_lvl(struct roc_nix *roc_nix, uint32_t node_id);
+bool __roc_api roc_nix_tm_root_has_sp(struct roc_nix *roc_nix);
+void __roc_api roc_nix_tm_rsrc_max(bool pf, uint16_t schq[ROC_TM_LVL_MAX]);
+int __roc_api roc_nix_tm_rsrc_count(struct roc_nix *roc_nix,
+				    uint16_t schq[ROC_TM_LVL_MAX]);
 int __roc_api roc_nix_tm_node_name_get(struct roc_nix *roc_nix,
 				       uint32_t node_id, char *buf,
 				       size_t buflen);
diff --git a/drivers/common/cnxk/roc_nix_debug.c b/drivers/common/cnxk/roc_nix_debug.c
index a0cf98e..6e56513 100644
--- a/drivers/common/cnxk/roc_nix_debug.c
+++ b/drivers/common/cnxk/roc_nix_debug.c
@@ -44,6 +44,33 @@ static const struct nix_lf_reg_info nix_lf_reg[] = {
 	NIX_REG_INFO(NIX_LF_SEND_ERR_DBG),
 };
 
+static void
+nix_bitmap_dump(struct plt_bitmap *bmp)
+{
+	uint32_t pos = 0, start_pos;
+	uint64_t slab = 0;
+	int i;
+
+	plt_bitmap_scan_init(bmp);
+	plt_bitmap_scan(bmp, &pos, &slab);
+	start_pos = pos;
+
+	nix_dump_no_nl("  \t\t[");
+	do {
+		if (!slab)
+			break;
+		i = 0;
+
+		for (i = 0; i < 64; i++)
+			if (slab & (1ULL << i))
+				nix_dump_no_nl("%d, ", i);
+
+		if (!plt_bitmap_scan(bmp, &pos, &slab))
+			break;
+	} while (start_pos != pos);
+	nix_dump_no_nl(" ]");
+}
+
 int
 roc_nix_lf_get_reg_count(struct roc_nix *roc_nix)
 {
@@ -761,6 +788,309 @@ roc_nix_sq_dump(struct roc_nix_sq *sq)
 	nix_dump("  fc = %p", sq->fc);
 };
 
+static uint8_t
+nix_tm_reg_dump_prep(uint16_t hw_lvl, uint16_t schq, uint16_t link,
+		     uint64_t *reg, char regstr[][NIX_REG_NAME_SZ])
+{
+	uint8_t k = 0;
+
+	switch (hw_lvl) {
+	case NIX_TXSCH_LVL_SMQ:
+		reg[k] = NIX_AF_SMQX_CFG(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_SMQ[%u]_CFG",
+			 schq);
+
+		reg[k] = NIX_AF_MDQX_PARENT(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_MDQ[%u]_PARENT",
+			 schq);
+
+		reg[k] = NIX_AF_MDQX_SCHEDULE(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ,
+			 "NIX_AF_MDQ[%u]_SCHEDULE", schq);
+
+		reg[k] = NIX_AF_MDQX_PIR(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_MDQ[%u]_PIR",
+			 schq);
+
+		reg[k] = NIX_AF_MDQX_CIR(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_MDQ[%u]_CIR",
+			 schq);
+
+		reg[k] = NIX_AF_MDQX_SHAPE(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_MDQ[%u]_SHAPE",
+			 schq);
+
+		reg[k] = NIX_AF_MDQX_SW_XOFF(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_MDQ[%u]_SW_XOFF",
+			 schq);
+		break;
+	case NIX_TXSCH_LVL_TL4:
+		reg[k] = NIX_AF_TL4X_PARENT(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_TL4[%u]_PARENT",
+			 schq);
+
+		reg[k] = NIX_AF_TL4X_TOPOLOGY(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ,
+			 "NIX_AF_TL4[%u]_TOPOLOGY", schq);
+
+		reg[k] = NIX_AF_TL4X_SDP_LINK_CFG(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ,
+			 "NIX_AF_TL4[%u]_SDP_LINK_CFG", schq);
+
+		reg[k] = NIX_AF_TL4X_SCHEDULE(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ,
+			 "NIX_AF_TL4[%u]_SCHEDULE", schq);
+
+		reg[k] = NIX_AF_TL4X_PIR(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_TL4[%u]_PIR",
+			 schq);
+
+		reg[k] = NIX_AF_TL4X_CIR(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_TL4[%u]_CIR",
+			 schq);
+
+		reg[k] = NIX_AF_TL4X_SHAPE(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_TL4[%u]_SHAPE",
+			 schq);
+
+		reg[k] = NIX_AF_TL4X_SW_XOFF(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_TL4[%u]_SW_XOFF",
+			 schq);
+		break;
+	case NIX_TXSCH_LVL_TL3:
+		reg[k] = NIX_AF_TL3X_PARENT(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_TL3[%u]_PARENT",
+			 schq);
+
+		reg[k] = NIX_AF_TL3X_TOPOLOGY(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ,
+			 "NIX_AF_TL3[%u]_TOPOLOGY", schq);
+
+		reg[k] = NIX_AF_TL3_TL2X_LINKX_CFG(schq, link);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ,
+			 "NIX_AF_TL3_TL2[%u]_LINK[%u]_CFG", schq, link);
+
+		reg[k] = NIX_AF_TL3X_SCHEDULE(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ,
+			 "NIX_AF_TL3[%u]_SCHEDULE", schq);
+
+		reg[k] = NIX_AF_TL3X_PIR(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_TL3[%u]_PIR",
+			 schq);
+
+		reg[k] = NIX_AF_TL3X_CIR(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_TL3[%u]_CIR",
+			 schq);
+
+		reg[k] = NIX_AF_TL3X_SHAPE(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_TL3[%u]_SHAPE",
+			 schq);
+
+		reg[k] = NIX_AF_TL3X_SW_XOFF(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_TL3[%u]_SW_XOFF",
+			 schq);
+		break;
+	case NIX_TXSCH_LVL_TL2:
+		reg[k] = NIX_AF_TL2X_PARENT(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_TL2[%u]_PARENT",
+			 schq);
+
+		reg[k] = NIX_AF_TL2X_TOPOLOGY(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ,
+			 "NIX_AF_TL2[%u]_TOPOLOGY", schq);
+
+		reg[k] = NIX_AF_TL3_TL2X_LINKX_CFG(schq, link);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ,
+			 "NIX_AF_TL3_TL2[%u]_LINK[%u]_CFG", schq, link);
+
+		reg[k] = NIX_AF_TL2X_SCHEDULE(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ,
+			 "NIX_AF_TL2[%u]_SCHEDULE", schq);
+
+		reg[k] = NIX_AF_TL2X_PIR(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_TL2[%u]_PIR",
+			 schq);
+
+		reg[k] = NIX_AF_TL2X_CIR(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_TL2[%u]_CIR",
+			 schq);
+
+		reg[k] = NIX_AF_TL2X_SHAPE(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_TL2[%u]_SHAPE",
+			 schq);
+
+		reg[k] = NIX_AF_TL2X_SW_XOFF(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_TL2[%u]_SW_XOFF",
+			 schq);
+		break;
+	case NIX_TXSCH_LVL_TL1:
+
+		reg[k] = NIX_AF_TL1X_TOPOLOGY(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ,
+			 "NIX_AF_TL1[%u]_TOPOLOGY", schq);
+
+		reg[k] = NIX_AF_TL1X_SCHEDULE(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ,
+			 "NIX_AF_TL1[%u]_SCHEDULE", schq);
+
+		reg[k] = NIX_AF_TL1X_CIR(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_TL1[%u]_CIR",
+			 schq);
+
+		reg[k] = NIX_AF_TL1X_SW_XOFF(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ, "NIX_AF_TL1[%u]_SW_XOFF",
+			 schq);
+
+		reg[k] = NIX_AF_TL1X_DROPPED_PACKETS(schq);
+		snprintf(regstr[k++], NIX_REG_NAME_SZ,
+			 "NIX_AF_TL1[%u]_DROPPED_PACKETS", schq);
+		break;
+	default:
+		break;
+	}
+
+	if (k > MAX_REGS_PER_MBOX_MSG) {
+		nix_dump("\t!!!NIX TM Registers request overflow!!!");
+		return 0;
+	}
+	return k;
+}
+
+static void
+nix_tm_dump_lvl(struct nix *nix, struct nix_tm_node_list *list, uint8_t hw_lvl)
+{
+	char regstr[MAX_REGS_PER_MBOX_MSG * 2][NIX_REG_NAME_SZ];
+	uint64_t reg[MAX_REGS_PER_MBOX_MSG * 2];
+	struct mbox *mbox = (&nix->dev)->mbox;
+	struct nix_txschq_config *req, *rsp;
+	const char *lvlstr, *parent_lvlstr;
+	struct nix_tm_node *node, *parent;
+	struct nix_tm_node *root = NULL;
+	uint32_t schq, parent_schq;
+	bool found = false;
+	uint8_t j, k, rc;
+
+	TAILQ_FOREACH(node, list, node) {
+		if (node->hw_lvl != hw_lvl)
+			continue;
+
+		found = true;
+		parent = node->parent;
+		if (hw_lvl == NIX_TXSCH_LVL_CNT) {
+			lvlstr = "SQ";
+			schq = node->id;
+		} else {
+			lvlstr = nix_tm_hwlvl2str(node->hw_lvl);
+			schq = node->hw_id;
+		}
+
+		if (parent) {
+			parent_schq = parent->hw_id;
+			parent_lvlstr = nix_tm_hwlvl2str(parent->hw_lvl);
+		} else if (node->hw_lvl == NIX_TXSCH_LVL_TL1) {
+			parent_schq = nix->tx_link;
+			parent_lvlstr = "LINK";
+		} else {
+			parent_schq = node->parent_hw_id;
+			parent_lvlstr = nix_tm_hwlvl2str(node->hw_lvl + 1);
+		}
+
+		nix_dump("\t(%p%s) %s_%d->%s_%d", node,
+			 node->child_realloc ? "[CR]" : "", lvlstr, schq,
+			 parent_lvlstr, parent_schq);
+
+		if (!(node->flags & NIX_TM_NODE_HWRES))
+			continue;
+
+		/* Need to dump TL1 when root is TL2 */
+		if (node->hw_lvl == nix->tm_root_lvl)
+			root = node;
+
+		/* Dump registers only when HWRES is present */
+		k = nix_tm_reg_dump_prep(node->hw_lvl, schq, nix->tx_link, reg,
+					 regstr);
+		if (!k)
+			continue;
+
+		req = mbox_alloc_msg_nix_txschq_cfg(mbox);
+		req->read = 1;
+		req->lvl = node->hw_lvl;
+		req->num_regs = k;
+		mbox_memcpy(req->reg, reg, sizeof(uint64_t) * k);
+		rc = mbox_process_msg(mbox, (void **)&rsp);
+		if (!rc) {
+			for (j = 0; j < k; j++)
+				nix_dump("\t\t%s=0x%016" PRIx64, regstr[j],
+					 rsp->regval[j]);
+		} else {
+			nix_dump("\t!!!Failed to dump registers!!!");
+		}
+	}
+
+	if (found)
+		nix_dump("\n");
+
+	/* Dump TL1 node data when root level is TL2 */
+	if (root && root->hw_lvl == NIX_TXSCH_LVL_TL2) {
+		k = nix_tm_reg_dump_prep(NIX_TXSCH_LVL_TL1, root->parent_hw_id,
+					 nix->tx_link, reg, regstr);
+		if (!k)
+			return;
+
+		req = mbox_alloc_msg_nix_txschq_cfg(mbox);
+		req->read = 1;
+		req->lvl = NIX_TXSCH_LVL_TL1;
+		req->num_regs = k;
+		mbox_memcpy(req->reg, reg, sizeof(uint64_t) * k);
+		rc = mbox_process_msg(mbox, (void **)&rsp);
+		if (!rc) {
+			for (j = 0; j < k; j++)
+				nix_dump("\t\t%s=0x%016" PRIx64, regstr[j],
+					 rsp->regval[j]);
+		} else {
+			nix_dump("\t!!!Failed to dump registers!!!");
+		}
+		nix_dump("\n");
+	}
+}
+
+void
+roc_nix_tm_dump(struct roc_nix *roc_nix)
+{
+	struct nix *nix = roc_nix_to_nix_priv(roc_nix);
+	struct dev *dev = &nix->dev;
+	uint8_t hw_lvl, i;
+
+	nix_dump("===TM hierarchy and registers dump of %s (pf:vf) (%d:%d)===",
+		 nix->pci_dev->name, dev_get_pf(dev->pf_func),
+		 dev_get_vf(dev->pf_func));
+
+	/* Dump all trees */
+	for (i = 0; i < ROC_NIX_TM_TREE_MAX; i++) {
+		nix_dump("\tTM %s:", nix_tm_tree2str(i));
+		for (hw_lvl = 0; hw_lvl <= NIX_TXSCH_LVL_CNT; hw_lvl++)
+			nix_tm_dump_lvl(nix, &nix->trees[i], hw_lvl);
+	}
+
+	/* Dump unused resources */
+	nix_dump("\tTM unused resources:");
+	hw_lvl = NIX_TXSCH_LVL_SMQ;
+	for (; hw_lvl < NIX_TXSCH_LVL_CNT; hw_lvl++) {
+		nix_dump("\t\ttxschq        %7s num = %d",
+			 nix_tm_hwlvl2str(hw_lvl),
+			 nix_tm_resource_avail(nix, hw_lvl, false));
+
+		nix_bitmap_dump(nix->schq_bmp[hw_lvl]);
+		nix_dump("\n");
+
+		nix_dump("\t\ttxschq_contig %7s num = %d",
+			 nix_tm_hwlvl2str(hw_lvl),
+			 nix_tm_resource_avail(nix, hw_lvl, true));
+		nix_bitmap_dump(nix->schq_contig_bmp[hw_lvl]);
+		nix_dump("\n");
+	}
+}
+
 void
 roc_nix_dump(struct roc_nix *roc_nix)
 {
diff --git a/drivers/common/cnxk/roc_nix_tm.c b/drivers/common/cnxk/roc_nix_tm.c
index 9b328c9..ad54e17 100644
--- a/drivers/common/cnxk/roc_nix_tm.c
+++ b/drivers/common/cnxk/roc_nix_tm.c
@@ -393,6 +393,7 @@ roc_nix_tm_sq_flush_spin(struct roc_nix_sq *sq)
 
 	return 0;
 exit:
+	roc_nix_tm_dump(sq->roc_nix);
 	roc_nix_queues_ctx_dump(sq->roc_nix);
 	return -EFAULT;
 }
diff --git a/drivers/common/cnxk/roc_nix_tm_ops.c b/drivers/common/cnxk/roc_nix_tm_ops.c
index e4463d1..ed244d4 100644
--- a/drivers/common/cnxk/roc_nix_tm_ops.c
+++ b/drivers/common/cnxk/roc_nix_tm_ops.c
@@ -579,6 +579,58 @@ roc_nix_tm_node_suspend_resume(struct roc_nix *roc_nix, uint32_t node_id,
 }
 
 int
+roc_nix_tm_prealloc_res(struct roc_nix *roc_nix, uint8_t lvl,
+			uint16_t discontig, uint16_t contig)
+{
+	struct nix *nix = roc_nix_to_nix_priv(roc_nix);
+	struct mbox *mbox = (&nix->dev)->mbox;
+	struct nix_txsch_alloc_req *req;
+	struct nix_txsch_alloc_rsp *rsp;
+	uint8_t hw_lvl;
+	int rc = -ENOSPC;
+
+	hw_lvl = nix_tm_lvl2nix(nix, lvl);
+	if (hw_lvl == NIX_TXSCH_LVL_CNT)
+		return -EINVAL;
+
+	/* Preallocate contiguous */
+	if (nix->contig_rsvd[hw_lvl] < contig) {
+		req = mbox_alloc_msg_nix_txsch_alloc(mbox);
+		if (req == NULL)
+			return rc;
+		req->schq_contig[hw_lvl] = contig - nix->contig_rsvd[hw_lvl];
+
+		rc = mbox_process_msg(mbox, (void *)&rsp);
+		if (rc)
+			return rc;
+
+		nix_tm_copy_rsp_to_nix(nix, rsp);
+	}
+
+	/* Preallocate contiguous */
+	if (nix->discontig_rsvd[hw_lvl] < discontig) {
+		req = mbox_alloc_msg_nix_txsch_alloc(mbox);
+		if (req == NULL)
+			return -ENOSPC;
+		req->schq[hw_lvl] = discontig - nix->discontig_rsvd[hw_lvl];
+
+		rc = mbox_process_msg(mbox, (void *)&rsp);
+		if (rc)
+			return rc;
+
+		nix_tm_copy_rsp_to_nix(nix, rsp);
+	}
+
+	/* Save thresholds */
+	nix->contig_rsvd[hw_lvl] = contig;
+	nix->discontig_rsvd[hw_lvl] = discontig;
+	/* Release anything present above thresholds */
+	nix_tm_release_resources(nix, hw_lvl, true, true);
+	nix_tm_release_resources(nix, hw_lvl, false, true);
+	return 0;
+}
+
+int
 roc_nix_tm_node_shaper_update(struct roc_nix *roc_nix, uint32_t node_id,
 			      uint32_t profile_id, bool force_update)
 {
@@ -904,3 +956,76 @@ roc_nix_tm_fini(struct roc_nix *roc_nix)
 	nix->tm_tree = 0;
 	nix->tm_flags &= ~NIX_TM_HIERARCHY_ENA;
 }
+
+int
+roc_nix_tm_rsrc_count(struct roc_nix *roc_nix, uint16_t schq[ROC_TM_LVL_MAX])
+{
+	struct nix *nix = roc_nix_to_nix_priv(roc_nix);
+	struct mbox *mbox = (&nix->dev)->mbox;
+	struct free_rsrcs_rsp *rsp;
+	uint8_t hw_lvl;
+	int rc, i;
+
+	/* Get the current free resources */
+	mbox_alloc_msg_free_rsrc_cnt(mbox);
+	rc = mbox_process_msg(mbox, (void *)&rsp);
+	if (rc)
+		return rc;
+
+	for (i = 0; i < ROC_TM_LVL_MAX; i++) {
+		hw_lvl = nix_tm_lvl2nix(nix, i);
+		if (hw_lvl == NIX_TXSCH_LVL_CNT)
+			continue;
+
+		schq[i] = (nix->is_nix1 ? rsp->schq_nix1[hw_lvl] :
+						rsp->schq[hw_lvl]);
+	}
+
+	return 0;
+}
+
+void
+roc_nix_tm_rsrc_max(bool pf, uint16_t schq[ROC_TM_LVL_MAX])
+{
+	uint8_t hw_lvl, i;
+	uint16_t max;
+
+	for (i = 0; i < ROC_TM_LVL_MAX; i++) {
+		hw_lvl = pf ? nix_tm_lvl2nix_tl1_root(i) :
+				    nix_tm_lvl2nix_tl2_root(i);
+
+		switch (hw_lvl) {
+		case NIX_TXSCH_LVL_SMQ:
+			max = (roc_model_is_cn9k() ?
+					     NIX_CN9K_TXSCH_LVL_SMQ_MAX :
+					     NIX_TXSCH_LVL_SMQ_MAX);
+			break;
+		case NIX_TXSCH_LVL_TL4:
+			max = NIX_TXSCH_LVL_TL4_MAX;
+			break;
+		case NIX_TXSCH_LVL_TL3:
+			max = NIX_TXSCH_LVL_TL3_MAX;
+			break;
+		case NIX_TXSCH_LVL_TL2:
+			max = pf ? NIX_TXSCH_LVL_TL2_MAX : 1;
+			break;
+		case NIX_TXSCH_LVL_TL1:
+			max = pf ? 1 : 0;
+			break;
+		default:
+			max = 0;
+			break;
+		}
+		schq[i] = max;
+	}
+}
+
+bool
+roc_nix_tm_root_has_sp(struct roc_nix *roc_nix)
+{
+	struct nix *nix = roc_nix_to_nix_priv(roc_nix);
+
+	if (nix->tm_flags & NIX_TM_TL1_NO_SP)
+		return false;
+	return true;
+}
diff --git a/drivers/common/cnxk/roc_nix_tm_utils.c b/drivers/common/cnxk/roc_nix_tm_utils.c
index b644716..1d7dd68 100644
--- a/drivers/common/cnxk/roc_nix_tm_utils.c
+++ b/drivers/common/cnxk/roc_nix_tm_utils.c
@@ -868,6 +868,24 @@ nix_tm_resource_estimate(struct nix *nix, uint16_t *schq_contig, uint16_t *schq,
 	return cnt;
 }
 
+uint16_t
+roc_nix_tm_leaf_cnt(struct roc_nix *roc_nix)
+{
+	struct nix *nix = roc_nix_to_nix_priv(roc_nix);
+	struct nix_tm_node_list *list;
+	struct nix_tm_node *node;
+	uint16_t leaf_cnt = 0;
+
+	/* Count leafs only in user list */
+	list = nix_tm_node_list(nix, ROC_NIX_TM_USER);
+	TAILQ_FOREACH(node, list, node) {
+		if (node->id < nix->nb_tx_queues)
+			leaf_cnt++;
+	}
+
+	return leaf_cnt;
+}
+
 int
 roc_nix_tm_node_lvl(struct roc_nix *roc_nix, uint32_t node_id)
 {
diff --git a/drivers/common/cnxk/roc_utils.c b/drivers/common/cnxk/roc_utils.c
index c2693f8..986be3f 100644
--- a/drivers/common/cnxk/roc_utils.c
+++ b/drivers/common/cnxk/roc_utils.c
@@ -38,6 +38,69 @@ roc_error_msg_get(int errorcode)
 	case NIX_ERR_AQ_WRITE_FAILED:
 		err_msg = "AQ write failed";
 		break;
+	case NIX_ERR_TM_LEAF_NODE_GET:
+		err_msg = "TM leaf node get failed";
+		break;
+	case NIX_ERR_TM_INVALID_LVL:
+		err_msg = "TM node level invalid";
+		break;
+	case NIX_ERR_TM_INVALID_PRIO:
+		err_msg = "TM node priority invalid";
+		break;
+	case NIX_ERR_TM_INVALID_PARENT:
+		err_msg = "TM parent id invalid";
+		break;
+	case NIX_ERR_TM_NODE_EXISTS:
+		err_msg = "TM Node Exists";
+		break;
+	case NIX_ERR_TM_INVALID_NODE:
+		err_msg = "TM node id invalid";
+		break;
+	case NIX_ERR_TM_INVALID_SHAPER_PROFILE:
+		err_msg = "TM shaper profile invalid";
+		break;
+	case NIX_ERR_TM_WEIGHT_EXCEED:
+		err_msg = "TM DWRR weight exceeded";
+		break;
+	case NIX_ERR_TM_CHILD_EXISTS:
+		err_msg = "TM node children exists";
+		break;
+	case NIX_ERR_TM_INVALID_PEAK_SZ:
+		err_msg = "TM peak size invalid";
+		break;
+	case NIX_ERR_TM_INVALID_PEAK_RATE:
+		err_msg = "TM peak rate invalid";
+		break;
+	case NIX_ERR_TM_INVALID_COMMIT_SZ:
+		err_msg = "TM commit size invalid";
+		break;
+	case NIX_ERR_TM_INVALID_COMMIT_RATE:
+		err_msg = "TM commit rate invalid";
+		break;
+	case NIX_ERR_TM_SHAPER_PROFILE_IN_USE:
+		err_msg = "TM shaper profile in use";
+		break;
+	case NIX_ERR_TM_SHAPER_PROFILE_EXISTS:
+		err_msg = "TM shaper profile exists";
+		break;
+	case NIX_ERR_TM_INVALID_TREE:
+		err_msg = "TM tree invalid";
+		break;
+	case NIX_ERR_TM_PARENT_PRIO_UPDATE:
+		err_msg = "TM node parent and prio update failed";
+		break;
+	case NIX_ERR_TM_PRIO_EXCEEDED:
+		err_msg = "TM node priority exceeded";
+		break;
+	case NIX_ERR_TM_PRIO_ORDER:
+		err_msg = "TM node priority not in order";
+		break;
+	case NIX_ERR_TM_MULTIPLE_RR_GROUPS:
+		err_msg = "TM multiple rr groups";
+		break;
+	case NIX_ERR_TM_SQ_UPDATE_FAIL:
+		err_msg = "TM SQ update failed";
+		break;
 	case NIX_ERR_NDC_SYNC:
 		err_msg = "NDC Sync failed";
 		break;
@@ -74,9 +137,54 @@ roc_error_msg_get(int errorcode)
 	case NIX_AF_ERR_AF_LF_ALLOC:
 		err_msg = "NIX LF alloc failed";
 		break;
+	case NIX_AF_ERR_TLX_INVALID:
+		err_msg = "Invalid NIX TLX";
+		break;
+	case NIX_AF_ERR_TLX_ALLOC_FAIL:
+		err_msg = "NIX TLX alloc failed";
+		break;
+	case NIX_AF_ERR_RSS_SIZE_INVALID:
+		err_msg = "Invalid RSS size";
+		break;
+	case NIX_AF_ERR_RSS_GRPS_INVALID:
+		err_msg = "Invalid RSS groups";
+		break;
+	case NIX_AF_ERR_FRS_INVALID:
+		err_msg = "Invalid frame size";
+		break;
+	case NIX_AF_ERR_RX_LINK_INVALID:
+		err_msg = "Invalid Rx link";
+		break;
+	case NIX_AF_INVAL_TXSCHQ_CFG:
+		err_msg = "Invalid Tx scheduling config";
+		break;
+	case NIX_AF_SMQ_FLUSH_FAILED:
+		err_msg = "SMQ flush failed";
+		break;
 	case NIX_AF_ERR_LF_RESET:
 		err_msg = "NIX LF reset failed";
 		break;
+	case NIX_AF_ERR_MARK_CFG_FAIL:
+		err_msg = "Marking config failed";
+		break;
+	case NIX_AF_ERR_LSO_CFG_FAIL:
+		err_msg = "LSO config failed";
+		break;
+	case NIX_AF_INVAL_NPA_PF_FUNC:
+		err_msg = "Invalid NPA pf_func";
+		break;
+	case NIX_AF_INVAL_SSO_PF_FUNC:
+		err_msg = "Invalid SSO pf_func";
+		break;
+	case NIX_AF_ERR_TX_VTAG_NOSPC:
+		err_msg = "No space for Tx VTAG";
+		break;
+	case NIX_AF_ERR_RX_VTAG_INUSE:
+		err_msg = "Rx VTAG is in use";
+		break;
+	case NIX_AF_ERR_PTP_CONFIG_FAIL:
+		err_msg = "PTP config failed";
+		break;
 	case UTIL_ERR_FS:
 		err_msg = "file operation failed";
 		break;
diff --git a/drivers/common/cnxk/version.map b/drivers/common/cnxk/version.map
index a5eb17e..a3f3059 100644
--- a/drivers/common/cnxk/version.map
+++ b/drivers/common/cnxk/version.map
@@ -104,11 +104,13 @@ INTERNAL {
 	roc_nix_xstats_names_get;
 	roc_nix_switch_hdr_set;
 	roc_nix_eeprom_info_get;
+	roc_nix_tm_dump;
 	roc_nix_tm_fini;
 	roc_nix_tm_free_resources;
 	roc_nix_tm_hierarchy_disable;
 	roc_nix_tm_hierarchy_enable;
 	roc_nix_tm_init;
+	roc_nix_tm_leaf_cnt;
 	roc_nix_tm_node_add;
 	roc_nix_tm_node_delete;
 	roc_nix_tm_node_get;
@@ -119,7 +121,11 @@ INTERNAL {
 	roc_nix_tm_node_pkt_mode_update;
 	roc_nix_tm_node_shaper_update;
 	roc_nix_tm_node_suspend_resume;
+	roc_nix_tm_prealloc_res;
 	roc_nix_tm_rlimit_sq;
+	roc_nix_tm_root_has_sp;
+	roc_nix_tm_rsrc_count;
+	roc_nix_tm_rsrc_max;
 	roc_nix_tm_shaper_profile_add;
 	roc_nix_tm_shaper_profile_delete;
 	roc_nix_tm_shaper_profile_get;
-- 
2.8.4


  parent reply	other threads:[~2021-04-06 14:48 UTC|newest]

Thread overview: 275+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-05 13:38 [dpdk-dev] [PATCH 00/52] Add Marvell CNXK common driver Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 01/52] config/arm: add support for Marvell CN10K Nithin Dabilpuram
2021-03-26 13:29   ` Jerin Jacob
2021-03-05 13:38 ` [dpdk-dev] [PATCH 02/52] common/cnxk: add build infrastructre and HW definition Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 03/52] common/cnxk: add model init and IO handling API Nithin Dabilpuram
2021-03-26 13:48   ` Jerin Jacob
2021-03-31 17:57     ` Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 04/52] common/cnxk: add interrupt helper API Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 05/52] common/cnxk: add mbox request and response definitions Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 06/52] common/cnxk: add mailbox base infra Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 07/52] common/cnxk: add base device class Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 08/52] common/cnxk: add VF support to " Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 09/52] common/cnxk: add base npa device support Nithin Dabilpuram
2021-03-26 13:54   ` Jerin Jacob
2021-03-05 13:38 ` [dpdk-dev] [PATCH 10/52] common/cnxk: add npa irq support Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 11/52] common/cnxk: add npa debug support Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 12/52] common/cnxk: add npa pool HW ops Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 13/52] common/cnxk: add npa bulk alloc/free support Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 14/52] common/cnxk: add npa performance counter support Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 15/52] common/cnxk: add npa batch alloc/free support Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 16/52] common/cnxk: add npa lf init/fini callback support Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 17/52] common/cnxk: add base nix support Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 18/52] common/cnxk: add nix irq support Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 19/52] common/cnxk: add nix Rx queue management API Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 20/52] common/cnxk: add nix Tx " Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 21/52] common/cnxk: add nix MAC operations support Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 22/52] common/cnxk: add nix specific npc operations Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 23/52] common/cnxk: add nix inline IPsec config API Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 24/52] common/cnxk: add nix RSS support Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 25/52] common/cnxk: add nix ptp support Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 26/52] common/cnxk: add nix stats support Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 27/52] common/cnxk: add support for nix extended stats Nithin Dabilpuram
2021-03-26 14:17   ` Jerin Jacob
2021-03-05 13:38 ` [dpdk-dev] [PATCH 28/52] common/cnxk: add nix debug dump support Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 29/52] common/cnxk: add VLAN filter support Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 30/52] common/cnxk: add nix flow control support Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 31/52] common/cnxk: add nix LSO support and misc utils Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 32/52] common/cnxk: add nix traffic management base support Nithin Dabilpuram
2021-03-05 13:38 ` [dpdk-dev] [PATCH 33/52] common/cnxk: add nix tm support to add/delete node Nithin Dabilpuram
2021-03-05 13:39 ` [dpdk-dev] [PATCH 34/52] common/cnxk: add nix tm shaper profile add support Nithin Dabilpuram
2021-03-05 13:39 ` [dpdk-dev] [PATCH 35/52] common/cnxk: add nix tm helper to alloc and free resource Nithin Dabilpuram
2021-03-05 13:39 ` [dpdk-dev] [PATCH 36/52] common/cnxk: add nix tm hierarchy enable/disable Nithin Dabilpuram
2021-03-05 13:39 ` [dpdk-dev] [PATCH 37/52] common/cnxk: add nix tm support for internal hierarchy Nithin Dabilpuram
2021-03-05 13:39 ` [dpdk-dev] [PATCH 38/52] common/cnxk: add nix tm dynamic update support Nithin Dabilpuram
2021-03-05 13:39 ` [dpdk-dev] [PATCH 39/52] common/cnxk: add nix tm debug support and misc utils Nithin Dabilpuram
2021-03-05 13:39 ` [dpdk-dev] [PATCH 40/52] common/cnxk: add npc support Nithin Dabilpuram
2021-03-26 14:23   ` Jerin Jacob
2021-03-05 13:39 ` [dpdk-dev] [PATCH 41/52] common/cnxk: add npc helper API Nithin Dabilpuram
2021-03-05 13:39 ` [dpdk-dev] [PATCH 42/52] common/cnxk: add mcam utility API Nithin Dabilpuram
2021-03-05 13:39 ` [dpdk-dev] [PATCH 43/52] common/cnxk: add npc parsing API Nithin Dabilpuram
2021-03-05 13:39 ` [dpdk-dev] [PATCH 44/52] common/cnxk: add npc init and fini support Nithin Dabilpuram
2021-03-05 13:39 ` [dpdk-dev] [PATCH 45/52] common/cnxk: add base sso device support Nithin Dabilpuram
2021-03-05 13:39 ` [dpdk-dev] [PATCH 46/52] common/cnxk: add sso hws interface Nithin Dabilpuram
2021-03-05 13:39 ` [dpdk-dev] [PATCH 47/52] common/cnxk: add sso hwgrp interface Nithin Dabilpuram
2021-03-05 13:39 ` [dpdk-dev] [PATCH 48/52] common/cnxk: add sso irq support Nithin Dabilpuram
2021-03-05 13:39 ` [dpdk-dev] [PATCH 49/52] common/cnxk: add sso debug support Nithin Dabilpuram
2021-03-05 13:39 ` [dpdk-dev] [PATCH 50/52] common/cnxk: add base tim device support Nithin Dabilpuram
2021-03-05 13:39 ` [dpdk-dev] [PATCH 51/52] common/cnxk: add tim irq support Nithin Dabilpuram
2021-03-05 13:39 ` [dpdk-dev] [PATCH 52/52] doc: add Marvell CNXK platform guide Nithin Dabilpuram
2021-03-26 13:40   ` Jerin Jacob
2021-04-01  9:46 ` [dpdk-dev] [PATCH v2 00/52] Add Marvell CNXK common driver Nithin Dabilpuram
2021-04-01  9:46   ` [dpdk-dev] [PATCH v2 01/52] doc: add Marvell CNXK platform guide Nithin Dabilpuram
2021-04-01  9:46   ` [dpdk-dev] [PATCH v2 02/52] common/cnxk: add build infrastructre and HW definition Nithin Dabilpuram
2021-04-01  9:46   ` [dpdk-dev] [PATCH v2 03/52] common/cnxk: add model init and IO handling API Nithin Dabilpuram
2021-04-01  9:46   ` [dpdk-dev] [PATCH v2 04/52] common/cnxk: add interrupt helper API Nithin Dabilpuram
2021-04-01  9:46   ` [dpdk-dev] [PATCH v2 05/52] common/cnxk: add mbox request and response definitions Nithin Dabilpuram
2021-04-01  9:46   ` [dpdk-dev] [PATCH v2 06/52] common/cnxk: add mailbox base infra Nithin Dabilpuram
2021-04-01  9:46   ` [dpdk-dev] [PATCH v2 07/52] common/cnxk: add base device class Nithin Dabilpuram
2021-04-01  9:46   ` [dpdk-dev] [PATCH v2 08/52] common/cnxk: add VF support to " Nithin Dabilpuram
2021-04-01  9:46   ` [dpdk-dev] [PATCH v2 09/52] common/cnxk: add base npa device support Nithin Dabilpuram
2021-04-01  9:46   ` [dpdk-dev] [PATCH v2 10/52] common/cnxk: add npa irq support Nithin Dabilpuram
2021-04-01  9:46   ` [dpdk-dev] [PATCH v2 11/52] common/cnxk: add npa debug support Nithin Dabilpuram
2021-04-01  9:46   ` [dpdk-dev] [PATCH v2 12/52] common/cnxk: add npa pool HW ops Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 13/52] common/cnxk: add npa bulk alloc/free support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 14/52] common/cnxk: add npa performance counter support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 15/52] common/cnxk: add npa batch alloc/free support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 16/52] common/cnxk: add npa lf init/fini callback support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 17/52] common/cnxk: add base nix support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 18/52] common/cnxk: add nix irq support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 19/52] common/cnxk: add nix Rx queue management API Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 20/52] common/cnxk: add nix Tx " Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 21/52] common/cnxk: add nix MAC operations support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 22/52] common/cnxk: add nix specific npc operations Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 23/52] common/cnxk: add nix inline IPsec config API Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 24/52] common/cnxk: add nix RSS support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 25/52] common/cnxk: add nix ptp support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 26/52] common/cnxk: add nix stats support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 27/52] common/cnxk: add support for nix extended stats Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 28/52] common/cnxk: add nix debug dump support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 29/52] common/cnxk: add VLAN filter support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 30/52] common/cnxk: add nix flow control support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 31/52] common/cnxk: add nix LSO support and misc utils Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 32/52] common/cnxk: add nix traffic management base support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 33/52] common/cnxk: add nix tm support to add/delete node Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 34/52] common/cnxk: add nix tm shaper profile add support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 35/52] common/cnxk: add nix tm helper to alloc and free resource Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 36/52] common/cnxk: add nix tm hierarchy enable/disable Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 37/52] common/cnxk: add nix tm support for internal hierarchy Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 38/52] common/cnxk: add nix tm dynamic update support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 39/52] common/cnxk: add nix tm debug support and misc utils Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 40/52] common/cnxk: add npc support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 41/52] common/cnxk: add npc helper API Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 42/52] common/cnxk: add mcam utility API Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 43/52] common/cnxk: add npc parsing API Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 44/52] common/cnxk: add npc init and fini support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 45/52] common/cnxk: add base sso device support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 46/52] common/cnxk: add sso hws interface Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 47/52] common/cnxk: add sso hwgrp interface Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 48/52] common/cnxk: add sso irq support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 49/52] common/cnxk: add sso debug support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 50/52] common/cnxk: add base tim device support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 51/52] common/cnxk: add tim irq support Nithin Dabilpuram
2021-04-01  9:47   ` [dpdk-dev] [PATCH v2 52/52] common/cnxk: add support for rss action in rte_flow Nithin Dabilpuram
2021-04-01 12:37 ` [dpdk-dev] [PATCH v3 00/52] Add Marvell CNXK common driver Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 01/52] doc: add Marvell CNXK platform guide Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 02/52] common/cnxk: add build infrastructre and HW definition Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 03/52] common/cnxk: add model init and IO handling API Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 04/52] common/cnxk: add interrupt helper API Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 05/52] common/cnxk: add mbox request and response definitions Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 06/52] common/cnxk: add mailbox base infra Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 07/52] common/cnxk: add base device class Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 08/52] common/cnxk: add VF support to " Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 09/52] common/cnxk: add base npa device support Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 10/52] common/cnxk: add npa irq support Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 11/52] common/cnxk: add npa debug support Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 12/52] common/cnxk: add npa pool HW ops Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 13/52] common/cnxk: add npa bulk alloc/free support Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 14/52] common/cnxk: add npa performance counter support Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 15/52] common/cnxk: add npa batch alloc/free support Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 16/52] common/cnxk: add npa lf init/fini callback support Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 17/52] common/cnxk: add base nix support Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 18/52] common/cnxk: add nix irq support Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 19/52] common/cnxk: add nix Rx queue management API Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 20/52] common/cnxk: add nix Tx " Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 21/52] common/cnxk: add nix MAC operations support Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 22/52] common/cnxk: add nix specific npc operations Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 23/52] common/cnxk: add nix inline IPsec config API Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 24/52] common/cnxk: add nix RSS support Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 25/52] common/cnxk: add nix ptp support Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 26/52] common/cnxk: add nix stats support Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 27/52] common/cnxk: add support for nix extended stats Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 28/52] common/cnxk: add nix debug dump support Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 29/52] common/cnxk: add VLAN filter support Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 30/52] common/cnxk: add nix flow control support Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 31/52] common/cnxk: add nix LSO support and misc utils Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 32/52] common/cnxk: add nix traffic management base support Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 33/52] common/cnxk: add nix tm support to add/delete node Nithin Dabilpuram
2021-04-01 12:37   ` [dpdk-dev] [PATCH v3 34/52] common/cnxk: add nix tm shaper profile add support Nithin Dabilpuram
2021-04-01 12:38   ` [dpdk-dev] [PATCH v3 35/52] common/cnxk: add nix tm helper to alloc and free resource Nithin Dabilpuram
2021-04-01 12:38   ` [dpdk-dev] [PATCH v3 36/52] common/cnxk: add nix tm hierarchy enable/disable Nithin Dabilpuram
2021-04-01 12:38   ` [dpdk-dev] [PATCH v3 37/52] common/cnxk: add nix tm support for internal hierarchy Nithin Dabilpuram
2021-04-01 12:38   ` [dpdk-dev] [PATCH v3 38/52] common/cnxk: add nix tm dynamic update support Nithin Dabilpuram
2021-04-01 12:38   ` [dpdk-dev] [PATCH v3 39/52] common/cnxk: add nix tm debug support and misc utils Nithin Dabilpuram
2021-04-01 12:38   ` [dpdk-dev] [PATCH v3 40/52] common/cnxk: add npc support Nithin Dabilpuram
2021-04-01 12:38   ` [dpdk-dev] [PATCH v3 41/52] common/cnxk: add npc helper API Nithin Dabilpuram
2021-04-01 12:38   ` [dpdk-dev] [PATCH v3 42/52] common/cnxk: add mcam utility API Nithin Dabilpuram
2021-04-01 12:38   ` [dpdk-dev] [PATCH v3 43/52] common/cnxk: add npc parsing API Nithin Dabilpuram
2021-04-01 12:38   ` [dpdk-dev] [PATCH v3 44/52] common/cnxk: add npc init and fini support Nithin Dabilpuram
2021-04-01 12:38   ` [dpdk-dev] [PATCH v3 45/52] common/cnxk: add base sso device support Nithin Dabilpuram
2021-04-01 12:38   ` [dpdk-dev] [PATCH v3 46/52] common/cnxk: add sso hws interface Nithin Dabilpuram
2021-04-01 12:38   ` [dpdk-dev] [PATCH v3 47/52] common/cnxk: add sso hwgrp interface Nithin Dabilpuram
2021-04-01 12:38   ` [dpdk-dev] [PATCH v3 48/52] common/cnxk: add sso irq support Nithin Dabilpuram
2021-04-01 12:38   ` [dpdk-dev] [PATCH v3 49/52] common/cnxk: add sso debug support Nithin Dabilpuram
2021-04-01 12:38   ` [dpdk-dev] [PATCH v3 50/52] common/cnxk: add base tim device support Nithin Dabilpuram
2021-04-01 12:38   ` [dpdk-dev] [PATCH v3 51/52] common/cnxk: add tim irq support Nithin Dabilpuram
2021-04-01 12:38   ` [dpdk-dev] [PATCH v3 52/52] common/cnxk: add support for rss action in rte_flow Nithin Dabilpuram
2021-04-03 11:31   ` [dpdk-dev] [PATCH v3 00/52] Add Marvell CNXK common driver Jerin Jacob
2021-04-06 11:40 ` [dpdk-dev] [PATCH v4 " Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 01/52] doc: add Marvell CNXK platform guide Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 02/52] common/cnxk: add build infrastructre and HW definition Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 03/52] common/cnxk: add model init and IO handling API Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 04/52] common/cnxk: add roc plt init callback support Nithin Dabilpuram
2021-04-06 12:17     ` Jerin Jacob
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 05/52] common/cnxk: add interrupt helper API Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 06/52] common/cnxk: add mbox request and response definitions Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 07/52] common/cnxk: add mailbox base infra Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 08/52] common/cnxk: add base device class Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 09/52] common/cnxk: add VF support to " Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 10/52] common/cnxk: add base npa device support Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 11/52] common/cnxk: add npa irq support Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 12/52] common/cnxk: add npa debug support Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 13/52] common/cnxk: add npa pool HW ops Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 14/52] common/cnxk: add npa bulk alloc/free support Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 15/52] common/cnxk: add npa performance counter support Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 16/52] common/cnxk: add npa batch alloc/free support Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 17/52] common/cnxk: add base nix support Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 18/52] common/cnxk: add nix irq support Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 19/52] common/cnxk: add nix Rx queue management API Nithin Dabilpuram
2021-04-06 11:40   ` [dpdk-dev] [PATCH v4 20/52] common/cnxk: add nix Tx " Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 21/52] common/cnxk: add nix MAC operations support Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 22/52] common/cnxk: add nix specific npc operations Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 23/52] common/cnxk: add nix inline IPsec config API Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 24/52] common/cnxk: add nix RSS support Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 25/52] common/cnxk: add nix ptp support Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 26/52] common/cnxk: add nix stats support Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 27/52] common/cnxk: add support for nix extended stats Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 28/52] common/cnxk: add nix debug dump support Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 29/52] common/cnxk: add VLAN filter support Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 30/52] common/cnxk: add nix flow control support Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 31/52] common/cnxk: add nix LSO support and misc utils Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 32/52] common/cnxk: add nix traffic management base support Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 33/52] common/cnxk: add nix tm support to add/delete node Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 34/52] common/cnxk: add nix tm shaper profile add support Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 35/52] common/cnxk: add nix tm helper to alloc and free resource Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 36/52] common/cnxk: add nix tm hierarchy enable/disable Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 37/52] common/cnxk: add nix tm support for internal hierarchy Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 38/52] common/cnxk: add nix tm dynamic update support Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 39/52] common/cnxk: add nix tm debug support and misc utils Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 40/52] common/cnxk: add npc support Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 41/52] common/cnxk: add npc helper API Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 42/52] common/cnxk: add mcam utility API Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 43/52] common/cnxk: add npc parsing API Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 44/52] common/cnxk: add npc init and fini support Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 45/52] common/cnxk: add base sso device support Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 46/52] common/cnxk: add sso hws interface Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 47/52] common/cnxk: add sso hwgrp interface Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 48/52] common/cnxk: add sso irq support Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 49/52] common/cnxk: add sso debug support Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 50/52] common/cnxk: add base tim device support Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 51/52] common/cnxk: add tim irq support Nithin Dabilpuram
2021-04-06 11:41   ` [dpdk-dev] [PATCH v4 52/52] common/cnxk: add support for RSS action in RTE Flow Nithin Dabilpuram
2021-04-06 14:40 ` [dpdk-dev] [PATCH v5 00/52] Add Marvell CNXK common driver Nithin Dabilpuram
2021-04-06 14:40   ` [dpdk-dev] [PATCH v5 01/52] doc: add Marvell CNXK platform guide Nithin Dabilpuram
2021-04-06 14:40   ` [dpdk-dev] [PATCH v5 02/52] common/cnxk: add build infrastructre and HW definition Nithin Dabilpuram
2021-04-06 14:40   ` [dpdk-dev] [PATCH v5 03/52] common/cnxk: add model init and IO handling API Nithin Dabilpuram
2021-04-06 14:40   ` [dpdk-dev] [PATCH v5 04/52] common/cnxk: add roc plt init callback support Nithin Dabilpuram
2021-04-06 14:40   ` [dpdk-dev] [PATCH v5 05/52] common/cnxk: add interrupt helper API Nithin Dabilpuram
2021-04-06 14:40   ` [dpdk-dev] [PATCH v5 06/52] common/cnxk: add mbox request and response definitions Nithin Dabilpuram
2021-04-06 14:40   ` [dpdk-dev] [PATCH v5 07/52] common/cnxk: add mailbox base infra Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 08/52] common/cnxk: add base device class Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 09/52] common/cnxk: add VF support to " Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 10/52] common/cnxk: add base npa device support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 11/52] common/cnxk: add npa irq support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 12/52] common/cnxk: add npa debug support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 13/52] common/cnxk: add npa pool HW ops Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 14/52] common/cnxk: add npa bulk alloc/free support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 15/52] common/cnxk: add npa performance counter support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 16/52] common/cnxk: add npa batch alloc/free support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 17/52] common/cnxk: add base nix support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 18/52] common/cnxk: add nix irq support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 19/52] common/cnxk: add nix Rx queue management API Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 20/52] common/cnxk: add nix Tx " Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 21/52] common/cnxk: add nix MAC operations support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 22/52] common/cnxk: add nix specific npc operations Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 23/52] common/cnxk: add nix inline IPsec config API Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 24/52] common/cnxk: add nix RSS support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 25/52] common/cnxk: add nix ptp support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 26/52] common/cnxk: add nix stats support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 27/52] common/cnxk: add support for nix extended stats Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 28/52] common/cnxk: add nix debug dump support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 29/52] common/cnxk: add VLAN filter support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 30/52] common/cnxk: add nix flow control support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 31/52] common/cnxk: add nix LSO support and misc utils Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 32/52] common/cnxk: add nix traffic management base support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 33/52] common/cnxk: add nix tm support to add/delete node Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 34/52] common/cnxk: add nix tm shaper profile add support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 35/52] common/cnxk: add nix tm helper to alloc and free resource Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 36/52] common/cnxk: add nix tm hierarchy enable/disable Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 37/52] common/cnxk: add nix tm support for internal hierarchy Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 38/52] common/cnxk: add nix tm dynamic update support Nithin Dabilpuram
2021-04-06 14:41   ` Nithin Dabilpuram [this message]
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 40/52] common/cnxk: add npc support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 41/52] common/cnxk: add npc helper API Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 42/52] common/cnxk: add mcam utility API Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 43/52] common/cnxk: add npc parsing API Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 44/52] common/cnxk: add npc init and fini support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 45/52] common/cnxk: add base sso device support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 46/52] common/cnxk: add sso hws interface Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 47/52] common/cnxk: add sso hwgrp interface Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 48/52] common/cnxk: add sso irq support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 49/52] common/cnxk: add sso debug support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 50/52] common/cnxk: add base tim device support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 51/52] common/cnxk: add tim irq support Nithin Dabilpuram
2021-04-06 14:41   ` [dpdk-dev] [PATCH v5 52/52] common/cnxk: add support for RSS action in RTE Flow Nithin Dabilpuram
2021-04-08  7:50   ` [dpdk-dev] [PATCH v5 00/52] Add Marvell CNXK common driver Jerin Jacob

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210406144144.19925-40-ndabilpuram@marvell.com \
    --to=ndabilpuram@marvell.com \
    --cc=asekhar@marvell.com \
    --cc=dev@dpdk.org \
    --cc=jerinj@marvell.com \
    --cc=kirankumark@marvell.com \
    --cc=pbhagavatula@marvell.com \
    --cc=psatheesh@marvell.com \
    --cc=skori@marvell.com \
    --cc=skoteshwar@marvell.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).