common/cnxk: allow building for generic arm64
Allow building generic arm64 target using config/arm/arm64_armv8_linux_* config which works on both cn9k and cn10k by relaxing cache line size requirements a bit. While at it move cache line checks to common place. Signed-off-by: Tomasz Duszynski <tduszynski@marvell.com> Reviewed-by: Jerin Jacob <jerinj@marvell.com>
This commit is contained in:
parent
f434288d31
commit
b38db1bfb9
@ -1094,6 +1094,29 @@ dev_lmt_setup(struct dev *dev)
|
||||
return -errno;
|
||||
}
|
||||
|
||||
static bool
|
||||
dev_cache_line_size_valid(void)
|
||||
{
|
||||
if (roc_model_is_cn9k()) {
|
||||
if (PLT_CACHE_LINE_SIZE != 128) {
|
||||
plt_err("Cache line size of %d is wrong for CN9K",
|
||||
PLT_CACHE_LINE_SIZE);
|
||||
return false;
|
||||
}
|
||||
} else if (roc_model_is_cn10k()) {
|
||||
if (PLT_CACHE_LINE_SIZE == 128) {
|
||||
plt_warn("Cache line size of %d might affect performance",
|
||||
PLT_CACHE_LINE_SIZE);
|
||||
} else if (PLT_CACHE_LINE_SIZE != 64) {
|
||||
plt_err("Cache line size of %d is wrong for CN10K",
|
||||
PLT_CACHE_LINE_SIZE);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
int
|
||||
dev_init(struct dev *dev, struct plt_pci_device *pci_dev)
|
||||
{
|
||||
@ -1102,6 +1125,9 @@ dev_init(struct dev *dev, struct plt_pci_device *pci_dev)
|
||||
uintptr_t vf_mbase = 0;
|
||||
uint64_t intr_offset;
|
||||
|
||||
if (!dev_cache_line_size_valid())
|
||||
return -EFAULT;
|
||||
|
||||
bar2 = (uintptr_t)pci_dev->mem_resource[2].addr;
|
||||
bar4 = (uintptr_t)pci_dev->mem_resource[4].addr;
|
||||
if (bar2 == 0 || bar4 == 0) {
|
||||
|
@ -963,11 +963,6 @@ cn10k_sso_init(struct rte_eventdev *event_dev)
|
||||
struct cnxk_sso_evdev *dev = cnxk_sso_pmd_priv(event_dev);
|
||||
int rc;
|
||||
|
||||
if (RTE_CACHE_LINE_SIZE != 64) {
|
||||
plt_err("Driver not compiled for CN10K");
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
rc = roc_plt_init();
|
||||
if (rc < 0) {
|
||||
plt_err("Failed to initialize platform model");
|
||||
|
@ -1193,11 +1193,6 @@ cn9k_sso_init(struct rte_eventdev *event_dev)
|
||||
struct cnxk_sso_evdev *dev = cnxk_sso_pmd_priv(event_dev);
|
||||
int rc;
|
||||
|
||||
if (RTE_CACHE_LINE_SIZE != 128) {
|
||||
plt_err("Driver not compiled for CN9K");
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
rc = roc_plt_init();
|
||||
if (rc < 0) {
|
||||
plt_err("Failed to initialize platform model");
|
||||
|
@ -759,11 +759,6 @@ cn10k_nix_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
|
||||
struct cnxk_eth_dev *dev;
|
||||
int rc;
|
||||
|
||||
if (RTE_CACHE_LINE_SIZE != 64) {
|
||||
plt_err("Driver not compiled for CN10K");
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
rc = roc_plt_init();
|
||||
if (rc) {
|
||||
plt_err("Failed to initialize platform model, rc=%d", rc);
|
||||
|
@ -689,11 +689,6 @@ cn9k_nix_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
|
||||
struct cnxk_eth_dev *dev;
|
||||
int rc;
|
||||
|
||||
if (RTE_CACHE_LINE_SIZE != 128) {
|
||||
plt_err("Driver not compiled for CN9K");
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
rc = roc_plt_init();
|
||||
if (rc) {
|
||||
plt_err("Failed to initialize platform model, rc=%d", rc);
|
||||
|
Loading…
Reference in New Issue
Block a user