bus/dpaa: update platform SoC value register routines
This patch update the logic and expose the soc value register, so that it can be used by other modules as well. Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
This commit is contained in:
parent
a8e78906af
commit
3b59b73dea
@ -51,6 +51,8 @@ struct netcfg_info *dpaa_netcfg;
|
||||
/* define a variable to hold the portal_key, once created.*/
|
||||
pthread_key_t dpaa_portal_key;
|
||||
|
||||
unsigned int dpaa_svr_family;
|
||||
|
||||
RTE_DEFINE_PER_LCORE(bool, _dpaa_io);
|
||||
|
||||
static inline void
|
||||
@ -417,6 +419,8 @@ rte_dpaa_bus_probe(void)
|
||||
int ret = -1;
|
||||
struct rte_dpaa_device *dev;
|
||||
struct rte_dpaa_driver *drv;
|
||||
FILE *svr_file = NULL;
|
||||
unsigned int svr_ver;
|
||||
|
||||
BUS_INIT_FUNC_TRACE();
|
||||
|
||||
@ -436,6 +440,14 @@ rte_dpaa_bus_probe(void)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
svr_file = fopen(DPAA_SOC_ID_FILE, "r");
|
||||
if (svr_file) {
|
||||
if (fscanf(svr_file, "svr:%x", &svr_ver) > 0)
|
||||
dpaa_svr_family = svr_ver & SVR_MASK;
|
||||
fclose(svr_file);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -64,3 +64,11 @@ DPDK_17.11 {
|
||||
|
||||
local: *;
|
||||
};
|
||||
|
||||
DPDK_18.02 {
|
||||
global:
|
||||
|
||||
dpaa_svr_family;
|
||||
|
||||
local: *;
|
||||
} DPDK_17.11;
|
||||
|
@ -20,6 +20,17 @@
|
||||
#define DEV_TO_DPAA_DEVICE(ptr) \
|
||||
container_of(ptr, struct rte_dpaa_device, device)
|
||||
|
||||
/* 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 SVR_LS1043A_FAMILY 0x87920000
|
||||
#define SVR_LS1046A_FAMILY 0x87070000
|
||||
#define SVR_MASK 0xffff0000
|
||||
|
||||
extern unsigned int dpaa_svr_family;
|
||||
|
||||
struct rte_dpaa_device;
|
||||
struct rte_dpaa_driver;
|
||||
|
||||
|
@ -186,7 +186,9 @@ dpaa_fw_version_get(struct rte_eth_dev *dev __rte_unused,
|
||||
DPAA_PMD_ERR("Unable to open SoC device");
|
||||
return -ENOTSUP; /* Not supported on this infra */
|
||||
}
|
||||
if (fscanf(svr_file, "svr:%x", &svr_ver) <= 0)
|
||||
if (fscanf(svr_file, "svr:%x", &svr_ver) > 0)
|
||||
dpaa_svr_family = svr_ver & SVR_MASK;
|
||||
else
|
||||
DPAA_PMD_ERR("Unable to read SoC device");
|
||||
|
||||
fclose(svr_file);
|
||||
|
@ -17,11 +17,6 @@
|
||||
#include <of.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_FD_PTA_SIZE 64
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user