For 32-bit builds, iova's are 64-bit still, so to ensure we can still use PA mode on 32-bit we need to convert all enqueue "void *" parameters to rte_iova_t
Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> --- lib/dmadev/rte_dmadev.h | 8 ++++---- lib/dmadev/rte_dmadev_core.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/dmadev/rte_dmadev.h b/lib/dmadev/rte_dmadev.h index f74fc6adb..1659ceaf2 100644 --- a/lib/dmadev/rte_dmadev.h +++ b/lib/dmadev/rte_dmadev.h @@ -133,8 +133,8 @@ typedef int32_t dma_cookie_t; * dma_scatterlist - can hold scatter DMA operation request */ struct dma_scatterlist { - void *src; - void *dst; + rte_iova_t src; + rte_iova_t dst; uint32_t length; }; @@ -505,7 +505,7 @@ rte_dmadev_queue_info_get(uint16_t dev_id, uint16_t vq_id, */ __rte_experimental static inline dma_cookie_t -rte_dmadev_copy(uint16_t dev_id, uint16_t vq_id, void *src, void *dst, +rte_dmadev_copy(uint16_t dev_id, uint16_t vq_id, rte_iova_t src, rte_iova_t dst, uint32_t length, uint64_t flags) { struct rte_dmadev *dev = &rte_dmadevices[dev_id]; @@ -579,7 +579,7 @@ rte_dmadev_copy_sg(uint16_t dev_id, uint16_t vq_id, __rte_experimental static inline dma_cookie_t rte_dmadev_fill(uint16_t dev_id, uint16_t vq_id, uint64_t pattern, - void *dst, uint32_t length, uint64_t flags) + rte_iova_t dst, uint32_t length, uint64_t flags) { struct rte_dmadev *dev = &rte_dmadevices[dev_id]; return (*dev->fill)(dev, vq_id, pattern, dst, length, flags); diff --git a/lib/dmadev/rte_dmadev_core.h b/lib/dmadev/rte_dmadev_core.h index a3afea251..80b56ed83 100644 --- a/lib/dmadev/rte_dmadev_core.h +++ b/lib/dmadev/rte_dmadev_core.h @@ -17,7 +17,7 @@ struct rte_dmadev; typedef dma_cookie_t (*dmadev_copy_t)(struct rte_dmadev *dev, uint16_t vq_id, - void *src, void *dst, + rte_iova_t src, rte_iova_t dst, uint32_t length, uint64_t flags); /**< @internal Function used to enqueue a copy operation. */ @@ -27,7 +27,7 @@ typedef dma_cookie_t (*dmadev_copy_sg_t)(struct rte_dmadev *dev, uint16_t vq_id, /**< @internal Function used to enqueue a scatter list copy operation. */ typedef dma_cookie_t (*dmadev_fill_t)(struct rte_dmadev *dev, uint16_t vq_id, - uint64_t pattern, void *dst, + uint64_t pattern, rte_iova_t dst, uint32_t length, uint64_t flags); /**< @internal Function used to enqueue a fill operation. */ -- 2.30.2