Unverified Commit 62b45bab authored by Dave Airlie's avatar Dave Airlie Committed by Maxime Ripard
Browse files

drm/test: fix the gem shmem test to map the sg table.



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: 93032ae6 ("drm/test: add a test suite for GEM objects backed by shmem")
Cc: stable@vger.kernel.org
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
Reviewed-by: default avatarMichael J. Ruhl <michael.j.ruhl@intel.com>
Acked-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: default avatarMarco Pagani <marpagan@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240715083551.777807-1-airlied@gmail.com


Signed-off-by: default avatarMaxime Ripard <mripard@kernel.org>
parent 113fd637
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -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;