net/dpaa2: add support for firmware version get

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
This commit is contained in:
Hemant Agrawal 2017-05-26 12:21:24 +05:30 committed by Ferruh Yigit
parent e24b05bfd2
commit 748eccb97c
2 changed files with 36 additions and 1 deletions

View File

@ -19,6 +19,7 @@ L3 checksum offload = Y
L4 checksum offload = Y
Packet type parsing = Y
Basic stats = Y
FW version = Y
Linux VFIO = Y
ARMv8 = Y
Usage doc = Y

View File

@ -50,7 +50,7 @@
#include <dpaa2_hw_pvt.h>
#include <dpaa2_hw_mempool.h>
#include <dpaa2_hw_dpio.h>
#include <mc/fsl_dpmng.h>
#include "dpaa2_ethdev.h"
static struct rte_dpaa2_driver rte_dpaa2_pmd;
@ -161,6 +161,39 @@ dpaa2_vlan_offload_set(struct rte_eth_dev *dev, int mask)
}
}
static int
dpaa2_fw_version_get(struct rte_eth_dev *dev,
char *fw_version,
size_t fw_size)
{
int ret;
struct dpaa2_dev_priv *priv = dev->data->dev_private;
struct fsl_mc_io *dpni = priv->hw;
struct mc_soc_version mc_plat_info = {0};
struct mc_version mc_ver_info = {0};
PMD_INIT_FUNC_TRACE();
if (mc_get_soc_version(dpni, CMD_PRI_LOW, &mc_plat_info))
RTE_LOG(WARNING, PMD, "\tmc_get_soc_version failed\n");
if (mc_get_version(dpni, CMD_PRI_LOW, &mc_ver_info))
RTE_LOG(WARNING, PMD, "\tmc_get_version failed\n");
ret = snprintf(fw_version, fw_size,
"%x-%d.%d.%d",
mc_plat_info.svr,
mc_ver_info.major,
mc_ver_info.minor,
mc_ver_info.revision);
ret += 1; /* add the size of '\0' */
if (fw_size < (uint32_t)ret)
return ret;
else
return 0;
}
static void
dpaa2_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
{
@ -1279,6 +1312,7 @@ static struct eth_dev_ops dpaa2_ethdev_ops = {
.link_update = dpaa2_dev_link_update,
.stats_get = dpaa2_dev_stats_get,
.stats_reset = dpaa2_dev_stats_reset,
.fw_version_get = dpaa2_fw_version_get,
.dev_infos_get = dpaa2_dev_info_get,
.dev_supported_ptypes_get = dpaa2_supported_ptypes_get,
.mtu_set = dpaa2_dev_mtu_set,