bus/fslmc: use iova2virt instead of memseg iteration
Reduce dependency on internal details of EAL memory subsystem, and simplify code. Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Tested-by: Santosh Shukla <santosh.shukla@caviumnetworks.com> Tested-by: Hemant Agrawal <hemant.agrawal@nxp.com> Tested-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
This commit is contained in:
parent
982aa8af52
commit
00bc40e265
@ -260,21 +260,10 @@ static void *dpaa2_mem_ptov(phys_addr_t paddr) __attribute__((unused));
|
||||
/* todo - this is costly, need to write a fast coversion routine */
|
||||
static void *dpaa2_mem_ptov(phys_addr_t paddr)
|
||||
{
|
||||
const struct rte_memseg *memseg;
|
||||
int i;
|
||||
|
||||
if (dpaa2_virt_mode)
|
||||
return (void *)(size_t)paddr;
|
||||
|
||||
memseg = rte_eal_get_physmem_layout();
|
||||
|
||||
for (i = 0; i < RTE_MAX_MEMSEG && memseg[i].addr_64 != 0; i++) {
|
||||
if (paddr >= memseg[i].iova &&
|
||||
paddr < memseg[i].iova + memseg[i].len)
|
||||
return (void *)(size_t)(memseg[i].addr_64
|
||||
+ (paddr - memseg[i].iova));
|
||||
}
|
||||
return NULL;
|
||||
return rte_mem_iova2virt(paddr);
|
||||
}
|
||||
|
||||
static phys_addr_t dpaa2_mem_vtop(uint64_t vaddr) __attribute__((unused));
|
||||
|
@ -28,6 +28,9 @@ EXPORT_MAP := rte_pmd_dpaa2_event_version.map
|
||||
|
||||
LIBABIVER := 1
|
||||
|
||||
# depends on fslmc bus which uses experimental API
|
||||
CFLAGS += -DALLOW_EXPERIMENTAL_API
|
||||
|
||||
#
|
||||
# all source are stored in SRCS-y
|
||||
#
|
||||
|
@ -21,6 +21,9 @@ EXPORT_MAP := rte_mempool_dpaa2_version.map
|
||||
# Lbrary version
|
||||
LIBABIVER := 1
|
||||
|
||||
# depends on fslmc bus which uses experimental API
|
||||
CFLAGS += -DALLOW_EXPERIMENTAL_API
|
||||
|
||||
# all source are stored in SRCS-y
|
||||
#
|
||||
SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += dpaa2_hw_mempool.c
|
||||
|
@ -7,3 +7,6 @@ endif
|
||||
|
||||
deps += ['mbuf', 'bus_fslmc']
|
||||
sources = files('dpaa2_hw_mempool.c')
|
||||
|
||||
# depends on fslmc bus which uses experimental API
|
||||
allow_experimental_apis = true
|
||||
|
@ -27,6 +27,9 @@ EXPORT_MAP := rte_pmd_dpaa2_version.map
|
||||
# library version
|
||||
LIBABIVER := 1
|
||||
|
||||
# depends on fslmc bus which uses experimental API
|
||||
CFLAGS += -DALLOW_EXPERIMENTAL_API
|
||||
|
||||
SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += base/dpaa2_hw_dpni.c
|
||||
SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_rxtx.c
|
||||
SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_ethdev.c
|
||||
|
@ -13,3 +13,6 @@ sources = files('base/dpaa2_hw_dpni.c',
|
||||
'mc/dpni.c')
|
||||
|
||||
includes += include_directories('base', 'mc')
|
||||
|
||||
# depends on fslmc bus which uses experimental API
|
||||
allow_experimental_apis = true
|
||||
|
Loading…
x
Reference in New Issue
Block a user