[dpdk-dev] [RFC UPDATE PATCH 2/9] dmadev: change virtual addresses to IOVA
From: Bruce Richardson <hidden>
Date: 2021-07-06 20:29:12
Subsystem:
library code, the rest · Maintainers:
Andrew Morton, Linus Torvalds
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 <redacted> --- 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