bus/dpaa: 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
eca28edd98
commit
982aa8af52
@ -98,17 +98,7 @@ struct dpaa_portal {
|
||||
/* TODO - this is costly, need to write a fast coversion routine */
|
||||
static inline void *rte_dpaa_mem_ptov(phys_addr_t paddr)
|
||||
{
|
||||
const struct rte_memseg *memseg = rte_eal_get_physmem_layout();
|
||||
int i;
|
||||
|
||||
for (i = 0; i < RTE_MAX_MEMSEG && memseg[i].addr != NULL; i++) {
|
||||
if (paddr >= memseg[i].iova && paddr <
|
||||
memseg[i].iova + memseg[i].len)
|
||||
return (uint8_t *)(memseg[i].addr) +
|
||||
(paddr - memseg[i].iova);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
return rte_mem_iova2virt(paddr);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -22,6 +22,9 @@ EXPORT_MAP := rte_mempool_dpaa_version.map
|
||||
# Lbrary version
|
||||
LIBABIVER := 1
|
||||
|
||||
# depends on dpaa bus which uses experimental API
|
||||
CFLAGS += -DALLOW_EXPERIMENTAL_API
|
||||
|
||||
# all source are stored in SRCS-y
|
||||
#
|
||||
SRCS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += dpaa_mempool.c
|
||||
|
@ -7,3 +7,6 @@ endif
|
||||
|
||||
deps += ['bus_dpaa']
|
||||
sources = files('dpaa_mempool.c')
|
||||
|
||||
# depends on dpaa bus which uses experimental API
|
||||
allow_experimental_apis = true
|
||||
|
@ -27,6 +27,9 @@ EXPORT_MAP := rte_pmd_dpaa_version.map
|
||||
|
||||
LIBABIVER := 1
|
||||
|
||||
# depends on dpaa bus which uses experimental API
|
||||
CFLAGS += -DALLOW_EXPERIMENTAL_API
|
||||
|
||||
# Interfaces with DPDK
|
||||
SRCS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += dpaa_ethdev.c
|
||||
SRCS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += dpaa_rxtx.c
|
||||
|
Loading…
x
Reference in New Issue
Block a user