[PATCH v10 04/14] net/cpfl: support hairpin queue capbility get
beilei.xing at intel.com
beilei.xing at intel.com
Tue Jun 6 12:03:14 CEST 2023
From: Beilei Xing <beilei.xing at intel.com>
This patch adds hairpin_cap_get ops support.
Signed-off-by: Xiao Wang <xiao.w.wang at intel.com>
Signed-off-by: Mingxia Liu <mingxia.liu at intel.com>
Signed-off-by: Beilei Xing <beilei.xing at intel.com>
---
drivers/net/cpfl/cpfl_ethdev.c | 18 ++++++++++++++++++
drivers/net/cpfl/cpfl_rxtx.h | 3 +++
2 files changed, 21 insertions(+)
diff --git a/drivers/net/cpfl/cpfl_ethdev.c b/drivers/net/cpfl/cpfl_ethdev.c
index 29d0375ecd..7c6174fec0 100644
--- a/drivers/net/cpfl/cpfl_ethdev.c
+++ b/drivers/net/cpfl/cpfl_ethdev.c
@@ -154,6 +154,23 @@ cpfl_dev_link_update(struct rte_eth_dev *dev,
return rte_eth_linkstatus_set(dev, &new_link);
}
+static int
+cpfl_hairpin_cap_get(struct rte_eth_dev *dev,
+ struct rte_eth_hairpin_cap *cap)
+{
+ struct cpfl_vport *cpfl_vport = dev->data->dev_private;
+
+ if (cpfl_vport->p2p_q_chunks_info == NULL)
+ return -ENOTSUP;
+
+ cap->max_nb_queues = CPFL_MAX_P2P_NB_QUEUES;
+ cap->max_rx_2_tx = CPFL_MAX_HAIRPINQ_RX_2_TX;
+ cap->max_tx_2_rx = CPFL_MAX_HAIRPINQ_TX_2_RX;
+ cap->max_nb_desc = CPFL_MAX_HAIRPINQ_NB_DESC;
+
+ return 0;
+}
+
static int
cpfl_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
{
@@ -905,6 +922,7 @@ static const struct eth_dev_ops cpfl_eth_dev_ops = {
.xstats_get = cpfl_dev_xstats_get,
.xstats_get_names = cpfl_dev_xstats_get_names,
.xstats_reset = cpfl_dev_xstats_reset,
+ .hairpin_cap_get = cpfl_hairpin_cap_get,
};
static int
diff --git a/drivers/net/cpfl/cpfl_rxtx.h b/drivers/net/cpfl/cpfl_rxtx.h
index 1fe65778f0..a4a164d462 100644
--- a/drivers/net/cpfl/cpfl_rxtx.h
+++ b/drivers/net/cpfl/cpfl_rxtx.h
@@ -14,6 +14,9 @@
#define CPFL_MAX_RING_DESC 4096
#define CPFL_DMA_MEM_ALIGN 4096
+#define CPFL_MAX_HAIRPINQ_RX_2_TX 1
+#define CPFL_MAX_HAIRPINQ_TX_2_RX 1
+#define CPFL_MAX_HAIRPINQ_NB_DESC 1024
#define CPFL_MAX_P2P_NB_QUEUES 16
#define CPFL_P2P_NB_RX_BUFQ 1
#define CPFL_P2P_NB_TX_COMPLQ 1
--
2.26.2
More information about the dev
mailing list