* [PATCH] app/test: fix DMA API tests in IOVA as PA mode
@ 2025-02-27 13:27 Bruce Richardson
0 siblings, 0 replies; only message in thread
From: Bruce Richardson @ 2025-02-27 13:27 UTC (permalink / raw)
To: dev; +Cc: Bruce Richardson, fengchengwen, stable, Kevin Laatz, Conor Walsh
When running without IOMMU for address translation, i.e. IOVAs are
physical rather than virtual addresses, we need to translate the
pointers to IOVAs for the completion API tests.
Fixes: 9942ebb9c698 ("test/dma: add dmadev API test")
Cc: fengchengwen@huawei.com
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
app/test/test_dmadev_api.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/app/test/test_dmadev_api.c b/app/test/test_dmadev_api.c
index d40c05cfbf..fb49fcb56b 100644
--- a/app/test/test_dmadev_api.c
+++ b/app/test/test_dmadev_api.c
@@ -515,7 +515,9 @@ test_dma_completed(void)
setup_memory();
/* Check enqueue without submit */
- ret = rte_dma_copy(test_dev_id, 0, (rte_iova_t)src, (rte_iova_t)dst,
+ ret = rte_dma_copy(test_dev_id, 0,
+ rte_malloc_virt2iova(src),
+ rte_malloc_virt2iova(dst),
TEST_MEMCPY_SIZE, 0);
RTE_TEST_ASSERT_EQUAL(ret, 0, "Failed to enqueue copy, %d", ret);
rte_delay_us_sleep(TEST_WAIT_US_VAL);
@@ -537,7 +539,9 @@ test_dma_completed(void)
setup_memory();
/* Check for enqueue with submit */
- ret = rte_dma_copy(test_dev_id, 0, (rte_iova_t)src, (rte_iova_t)dst,
+ ret = rte_dma_copy(test_dev_id, 0,
+ rte_malloc_virt2iova(src),
+ rte_malloc_virt2iova(dst),
TEST_MEMCPY_SIZE, RTE_DMA_OP_FLAG_SUBMIT);
RTE_TEST_ASSERT_EQUAL(ret, 1, "Failed to enqueue copy, %d", ret);
rte_delay_us_sleep(TEST_WAIT_US_VAL);
@@ -572,7 +576,9 @@ test_dma_completed_status(void)
RTE_TEST_ASSERT_SUCCESS(ret, "Failed to start, %d", ret);
/* Check for enqueue with submit */
- ret = rte_dma_copy(test_dev_id, 0, (rte_iova_t)src, (rte_iova_t)dst,
+ ret = rte_dma_copy(test_dev_id, 0,
+ rte_malloc_virt2iova(src),
+ rte_malloc_virt2iova(dst),
TEST_MEMCPY_SIZE, RTE_DMA_OP_FLAG_SUBMIT);
RTE_TEST_ASSERT_EQUAL(ret, 0, "Failed to enqueue copy, %d", ret);
rte_delay_us_sleep(TEST_WAIT_US_VAL);
@@ -591,7 +597,9 @@ test_dma_completed_status(void)
RTE_TEST_ASSERT_EQUAL(cpl_ret, 0, "Failed to completed status");
/* Check for enqueue with submit again */
- ret = rte_dma_copy(test_dev_id, 0, (rte_iova_t)src, (rte_iova_t)dst,
+ ret = rte_dma_copy(test_dev_id, 0,
+ rte_malloc_virt2iova(src),
+ rte_malloc_virt2iova(dst),
TEST_MEMCPY_SIZE, RTE_DMA_OP_FLAG_SUBMIT);
RTE_TEST_ASSERT_EQUAL(ret, 1, "Failed to enqueue copy, %d", ret);
rte_delay_us_sleep(TEST_WAIT_US_VAL);
--
2.43.0
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-02-27 13:28 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-27 13:27 [PATCH] app/test: fix DMA API tests in IOVA as PA mode Bruce Richardson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).