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:
Anatoly Burakov 2018-04-11 13:30:12 +01:00 committed by Thomas Monjalon
parent eca28edd98
commit 982aa8af52
4 changed files with 10 additions and 11 deletions

View File

@ -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);
}
/**

View File

@ -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

View File

@ -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

View File

@ -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