From: Ioana Ciornei <ioana.cior...@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.cior...@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 91e08f4a1f..93905921b1 100644 --- a/.mailmap +++ b/.mailmap @@ -606,6 +606,7 @@ Ilya Maximets <i.maxim...@ovn.org> <i.maxim...@samsung.com> Ilya V. Matveychikov <matvejchi...@gmail.com> Ilyes Ben Hamouda <ilyes.ben_hamo...@6wind.com> Intiyaz Basha <intiyaz.ba...@caviumnetworks.com> +Ioana Ciornei <ioana.cior...@nxp.com> Isaac Boukris <ibouk...@gmail.com> Itamar Gozlan <igoz...@nvidia.com> Itsuro Oda <o...@valinux.co.jp> diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c index 298fded65e..b88c9d748a 100644 --- a/drivers/net/dpaa2/dpaa2_ethdev.c +++ b/drivers/net/dpaa2/dpaa2_ethdev.c @@ -2814,6 +2814,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 570b1608a0..ee5ae3b70a 100644 --- a/drivers/net/dpaa2/dpaa2_ethdev.h +++ b/drivers/net/dpaa2/dpaa2_ethdev.h @@ -394,6 +394,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