[PATCH v8 4/5] net/dpaa2: retrieve DPNI API version at init time
Gagandeep Singh
g.singh at nxp.com
Wed Jul 2 11:51:43 CEST 2025
From: Ioana Ciornei <ioana.ciornei at nxp.com>
The list of availabla DPNI APIs depends on the DPNI API version
available on a system. Retrieve the API version in the init stage and
store it in the private structure so that it can be used at a later
stage.
Signed-off-by: Ioana Ciornei <ioana.ciornei at nxp.com>
---
.mailmap | 1 +
drivers/net/dpaa2/dpaa2_ethdev.c | 8 ++++++++
drivers/net/dpaa2/dpaa2_ethdev.h | 3 +++
3 files changed, 12 insertions(+)
diff --git a/.mailmap b/.mailmap
index 8e898e303e..741c14426c 100644
--- a/.mailmap
+++ b/.mailmap
@@ -611,6 +611,7 @@ Ilya Maximets <i.maximets at ovn.org> <i.maximets at samsung.com>
Ilya V. Matveychikov <matvejchikov at gmail.com>
Ilyes Ben Hamouda <ilyes.ben_hamouda at 6wind.com>
Intiyaz Basha <intiyaz.basha at caviumnetworks.com>
+Ioana Ciornei <ioana.ciornei at nxp.com>
Isaac Boukris <iboukris at gmail.com>
Itamar Gozlan <igozlan at nvidia.com>
Itsuro Oda <oda at valinux.co.jp>
diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
index 1d11847d76..384f72d663 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.c
+++ b/drivers/net/dpaa2/dpaa2_ethdev.c
@@ -2658,6 +2658,14 @@ dpaa2_dev_init(struct rte_eth_dev *eth_dev)
goto init_err;
}
+ ret = dpni_get_api_version(dpni_dev, CMD_PRI_LOW, &priv->dpni_ver_major,
+ &priv->dpni_ver_minor);
+ if (ret) {
+ DPAA2_PMD_ERR("Failure in get dpni@%d API version, err code %d",
+ hw_id, ret);
+ goto init_err;
+ }
+
priv->num_rx_tc = attr.num_rx_tcs;
priv->num_tx_tc = attr.num_tx_tcs;
priv->qos_entries = attr.qos_entries;
diff --git a/drivers/net/dpaa2/dpaa2_ethdev.h b/drivers/net/dpaa2/dpaa2_ethdev.h
index b501fc091a..ffc9ebadb8 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.h
+++ b/drivers/net/dpaa2/dpaa2_ethdev.h
@@ -392,6 +392,9 @@ struct dpaa2_dev_priv {
uint8_t max_cgs;
uint8_t cgid_in_use[MAX_RX_QUEUES];
+ uint16_t dpni_ver_major;
+ uint16_t dpni_ver_minor;
+
enum rte_dpaa2_dev_type ep_dev_type; /**< Endpoint Device Type */
uint16_t ep_object_id; /**< Endpoint DPAA2 Object ID */
char ep_name[RTE_DEV_NAME_MAX_LEN];
--
2.25.1
More information about the dev
mailing list