From: Dave Airlie <airl...@redhat.com>

The test here creates an sg table, but never maps it, when
we get to drm_gem_shmem_free, the helper tries to unmap and this
causes warnings on some platforms and debug kernels.

This also sets a 64-bit dma mask, as I see an swiotlb warning if I
stick with the default 32-bit one.

Fixes: 93032ae634d4 ("drm/test: add a test suite for GEM objects backed by 
shmem")
Cc: sta...@vger.kernel.org
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
 drivers/gpu/drm/tests/drm_gem_shmem_test.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/tests/drm_gem_shmem_test.c 
b/drivers/gpu/drm/tests/drm_gem_shmem_test.c
index 91202e40cde9..eb3a7a84be90 100644
--- a/drivers/gpu/drm/tests/drm_gem_shmem_test.c
+++ b/drivers/gpu/drm/tests/drm_gem_shmem_test.c
@@ -102,6 +102,17 @@ static void drm_gem_shmem_test_obj_create_private(struct 
kunit *test)
 
        sg_init_one(sgt->sgl, buf, TEST_SIZE);
 
+       /*
+        * Set the DMA mask to 64-bits and map the sgtables
+        * otherwise drm_gem_shmem_free will cause a warning
+        * on debug kernels.
+        * */
+       ret = dma_set_mask(drm_dev->dev, DMA_BIT_MASK(64));
+       KUNIT_ASSERT_EQ(test, ret, 0);
+
+       ret = dma_map_sgtable(drm_dev->dev, sgt, DMA_BIDIRECTIONAL, 0);
+       KUNIT_ASSERT_EQ(test, ret, 0);
+
        /* Init a mock DMA-BUF */
        buf_mock.size = TEST_SIZE;
        attach_mock.dmabuf = &buf_mock;
-- 
2.45.0

Reply via email to