[v2,27/32] net/sssnic: support dev queue info get

Message ID 20230831095650.219964-28-wanry@3snic.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series Introduce sssnic PMD for 3SNIC's 9x0 serials Ethernet adapters |

Checks

Context Check Description
ci/checkpatch warning coding style issues

Commit Message

Renyong Wan Aug. 31, 2023, 9:56 a.m. UTC
  From: Renyong Wan <wanry@3snic.com>

Signed-off-by: Steven Song <steven.song@3snic.com>
Signed-off-by: Renyong Wan <wanry@3snic.com>
---
 drivers/net/sssnic/sssnic_ethdev.c    |  2 ++
 drivers/net/sssnic/sssnic_ethdev_rx.c | 13 +++++++++++++
 drivers/net/sssnic/sssnic_ethdev_rx.h |  2 ++
 drivers/net/sssnic/sssnic_ethdev_tx.c | 11 +++++++++++
 drivers/net/sssnic/sssnic_ethdev_tx.h |  2 ++
 5 files changed, 30 insertions(+)
  

Patch

diff --git a/drivers/net/sssnic/sssnic_ethdev.c b/drivers/net/sssnic/sssnic_ethdev.c
index b086e91d2d..bde8d89ddc 100644
--- a/drivers/net/sssnic/sssnic_ethdev.c
+++ b/drivers/net/sssnic/sssnic_ethdev.c
@@ -777,6 +777,8 @@  static const struct eth_dev_ops sssnic_ethdev_ops = {
 	.reta_update = sssnic_ethdev_rss_reta_update,
 	.reta_query = sssnic_ethdev_rss_reta_query,
 	.mtu_set = sssnic_ethdev_mtu_set,
+	.rxq_info_get = sssnic_ethdev_rx_queue_info_get,
+	.txq_info_get = sssnic_ethdev_tx_queue_info_get,
 };
 
 static int
diff --git a/drivers/net/sssnic/sssnic_ethdev_rx.c b/drivers/net/sssnic/sssnic_ethdev_rx.c
index 2874a93a54..6c5f209262 100644
--- a/drivers/net/sssnic/sssnic_ethdev_rx.c
+++ b/drivers/net/sssnic/sssnic_ethdev_rx.c
@@ -1363,3 +1363,16 @@  sssnic_ethdev_rx_pkt_burst(void *rx_queue, struct rte_mbuf **rx_pkts,
 
 	return nb_rx;
 }
+
+void
+sssnic_ethdev_rx_queue_info_get(struct rte_eth_dev *ethdev,
+	uint16_t rx_queue_id, struct rte_eth_rxq_info *qinfo)
+{
+	struct sssnic_ethdev_rxq *rxq = ethdev->data->rx_queues[rx_queue_id];
+
+	qinfo->rx_buf_size = rxq->rx_buf_size;
+	qinfo->nb_desc = rxq->depth;
+	qinfo->queue_state = ethdev->data->rx_queue_state[rx_queue_id];
+	qinfo->mp = rxq->mp;
+	qinfo->conf.rx_free_thresh = rxq->rx_free_thresh;
+}
diff --git a/drivers/net/sssnic/sssnic_ethdev_rx.h b/drivers/net/sssnic/sssnic_ethdev_rx.h
index b0b35dee73..20e4d1ac0e 100644
--- a/drivers/net/sssnic/sssnic_ethdev_rx.h
+++ b/drivers/net/sssnic/sssnic_ethdev_rx.h
@@ -44,5 +44,7 @@  void sssnic_ethdev_rx_queue_stats_clear(struct rte_eth_dev *ethdev,
 	uint16_t qid);
 uint16_t sssnic_ethdev_rx_pkt_burst(void *rx_queue, struct rte_mbuf **rx_pkts,
 	uint16_t nb_pkts);
+void sssnic_ethdev_rx_queue_info_get(struct rte_eth_dev *ethdev,
+	uint16_t rx_queue_id, struct rte_eth_rxq_info *qinfo);
 
 #endif
diff --git a/drivers/net/sssnic/sssnic_ethdev_tx.c b/drivers/net/sssnic/sssnic_ethdev_tx.c
index 6fed0a85c2..cc0de9aa50 100644
--- a/drivers/net/sssnic/sssnic_ethdev_tx.c
+++ b/drivers/net/sssnic/sssnic_ethdev_tx.c
@@ -1110,3 +1110,14 @@  sssnic_ethdev_tx_pkt_burst(void *tx_queue, struct rte_mbuf **tx_pkts,
 
 	return nb_tx;
 }
+
+void
+sssnic_ethdev_tx_queue_info_get(struct rte_eth_dev *ethdev,
+	uint16_t tx_queue_id, struct rte_eth_txq_info *qinfo)
+{
+	struct sssnic_ethdev_txq *txq = ethdev->data->tx_queues[tx_queue_id];
+
+	qinfo->nb_desc = txq->depth;
+	qinfo->queue_state = ethdev->data->tx_queue_state[tx_queue_id];
+	qinfo->conf.tx_free_thresh = txq->tx_free_thresh;
+}
diff --git a/drivers/net/sssnic/sssnic_ethdev_tx.h b/drivers/net/sssnic/sssnic_ethdev_tx.h
index 3a7cd47080..6130ade4d1 100644
--- a/drivers/net/sssnic/sssnic_ethdev_tx.h
+++ b/drivers/net/sssnic/sssnic_ethdev_tx.h
@@ -39,5 +39,7 @@  void sssnic_ethdev_tx_queue_stats_clear(struct rte_eth_dev *ethdev,
 	uint16_t qid);
 uint16_t sssnic_ethdev_tx_pkt_burst(void *tx_queue, struct rte_mbuf **tx_pkts,
 	uint16_t nb_pkts);
+void sssnic_ethdev_tx_queue_info_get(struct rte_eth_dev *ethdev,
+	uint16_t tx_queue_id, struct rte_eth_txq_info *qinfo);
 
 #endif /* _SSSNIC_ETHDEV_TX_H_ */