net/dpaa: support firmware version get API
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
This commit is contained in:
parent
05ba55bc2b
commit
cf0fab1d2c
@ -18,5 +18,6 @@ L3 checksum offload = Y
|
|||||||
L4 checksum offload = Y
|
L4 checksum offload = Y
|
||||||
Packet type parsing = Y
|
Packet type parsing = Y
|
||||||
Basic stats = Y
|
Basic stats = Y
|
||||||
|
FW version = Y
|
||||||
ARMv8 = Y
|
ARMv8 = Y
|
||||||
Usage doc = Y
|
Usage doc = Y
|
||||||
|
@ -164,6 +164,41 @@ static void dpaa_eth_dev_close(struct rte_eth_dev *dev)
|
|||||||
dpaa_eth_dev_stop(dev);
|
dpaa_eth_dev_stop(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
dpaa_fw_version_get(struct rte_eth_dev *dev __rte_unused,
|
||||||
|
char *fw_version,
|
||||||
|
size_t fw_size)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
FILE *svr_file = NULL;
|
||||||
|
unsigned int svr_ver = 0;
|
||||||
|
|
||||||
|
PMD_INIT_FUNC_TRACE();
|
||||||
|
|
||||||
|
svr_file = fopen(DPAA_SOC_ID_FILE, "r");
|
||||||
|
if (!svr_file) {
|
||||||
|
DPAA_PMD_ERR("Unable to open SoC device");
|
||||||
|
return -ENOTSUP; /* Not supported on this infra */
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = fscanf(svr_file, "svr:%x", &svr_ver);
|
||||||
|
if (ret <= 0) {
|
||||||
|
DPAA_PMD_ERR("Unable to read SoC device");
|
||||||
|
return -ENOTSUP; /* Not supported on this infra */
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = snprintf(fw_version, fw_size,
|
||||||
|
"svr:%x-fman-v%x",
|
||||||
|
svr_ver,
|
||||||
|
fman_ip_rev);
|
||||||
|
|
||||||
|
ret += 1; /* add the size of '\0' */
|
||||||
|
if (fw_size < (uint32_t)ret)
|
||||||
|
return ret;
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static void dpaa_eth_dev_info(struct rte_eth_dev *dev,
|
static void dpaa_eth_dev_info(struct rte_eth_dev *dev,
|
||||||
struct rte_eth_dev_info *dev_info)
|
struct rte_eth_dev_info *dev_info)
|
||||||
{
|
{
|
||||||
@ -512,6 +547,7 @@ static struct eth_dev_ops dpaa_devops = {
|
|||||||
.mac_addr_remove = dpaa_dev_remove_mac_addr,
|
.mac_addr_remove = dpaa_dev_remove_mac_addr,
|
||||||
.mac_addr_set = dpaa_dev_set_mac_addr,
|
.mac_addr_set = dpaa_dev_set_mac_addr,
|
||||||
|
|
||||||
|
.fw_version_get = dpaa_fw_version_get,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int dpaa_fc_set_default(struct dpaa_if *dpaa_intf)
|
static int dpaa_fc_set_default(struct dpaa_if *dpaa_intf)
|
||||||
|
@ -43,6 +43,11 @@
|
|||||||
#include <of.h>
|
#include <of.h>
|
||||||
#include <netcfg.h>
|
#include <netcfg.h>
|
||||||
|
|
||||||
|
/* DPAA SoC identifier; If this is not available, it can be concluded
|
||||||
|
* that board is non-DPAA. Single slot is currently supported.
|
||||||
|
*/
|
||||||
|
#define DPAA_SOC_ID_FILE "sys/devices/soc0/soc_id"
|
||||||
|
|
||||||
#define DPAA_MBUF_HW_ANNOTATION 64
|
#define DPAA_MBUF_HW_ANNOTATION 64
|
||||||
#define DPAA_FD_PTA_SIZE 64
|
#define DPAA_FD_PTA_SIZE 64
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user