Added API to get ML device queue-pair count.

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

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;
-- 
2.45.1

Reply via email to