]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/test: fix the gem shmem test to map the sg table.
authorDave Airlie <airlied@redhat.com>
Mon, 15 Jul 2024 08:35:51 +0000 (18:35 +1000)
committerMaxime Ripard <mripard@kernel.org>
Fri, 2 Aug 2024 07:24:31 +0000 (09:24 +0200)
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: stable@vger.kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Marco Pagani <marpagan@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240715083551.777807-1-airlied@gmail.com
Signed-off-by: Maxime Ripard <mripard@kernel.org>
drivers/gpu/drm/tests/drm_gem_shmem_test.c

index c3758faa1b83a36cf76448c339396744109f77ea..d8d0e4d1682fcad3d2156562e52eca89dc4b5e74 100644 (file)
@@ -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;