const struct malloc_elem *elem = malloc_elem_from_data(addr);
if (elem == NULL)
return RTE_BAD_PHYS_ADDR;
- if (elem->ms->phys_addr == RTE_BAD_PHYS_ADDR)
- return RTE_BAD_PHYS_ADDR;
+ if (elem->ms->iova == RTE_BAD_IOVA)
+ return RTE_BAD_IOVA;
if (rte_eal_iova_mode() == RTE_IOVA_VA)
paddr = (uintptr_t)addr;
else
- paddr = elem->ms->phys_addr +
+ paddr = elem->ms->iova +
((uintptr_t)addr - (uintptr_t)elem->ms->addr);
return paddr;
}