DPDK patches and discussions
 help / color / mirror / Atom feed
From: Mingxia Liu <mingxia.liu@intel.com>
To: dev@dpdk.org, beilei.xing@intel.com, yuying.zhang@intel.com
Cc: Mingxia Liu <mingxia.liu@intel.com>
Subject: [PATCH v8 03/21] net/cpfl: add Rx queue setup
Date: Thu,  2 Mar 2023 10:35:09 +0000	[thread overview]
Message-ID: <20230302103527.931071-4-mingxia.liu@intel.com> (raw)
In-Reply-To: <20230302103527.931071-1-mingxia.liu@intel.com>

Add support for rx_queue_setup ops.

There are two queue modes supported, single queue mode and split
queue mode for Rx queue.

For the single queue model, the descriptor RX queue is used by SW
to post buffer descriptors to HW, and it's also used by HW to post
completed descriptors to SW.

For the split queue model, "RX buffer queues" are used to pass
descriptor buffers from SW to HW, while RX queues are used only to
pass the descriptor completions from HW to SW.

Signed-off-by: Mingxia Liu <mingxia.liu@intel.com>
---
 drivers/net/cpfl/cpfl_ethdev.c |  11 ++
 drivers/net/cpfl/cpfl_rxtx.c   | 232 +++++++++++++++++++++++++++++++++
 drivers/net/cpfl/cpfl_rxtx.h   |   6 +
 3 files changed, 249 insertions(+)

diff --git a/drivers/net/cpfl/cpfl_ethdev.c b/drivers/net/cpfl/cpfl_ethdev.c
index b40f373fb9..99fd86d6d0 100644
--- a/drivers/net/cpfl/cpfl_ethdev.c
+++ b/drivers/net/cpfl/cpfl_ethdev.c
@@ -99,12 +99,22 @@ cpfl_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 		.tx_rs_thresh = CPFL_DEFAULT_TX_RS_THRESH,
 	};
 
+	dev_info->default_rxconf = (struct rte_eth_rxconf) {
+		.rx_free_thresh = CPFL_DEFAULT_RX_FREE_THRESH,
+	};
+
 	dev_info->tx_desc_lim = (struct rte_eth_desc_lim) {
 		.nb_max = CPFL_MAX_RING_DESC,
 		.nb_min = CPFL_MIN_RING_DESC,
 		.nb_align = CPFL_ALIGN_RING_DESC,
 	};
 
+	dev_info->rx_desc_lim = (struct rte_eth_desc_lim) {
+		.nb_max = CPFL_MAX_RING_DESC,
+		.nb_min = CPFL_MIN_RING_DESC,
+		.nb_align = CPFL_ALIGN_RING_DESC,
+	};
+
 	return 0;
 }
 
@@ -191,6 +201,7 @@ cpfl_dev_close(struct rte_eth_dev *dev)
 static const struct eth_dev_ops cpfl_eth_dev_ops = {
 	.dev_configure			= cpfl_dev_configure,
 	.dev_close			= cpfl_dev_close,
+	.rx_queue_setup			= cpfl_rx_queue_setup,
 	.tx_queue_setup			= cpfl_tx_queue_setup,
 	.dev_infos_get			= cpfl_dev_info_get,
 	.link_update			= cpfl_dev_link_update,
diff --git a/drivers/net/cpfl/cpfl_rxtx.c b/drivers/net/cpfl/cpfl_rxtx.c
index 737d069ec2..930d725a4a 100644
--- a/drivers/net/cpfl/cpfl_rxtx.c
+++ b/drivers/net/cpfl/cpfl_rxtx.c
@@ -9,6 +9,25 @@
 #include "cpfl_ethdev.h"
 #include "cpfl_rxtx.h"
 
+static uint64_t
+cpfl_rx_offload_convert(uint64_t offload)
+{
+	uint64_t ol = 0;
+
+	if ((offload & RTE_ETH_RX_OFFLOAD_IPV4_CKSUM) != 0)
+		ol |= IDPF_RX_OFFLOAD_IPV4_CKSUM;
+	if ((offload & RTE_ETH_RX_OFFLOAD_UDP_CKSUM) != 0)
+		ol |= IDPF_RX_OFFLOAD_UDP_CKSUM;
+	if ((offload & RTE_ETH_RX_OFFLOAD_TCP_CKSUM) != 0)
+		ol |= IDPF_RX_OFFLOAD_TCP_CKSUM;
+	if ((offload & RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM) != 0)
+		ol |= IDPF_RX_OFFLOAD_OUTER_IPV4_CKSUM;
+	if ((offload & RTE_ETH_RX_OFFLOAD_TIMESTAMP) != 0)
+		ol |= IDPF_RX_OFFLOAD_TIMESTAMP;
+
+	return ol;
+}
+
 static uint64_t
 cpfl_tx_offload_convert(uint64_t offload)
 {
@@ -94,6 +113,219 @@ cpfl_dma_zone_release(const struct rte_memzone *mz)
 	rte_memzone_free(mz);
 }
 
+static int
+cpfl_rx_split_bufq_setup(struct rte_eth_dev *dev, struct idpf_rx_queue *rxq,
+			 uint16_t queue_idx, uint16_t rx_free_thresh,
+			 uint16_t nb_desc, unsigned int socket_id,
+			 struct rte_mempool *mp, uint8_t bufq_id)
+{
+	struct idpf_vport *vport = dev->data->dev_private;
+	struct idpf_adapter *base = vport->adapter;
+	struct idpf_hw *hw = &base->hw;
+	const struct rte_memzone *mz;
+	struct idpf_rx_queue *bufq;
+	uint16_t len;
+	int ret;
+
+	bufq = rte_zmalloc_socket("cpfl bufq",
+				   sizeof(struct idpf_rx_queue),
+				   RTE_CACHE_LINE_SIZE,
+				   socket_id);
+	if (bufq == NULL) {
+		PMD_INIT_LOG(ERR, "Failed to allocate memory for rx buffer queue.");
+		ret = -ENOMEM;
+		goto err_bufq1_alloc;
+	}
+
+	bufq->mp = mp;
+	bufq->nb_rx_desc = nb_desc;
+	bufq->rx_free_thresh = rx_free_thresh;
+	bufq->queue_id = vport->chunks_info.rx_buf_start_qid + queue_idx;
+	bufq->port_id = dev->data->port_id;
+	bufq->rx_hdr_len = 0;
+	bufq->adapter = base;
+
+	len = rte_pktmbuf_data_room_size(bufq->mp) - RTE_PKTMBUF_HEADROOM;
+	bufq->rx_buf_len = len;
+
+	/* Allocate a little more to support bulk allocate. */
+	len = nb_desc + IDPF_RX_MAX_BURST;
+
+	mz = cpfl_dma_zone_reserve(dev, queue_idx, len,
+				   VIRTCHNL2_QUEUE_TYPE_RX_BUFFER,
+				   socket_id, true);
+	if (mz == NULL) {
+		ret = -ENOMEM;
+		goto err_mz_reserve;
+	}
+
+	bufq->rx_ring_phys_addr = mz->iova;
+	bufq->rx_ring = mz->addr;
+	bufq->mz = mz;
+
+	bufq->sw_ring =
+		rte_zmalloc_socket("cpfl rx bufq sw ring",
+				   sizeof(struct rte_mbuf *) * len,
+				   RTE_CACHE_LINE_SIZE,
+				   socket_id);
+	if (bufq->sw_ring == NULL) {
+		PMD_INIT_LOG(ERR, "Failed to allocate memory for SW ring");
+		ret = -ENOMEM;
+		goto err_sw_ring_alloc;
+	}
+
+	idpf_qc_split_rx_bufq_reset(bufq);
+	bufq->qrx_tail = hw->hw_addr + (vport->chunks_info.rx_buf_qtail_start +
+			 queue_idx * vport->chunks_info.rx_buf_qtail_spacing);
+	bufq->q_set = true;
+
+	if (bufq_id == IDPF_RX_SPLIT_BUFQ1_ID) {
+		rxq->bufq1 = bufq;
+	} else if (bufq_id == IDPF_RX_SPLIT_BUFQ2_ID) {
+		rxq->bufq2 = bufq;
+	} else {
+		PMD_INIT_LOG(ERR, "Invalid buffer queue index.");
+		ret = -EINVAL;
+		goto err_bufq_id;
+	}
+
+	return 0;
+
+err_bufq_id:
+	rte_free(bufq->sw_ring);
+err_sw_ring_alloc:
+	cpfl_dma_zone_release(mz);
+err_mz_reserve:
+	rte_free(bufq);
+err_bufq1_alloc:
+	return ret;
+}
+
+static void
+cpfl_rx_split_bufq_release(struct idpf_rx_queue *bufq)
+{
+	rte_free(bufq->sw_ring);
+	cpfl_dma_zone_release(bufq->mz);
+	rte_free(bufq);
+}
+
+int
+cpfl_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
+		    uint16_t nb_desc, unsigned int socket_id,
+		    const struct rte_eth_rxconf *rx_conf,
+		    struct rte_mempool *mp)
+{
+	struct idpf_vport *vport = dev->data->dev_private;
+	struct idpf_adapter *base = vport->adapter;
+	struct idpf_hw *hw = &base->hw;
+	const struct rte_memzone *mz;
+	struct idpf_rx_queue *rxq;
+	uint16_t rx_free_thresh;
+	uint64_t offloads;
+	bool is_splitq;
+	uint16_t len;
+	int ret;
+
+	offloads = rx_conf->offloads | dev->data->dev_conf.rxmode.offloads;
+
+	/* Check free threshold */
+	rx_free_thresh = (rx_conf->rx_free_thresh == 0) ?
+		CPFL_DEFAULT_RX_FREE_THRESH :
+		rx_conf->rx_free_thresh;
+	if (idpf_qc_rx_thresh_check(nb_desc, rx_free_thresh) != 0)
+		return -EINVAL;
+
+	/* Setup Rx queue */
+	rxq = rte_zmalloc_socket("cpfl rxq",
+				 sizeof(struct idpf_rx_queue),
+				 RTE_CACHE_LINE_SIZE,
+				 socket_id);
+	if (rxq == NULL) {
+		PMD_INIT_LOG(ERR, "Failed to allocate memory for rx queue data structure");
+		ret = -ENOMEM;
+		goto err_rxq_alloc;
+	}
+
+	is_splitq = !!(vport->rxq_model == VIRTCHNL2_QUEUE_MODEL_SPLIT);
+
+	rxq->mp = mp;
+	rxq->nb_rx_desc = nb_desc;
+	rxq->rx_free_thresh = rx_free_thresh;
+	rxq->queue_id = vport->chunks_info.rx_start_qid + queue_idx;
+	rxq->port_id = dev->data->port_id;
+	rxq->rx_deferred_start = rx_conf->rx_deferred_start;
+	rxq->rx_hdr_len = 0;
+	rxq->adapter = base;
+	rxq->offloads = cpfl_rx_offload_convert(offloads);
+
+	len = rte_pktmbuf_data_room_size(rxq->mp) - RTE_PKTMBUF_HEADROOM;
+	rxq->rx_buf_len = len;
+
+	/* Allocate a little more to support bulk allocate. */
+	len = nb_desc + IDPF_RX_MAX_BURST;
+	mz = cpfl_dma_zone_reserve(dev, queue_idx, len, VIRTCHNL2_QUEUE_TYPE_RX,
+				   socket_id, is_splitq);
+	if (mz == NULL) {
+		ret = -ENOMEM;
+		goto err_mz_reserve;
+	}
+	rxq->rx_ring_phys_addr = mz->iova;
+	rxq->rx_ring = mz->addr;
+	rxq->mz = mz;
+
+	if (!is_splitq) {
+		rxq->sw_ring = rte_zmalloc_socket("cpfl rxq sw ring",
+						  sizeof(struct rte_mbuf *) * len,
+						  RTE_CACHE_LINE_SIZE,
+						  socket_id);
+		if (rxq->sw_ring == NULL) {
+			PMD_INIT_LOG(ERR, "Failed to allocate memory for SW ring");
+			ret = -ENOMEM;
+			goto err_sw_ring_alloc;
+		}
+
+		idpf_qc_single_rx_queue_reset(rxq);
+		rxq->qrx_tail = hw->hw_addr + (vport->chunks_info.rx_qtail_start +
+				queue_idx * vport->chunks_info.rx_qtail_spacing);
+	} else {
+		idpf_qc_split_rx_descq_reset(rxq);
+
+		/* Setup Rx buffer queues */
+		ret = cpfl_rx_split_bufq_setup(dev, rxq, 2 * queue_idx,
+					       rx_free_thresh, nb_desc,
+					       socket_id, mp, 1);
+		if (ret != 0) {
+			PMD_INIT_LOG(ERR, "Failed to setup buffer queue 1");
+			ret = -EINVAL;
+			goto err_bufq1_setup;
+		}
+
+		ret = cpfl_rx_split_bufq_setup(dev, rxq, 2 * queue_idx + 1,
+					       rx_free_thresh, nb_desc,
+					       socket_id, mp, 2);
+		if (ret != 0) {
+			PMD_INIT_LOG(ERR, "Failed to setup buffer queue 2");
+			ret = -EINVAL;
+			goto err_bufq2_setup;
+		}
+	}
+
+	rxq->q_set = true;
+	dev->data->rx_queues[queue_idx] = rxq;
+
+	return 0;
+
+err_bufq2_setup:
+	cpfl_rx_split_bufq_release(rxq->bufq1);
+err_bufq1_setup:
+err_sw_ring_alloc:
+	cpfl_dma_zone_release(mz);
+err_mz_reserve:
+	rte_free(rxq);
+err_rxq_alloc:
+	return ret;
+}
+
 static int
 cpfl_tx_complq_setup(struct rte_eth_dev *dev, struct idpf_tx_queue *txq,
 		     uint16_t queue_idx, uint16_t nb_desc,
diff --git a/drivers/net/cpfl/cpfl_rxtx.h b/drivers/net/cpfl/cpfl_rxtx.h
index 232630c5e9..e0221abfa3 100644
--- a/drivers/net/cpfl/cpfl_rxtx.h
+++ b/drivers/net/cpfl/cpfl_rxtx.h
@@ -16,10 +16,16 @@
 /* Base address of the HW descriptor ring should be 128B aligned. */
 #define CPFL_RING_BASE_ALIGN	128
 
+#define CPFL_DEFAULT_RX_FREE_THRESH	32
+
 #define CPFL_DEFAULT_TX_RS_THRESH	32
 #define CPFL_DEFAULT_TX_FREE_THRESH	32
 
 int cpfl_tx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
 			uint16_t nb_desc, unsigned int socket_id,
 			const struct rte_eth_txconf *tx_conf);
+int cpfl_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
+			uint16_t nb_desc, unsigned int socket_id,
+			const struct rte_eth_rxconf *rx_conf,
+			struct rte_mempool *mp);
 #endif /* _CPFL_RXTX_H_ */
-- 
2.34.1


  parent reply	other threads:[~2023-03-02  2:20 UTC|newest]

Thread overview: 263+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-23  1:55 [PATCH 00/21] add support for cpfl PMD in DPDK Mingxia Liu
2022-12-23  1:55 ` [PATCH 01/21] net/cpfl: support device initialization Mingxia Liu
2022-12-23  1:55 ` [PATCH 02/21] net/cpfl: add Tx queue setup Mingxia Liu
2022-12-23  1:55 ` [PATCH 03/21] net/cpfl: add Rx " Mingxia Liu
2022-12-23  1:55 ` [PATCH 04/21] net/cpfl: support device start and stop Mingxia Liu
2022-12-23  1:55 ` [PATCH 05/21] net/cpfl: support queue start Mingxia Liu
2022-12-23  1:55 ` [PATCH 06/21] net/cpfl: support queue stop Mingxia Liu
2022-12-23  1:55 ` [PATCH 07/21] net/cpfl: support queue release Mingxia Liu
2022-12-23  1:55 ` [PATCH 08/21] net/cpfl: support MTU configuration Mingxia Liu
2022-12-23  1:55 ` [PATCH 09/21] net/cpfl: support basic Rx data path Mingxia Liu
2022-12-23  1:55 ` [PATCH 10/21] net/cpfl: support basic Tx " Mingxia Liu
2022-12-23  1:55 ` [PATCH 11/21] net/cpfl: support write back based on ITR expire Mingxia Liu
2022-12-23  1:55 ` [PATCH 12/21] net/cpfl: support RSS Mingxia Liu
2022-12-23  1:55 ` [PATCH 13/21] net/cpfl: support Rx offloading Mingxia Liu
2022-12-23  1:55 ` [PATCH 14/21] net/cpfl: support Tx offloading Mingxia Liu
2022-12-23  1:55 ` [PATCH 15/21] net/cpfl: add AVX512 data path for single queue model Mingxia Liu
2022-12-23  1:55 ` [PATCH 16/21] net/cpfl: support timestamp offload Mingxia Liu
2022-12-23  1:55 ` [PATCH 17/21] net/cpfl: add AVX512 data path for split queue model Mingxia Liu
2022-12-23  1:55 ` [PATCH 18/21] net/cpfl: add hw statistics Mingxia Liu
2022-12-23  1:55 ` [PATCH 19/21] net/cpfl: add RSS set/get ops Mingxia Liu
2022-12-23  1:55 ` [PATCH 20/21] net/cpfl: support single q scatter RX datapath Mingxia Liu
2022-12-23  1:55 ` [PATCH 21/21] net/cpfl: add xstats ops Mingxia Liu
2023-01-13  8:19 ` [PATCH v2 00/21] add support for cpfl PMD in DPDK Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 01/21] net/cpfl: support device initialization Mingxia Liu
2023-01-13 13:32     ` Zhang, Helin
2023-01-13  8:19   ` [PATCH v2 02/21] net/cpfl: add Tx queue setup Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 03/21] net/cpfl: add Rx " Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 04/21] net/cpfl: support device start and stop Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 05/21] net/cpfl: support queue start Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 06/21] net/cpfl: support queue stop Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 07/21] net/cpfl: support queue release Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 08/21] net/cpfl: support MTU configuration Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 09/21] net/cpfl: support basic Rx data path Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 10/21] net/cpfl: support basic Tx " Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 11/21] net/cpfl: support write back based on ITR expire Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 12/21] net/cpfl: support RSS Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 13/21] net/cpfl: support Rx offloading Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 14/21] net/cpfl: support Tx offloading Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 15/21] net/cpfl: add AVX512 data path for single queue model Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 16/21] net/cpfl: support timestamp offload Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 17/21] net/cpfl: add AVX512 data path for split queue model Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 18/21] net/cpfl: add hw statistics Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 19/21] net/cpfl: add RSS set/get ops Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 20/21] net/cpfl: support single q scatter RX datapath Mingxia Liu
2023-01-13  8:19   ` [PATCH v2 21/21] net/cpfl: add xstats ops Mingxia Liu
2023-01-13 12:49   ` [PATCH v2 00/21] add support for cpfl PMD in DPDK Zhang, Helin
2023-01-18  7:31   ` [PATCH v3 " Mingxia Liu
2023-01-18  7:31     ` [PATCH v3 01/21] net/cpfl: support device initialization Mingxia Liu
2023-01-18  7:31     ` [PATCH v3 02/21] net/cpfl: add Tx queue setup Mingxia Liu
2023-01-18  7:31     ` [PATCH v3 03/21] net/cpfl: add Rx " Mingxia Liu
2023-01-18  7:31     ` [PATCH v3 04/21] net/cpfl: support device start and stop Mingxia Liu
2023-01-18  7:31     ` [PATCH v3 05/21] net/cpfl: support queue start Mingxia Liu
2023-01-18  7:31     ` [PATCH v3 06/21] net/cpfl: support queue stop Mingxia Liu
2023-01-18  7:31     ` [PATCH v3 07/21] net/cpfl: support queue release Mingxia Liu
2023-01-18  7:31     ` [PATCH v3 08/21] net/cpfl: support MTU configuration Mingxia Liu
2023-01-18  7:31     ` [PATCH v3 09/21] net/cpfl: support basic Rx data path Mingxia Liu
2023-01-18  7:31     ` [PATCH v3 10/21] net/cpfl: support basic Tx " Mingxia Liu
2023-01-18  7:31     ` [PATCH v3 11/21] net/cpfl: support write back based on ITR expire Mingxia Liu
2023-01-18  7:31     ` [PATCH v3 12/21] net/cpfl: support RSS Mingxia Liu
2023-01-18  7:31     ` [PATCH v3 13/21] net/cpfl: support Rx offloading Mingxia Liu
2023-01-18  7:31     ` [PATCH v3 14/21] net/cpfl: support Tx offloading Mingxia Liu
2023-01-18  7:31     ` [PATCH v3 16/21] net/cpfl: support timestamp offload Mingxia Liu
2023-01-18  7:31     ` [PATCH v3 18/21] net/cpfl: add hw statistics Mingxia Liu
2023-01-18  7:31     ` [PATCH v3 19/21] net/cpfl: add RSS set/get ops Mingxia Liu
2023-01-18  7:31     ` [PATCH v3 21/21] net/cpfl: add xstats ops Mingxia Liu
2023-01-18  7:33   ` [PATCH v3 15/21] net/cpfl: add AVX512 data path for single queue model Mingxia Liu
2023-01-18  7:33     ` [PATCH v3 17/21] net/cpfl: add AVX512 data path for split " Mingxia Liu
2023-01-18  7:33     ` [PATCH v3 20/21] net/cpfl: support single q scatter RX datapath Mingxia Liu
2023-01-18  7:57   ` [PATCH v4 00/21] add support for cpfl PMD in DPDK Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 01/21] net/cpfl: support device initialization Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 02/21] net/cpfl: add Tx queue setup Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 03/21] net/cpfl: add Rx " Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 04/21] net/cpfl: support device start and stop Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 05/21] net/cpfl: support queue start Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 06/21] net/cpfl: support queue stop Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 07/21] net/cpfl: support queue release Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 08/21] net/cpfl: support MTU configuration Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 09/21] net/cpfl: support basic Rx data path Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 10/21] net/cpfl: support basic Tx " Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 11/21] net/cpfl: support write back based on ITR expire Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 12/21] net/cpfl: support RSS Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 13/21] net/cpfl: support Rx offloading Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 14/21] net/cpfl: support Tx offloading Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 15/21] net/cpfl: add AVX512 data path for single queue model Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 16/21] net/cpfl: support timestamp offload Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 17/21] net/cpfl: add AVX512 data path for split queue model Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 18/21] net/cpfl: add hw statistics Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 19/21] net/cpfl: add RSS set/get ops Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 20/21] net/cpfl: support single q scatter RX datapath Mingxia Liu
2023-01-18  7:57     ` [PATCH v4 21/21] net/cpfl: add xstats ops Mingxia Liu
2023-02-09  8:45     ` [PATCH v5 00/21] add support for cpfl PMD in DPDK Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 01/21] net/cpfl: support device initialization Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 02/21] net/cpfl: add Tx queue setup Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 03/21] net/cpfl: add Rx " Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 04/21] net/cpfl: support device start and stop Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 05/21] net/cpfl: support queue start Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 06/21] net/cpfl: support queue stop Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 07/21] net/cpfl: support queue release Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 08/21] net/cpfl: support MTU configuration Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 09/21] net/cpfl: support basic Rx data path Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 10/21] net/cpfl: support basic Tx " Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 11/21] net/cpfl: support write back based on ITR expire Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 12/21] net/cpfl: support RSS Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 13/21] net/cpfl: support Rx offloading Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 14/21] net/cpfl: support Tx offloading Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 15/21] net/cpfl: add AVX512 data path for single queue model Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 16/21] net/cpfl: support timestamp offload Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 17/21] net/cpfl: add AVX512 data path for split queue model Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 18/21] net/cpfl: add HW statistics Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 19/21] net/cpfl: add RSS set/get ops Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 20/21] net/cpfl: support scalar scatter Rx datapath for single queue model Mingxia Liu
2023-02-09  8:45       ` [PATCH v5 21/21] net/cpfl: add xstats ops Mingxia Liu
2023-02-09 16:47       ` [PATCH v5 00/21] add support for cpfl PMD in DPDK Stephen Hemminger
2023-02-13  1:37         ` Liu, Mingxia
2023-02-13  2:19       ` [PATCH v6 " Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 01/21] net/cpfl: support device initialization Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 02/21] net/cpfl: add Tx queue setup Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 03/21] net/cpfl: add Rx " Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 04/21] net/cpfl: support device start and stop Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 05/21] net/cpfl: support queue start Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 06/21] net/cpfl: support queue stop Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 07/21] net/cpfl: support queue release Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 08/21] net/cpfl: support MTU configuration Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 09/21] net/cpfl: support basic Rx data path Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 10/21] net/cpfl: support basic Tx " Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 11/21] net/cpfl: support write back based on ITR expire Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 12/21] net/cpfl: support RSS Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 13/21] net/cpfl: support Rx offloading Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 14/21] net/cpfl: support Tx offloading Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 15/21] net/cpfl: add AVX512 data path for single queue model Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 16/21] net/cpfl: support timestamp offload Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 17/21] net/cpfl: add AVX512 data path for split queue model Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 18/21] net/cpfl: add HW statistics Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 19/21] net/cpfl: add RSS set/get ops Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 20/21] net/cpfl: support scalar scatter Rx datapath for single queue model Mingxia Liu
2023-02-13  2:19         ` [PATCH v6 21/21] net/cpfl: add xstats ops Mingxia Liu
2023-02-15 14:04         ` [PATCH v6 00/21] add support for cpfl PMD in DPDK Ferruh Yigit
2023-02-16  1:16           ` Liu, Mingxia
2023-02-16  0:29         ` [PATCH v7 " Mingxia Liu
2023-02-16  0:29           ` [PATCH v7 01/21] net/cpfl: support device initialization Mingxia Liu
2023-02-27 13:46             ` Ferruh Yigit
2023-02-27 15:45               ` Thomas Monjalon
2023-02-27 23:38                 ` Ferruh Yigit
2023-02-28  2:06                 ` Liu, Mingxia
2023-02-28  9:53                   ` Ferruh Yigit
2023-02-27 21:43             ` Ferruh Yigit
2023-02-28 11:12               ` Liu, Mingxia
2023-02-28 11:34                 ` Ferruh Yigit
2023-02-16  0:29           ` [PATCH v7 02/21] net/cpfl: add Tx queue setup Mingxia Liu
2023-02-27 21:44             ` Ferruh Yigit
2023-02-28  2:40               ` Liu, Mingxia
2023-02-16  0:29           ` [PATCH v7 03/21] net/cpfl: add Rx " Mingxia Liu
2023-02-27 21:46             ` Ferruh Yigit
2023-02-28  3:03               ` Liu, Mingxia
2023-02-28 10:02                 ` Ferruh Yigit
2023-02-16  0:29           ` [PATCH v7 04/21] net/cpfl: support device start and stop Mingxia Liu
2023-02-16  0:29           ` [PATCH v7 05/21] net/cpfl: support queue start Mingxia Liu
2023-02-27 21:47             ` Ferruh Yigit
2023-02-28  3:14               ` Liu, Mingxia
2023-02-28  3:28                 ` Liu, Mingxia
2023-02-16  0:29           ` [PATCH v7 06/21] net/cpfl: support queue stop Mingxia Liu
2023-02-27 21:48             ` Ferruh Yigit
2023-02-16  0:29           ` [PATCH v7 07/21] net/cpfl: support queue release Mingxia Liu
2023-02-16  0:29           ` [PATCH v7 08/21] net/cpfl: support MTU configuration Mingxia Liu
2023-02-16  0:29           ` [PATCH v7 09/21] net/cpfl: support basic Rx data path Mingxia Liu
2023-02-16  0:29           ` [PATCH v7 10/21] net/cpfl: support basic Tx " Mingxia Liu
2023-02-16  0:30           ` [PATCH v7 11/21] net/cpfl: support write back based on ITR expire Mingxia Liu
2023-02-27 21:49             ` Ferruh Yigit
2023-02-28 11:31               ` Liu, Mingxia
2023-02-16  0:30           ` [PATCH v7 12/21] net/cpfl: support RSS Mingxia Liu
2023-02-27 21:50             ` Ferruh Yigit
2023-02-28 11:28               ` Liu, Mingxia
2023-02-28 11:34                 ` Ferruh Yigit
2023-02-16  0:30           ` [PATCH v7 13/21] net/cpfl: support Rx offloading Mingxia Liu
2023-02-27 21:50             ` Ferruh Yigit
2023-02-28  5:48               ` Liu, Mingxia
2023-02-16  0:30           ` [PATCH v7 14/21] net/cpfl: support Tx offloading Mingxia Liu
2023-02-16  0:30           ` [PATCH v7 15/21] net/cpfl: add AVX512 data path for single queue model Mingxia Liu
2023-02-27 21:51             ` Ferruh Yigit
2023-02-28  3:19               ` Liu, Mingxia
2023-02-16  0:30           ` [PATCH v7 16/21] net/cpfl: support timestamp offload Mingxia Liu
2023-02-16  0:30           ` [PATCH v7 17/21] net/cpfl: add AVX512 data path for split queue model Mingxia Liu
2023-02-27 21:52             ` Ferruh Yigit
2023-02-16  0:30           ` [PATCH v7 18/21] net/cpfl: add HW statistics Mingxia Liu
2023-02-27 21:52             ` Ferruh Yigit
2023-02-28  6:46               ` Liu, Mingxia
2023-02-28 10:01                 ` Ferruh Yigit
2023-02-28 11:47                   ` Liu, Mingxia
2023-02-28 12:04                     ` Ferruh Yigit
2023-02-28 12:12                       ` Bruce Richardson
2023-02-28 12:24                         ` Ferruh Yigit
2023-02-28 12:33                           ` Ferruh Yigit
2023-02-28 13:29                             ` Zhang, Qi Z
2023-02-28 13:34                               ` Ferruh Yigit
2023-02-28 14:04                                 ` Zhang, Qi Z
2023-02-28 14:24                                 ` Bruce Richardson
2023-02-28 16:14                                   ` Ferruh Yigit
2023-02-16  0:30           ` [PATCH v7 19/21] net/cpfl: add RSS set/get ops Mingxia Liu
2023-02-16  0:30           ` [PATCH v7 20/21] net/cpfl: support scalar scatter Rx datapath for single queue model Mingxia Liu
2023-02-16  0:30           ` [PATCH v7 21/21] net/cpfl: add xstats ops Mingxia Liu
2023-02-27 21:52             ` Ferruh Yigit
2023-02-28  5:28               ` Liu, Mingxia
2023-02-28  5:54               ` Liu, Mingxia
2023-02-27 21:43           ` [PATCH v7 00/21] add support for cpfl PMD in DPDK Ferruh Yigit
2023-02-28  1:44             ` Zhang, Qi Z
2023-03-02 10:35           ` [PATCH v8 " Mingxia Liu
2023-03-02 10:35             ` [PATCH v8 01/21] net/cpfl: support device initialization Mingxia Liu
2023-03-02  9:31               ` Ferruh Yigit
2023-03-02 11:24                 ` Liu, Mingxia
2023-03-02 11:51                   ` Ferruh Yigit
2023-03-02 12:08                     ` Xing, Beilei
2023-03-02 13:11                     ` Liu, Mingxia
2023-03-02 12:08                 ` Xing, Beilei
2023-03-02 10:35             ` [PATCH v8 02/21] net/cpfl: add Tx queue setup Mingxia Liu
2023-03-02 10:35             ` Mingxia Liu [this message]
2023-03-02 10:35             ` [PATCH v8 04/21] net/cpfl: support device start and stop Mingxia Liu
2023-03-02 10:35             ` [PATCH v8 05/21] net/cpfl: support queue start Mingxia Liu
2023-03-02 10:35             ` [PATCH v8 06/21] net/cpfl: support queue stop Mingxia Liu
2023-03-02 10:35             ` [PATCH v8 07/21] net/cpfl: support queue release Mingxia Liu
2023-03-02 10:35             ` [PATCH v8 08/21] net/cpfl: support MTU configuration Mingxia Liu
2023-03-02 10:35             ` [PATCH v8 09/21] net/cpfl: support basic Rx data path Mingxia Liu
2023-03-02 10:35             ` [PATCH v8 10/21] net/cpfl: support basic Tx " Mingxia Liu
2023-03-02 10:35             ` [PATCH v8 11/21] net/cpfl: support write back based on ITR expire Mingxia Liu
2023-03-02 10:35             ` [PATCH v8 12/21] net/cpfl: support RSS Mingxia Liu
2023-03-02 10:35             ` [PATCH v8 13/21] net/cpfl: support Rx offloading Mingxia Liu
2023-03-02 10:35             ` [PATCH v8 14/21] net/cpfl: support Tx offloading Mingxia Liu
2023-03-02 10:35             ` [PATCH v8 15/21] net/cpfl: add AVX512 data path for single queue model Mingxia Liu
2023-03-02 10:35             ` [PATCH v8 16/21] net/cpfl: support timestamp offload Mingxia Liu
2023-03-02 10:35             ` [PATCH v8 17/21] net/cpfl: add AVX512 data path for split queue model Mingxia Liu
2023-03-02 10:35             ` [PATCH v8 18/21] net/cpfl: add HW statistics Mingxia Liu
2023-03-02 10:35             ` [PATCH v8 19/21] net/cpfl: add RSS set/get ops Mingxia Liu
2023-03-02 10:35             ` [PATCH v8 20/21] net/cpfl: support scalar scatter Rx datapath for single queue model Mingxia Liu
2023-03-02 10:35             ` [PATCH v8 21/21] net/cpfl: add xstats ops Mingxia Liu
2023-03-02  9:30               ` Ferruh Yigit
2023-03-02 11:19                 ` Liu, Mingxia
2023-03-02 21:20             ` [PATCH v9 00/21] add support for cpfl PMD in DPDK Mingxia Liu
2023-03-02 15:06               ` Ferruh Yigit
2023-03-02 21:20               ` [PATCH v9 01/21] net/cpfl: support device initialization Mingxia Liu
2023-03-07 14:11                 ` Ferruh Yigit
2023-03-07 15:03                   ` Ferruh Yigit
2023-03-08 17:03                     ` Ferruh Yigit
2023-03-09  0:59                       ` Liu, Mingxia
2023-03-09  1:42                     ` Liu, Mingxia
2023-03-02 21:20               ` [PATCH v9 02/21] net/cpfl: add Tx queue setup Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 03/21] net/cpfl: add Rx " Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 04/21] net/cpfl: support device start and stop Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 05/21] net/cpfl: support queue start Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 06/21] net/cpfl: support queue stop Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 07/21] net/cpfl: support queue release Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 08/21] net/cpfl: support MTU configuration Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 09/21] net/cpfl: support basic Rx data path Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 10/21] net/cpfl: support basic Tx " Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 11/21] net/cpfl: support write back based on ITR expire Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 12/21] net/cpfl: support RSS Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 13/21] net/cpfl: support Rx offloading Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 14/21] net/cpfl: support Tx offloading Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 15/21] net/cpfl: add AVX512 data path for single queue model Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 16/21] net/cpfl: support timestamp offload Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 17/21] net/cpfl: add AVX512 data path for split queue model Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 18/21] net/cpfl: add HW statistics Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 19/21] net/cpfl: add RSS set/get ops Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 20/21] net/cpfl: support scalar scatter Rx datapath for single queue model Mingxia Liu
2023-03-02 21:20               ` [PATCH v9 21/21] net/cpfl: add xstats ops Mingxia Liu

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=20230302103527.931071-4-mingxia.liu@intel.com \
    --to=mingxia.liu@intel.com \
    --cc=beilei.xing@intel.com \
    --cc=dev@dpdk.org \
    --cc=yuying.zhang@intel.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).