[v1,1/1] mldev: support get queue pair count

Message ID 20240731061336.8385-1-syalavarthi@marvell.com (mailing list archive)
State New
Delegated to: Thomas Monjalon
Headers
Series [v1,1/1] mldev: support get queue pair count |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/github-robot: build success github build: passed
ci/intel-Functional success Functional PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-marvell-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-unit-arm64-testing success Testing PASS
ci/iol-unit-amd64-testing success Testing PASS
ci/iol-compile-arm64-testing success Testing PASS
ci/iol-compile-amd64-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-sample-apps-testing success Testing PASS

Commit Message

Srikanth Yalavarthi July 31, 2024, 6:13 a.m. UTC
Added API to get ML device queue-pair count.

Signed-off-by: Srikanth Yalavarthi <syalavarthi@marvell.com>
---
 lib/mldev/rte_mldev.c | 15 +++++++++++++++
 lib/mldev/rte_mldev.h | 13 +++++++++++++
 lib/mldev/version.map |  1 +
 3 files changed, 29 insertions(+)
  

Patch

diff --git a/lib/mldev/rte_mldev.c b/lib/mldev/rte_mldev.c
index 196b1850e65..37d71aebc92 100644
--- a/lib/mldev/rte_mldev.c
+++ b/lib/mldev/rte_mldev.c
@@ -365,6 +365,21 @@  rte_ml_dev_stop(int16_t dev_id)
 	return ret;
 }
 
+uint16_t
+rte_ml_dev_queue_pair_count(int16_t dev_id)
+{
+	struct rte_ml_dev *dev;
+
+	if (!rte_ml_dev_is_valid_dev(dev_id)) {
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
+		return -EINVAL;
+	}
+
+	dev = rte_ml_dev_pmd_get_dev(dev_id);
+
+	return dev->data->nb_queue_pairs;
+}
+
 int
 rte_ml_dev_queue_pair_setup(int16_t dev_id, uint16_t queue_pair_id,
 			    const struct rte_ml_dev_qp_conf *qp_conf, int socket_id)
diff --git a/lib/mldev/rte_mldev.h b/lib/mldev/rte_mldev.h
index 634af3d5e1a..767f8c2593b 100644
--- a/lib/mldev/rte_mldev.h
+++ b/lib/mldev/rte_mldev.h
@@ -317,6 +317,19 @@  struct rte_ml_dev_qp_conf {
 	 */
 };
 
+/**
+ * Get the number of queue pairs on a specific ML device.
+ *
+ * @param dev_id
+ *   The identifier of the device.
+ *
+ * @return
+ *   - The number of configured queue pairs.
+ */
+__rte_experimental
+uint16_t
+rte_ml_dev_queue_pair_count(int16_t dev_id);
+
 /**
  * Set up a queue pair for a device. This should only be called when the device is stopped.
  *
diff --git a/lib/mldev/version.map b/lib/mldev/version.map
index 84bdd6c3004..acf6395b4aa 100644
--- a/lib/mldev/version.map
+++ b/lib/mldev/version.map
@@ -11,6 +11,7 @@  EXPERIMENTAL {
 	rte_ml_dev_init;
 	rte_ml_dev_is_valid_dev;
 	rte_ml_dev_logtype;
+	rte_ml_dev_queue_pair_count;
 	rte_ml_dev_queue_pair_setup;
 	rte_ml_dev_selftest;
 	rte_ml_dev_socket_id;