| 807 | } |
| 808 | |
| 809 | int |
| 810 | rte_dev_dma_map(struct rte_device *dev, void *addr, uint64_t iova, |
| 811 | size_t len) |
| 812 | { |
| 813 | if (dev->bus->dma_map == NULL || len == 0) { |
| 814 | rte_errno = ENOTSUP; |
| 815 | return -1; |
| 816 | } |
| 817 | /* Memory must be registered through rte_extmem_* APIs */ |
| 818 | if (rte_mem_virt2memseg_list(addr) == NULL) { |
| 819 | rte_errno = EINVAL; |
| 820 | return -1; |
| 821 | } |
| 822 | |
| 823 | return dev->bus->dma_map(dev, addr, iova, len); |
| 824 | } |
| 825 | |
| 826 | int |
| 827 | rte_dev_dma_unmap(struct rte_device *dev, void *addr, uint64_t iova, |