Replace the remaining dma_resv_init usage in TTM test files with dma_resv_alloc(). This completes the migration away from embedded dma_resv structures to reference-counted dynamic allocation throughout the DRM subsystem.
Changes in test files: - ttm_bo_validate_test.c: Convert stack-allocated resv to pointer and use dma_resv_alloc() with proper cleanup via dma_resv_put() - ttm_bo_test.c: Replace kunit_kzalloc + dma_resv_init with direct dma_resv_alloc() calls, add cleanup for external_resv All test assertions updated to check for successful allocation. The tests now properly exercise the dynamic allocation path that production code uses. Signed-off-by: Christian König <[email protected]> Assisted-by: Claude:Sonnet 4 --- drivers/gpu/drm/ttm/tests/ttm_bo_test.c | 11 ++++------- drivers/gpu/drm/ttm/tests/ttm_bo_validate_test.c | 13 ++++++++----- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/ttm/tests/ttm_bo_test.c b/drivers/gpu/drm/ttm/tests/ttm_bo_test.c index 3aff1c427cd1..853024724af9 100644 --- a/drivers/gpu/drm/ttm/tests/ttm_bo_test.c +++ b/drivers/gpu/drm/ttm/tests/ttm_bo_test.c @@ -339,14 +339,12 @@ static void ttm_bo_unreserve_bulk(struct kunit *test) ttm_dev = kunit_kzalloc(test, sizeof(*ttm_dev), GFP_KERNEL); KUNIT_ASSERT_NOT_NULL(test, ttm_dev); - resv = kunit_kzalloc(test, sizeof(*resv), GFP_KERNEL); - KUNIT_ASSERT_NOT_NULL(test, resv); - err = ttm_device_kunit_init(priv, ttm_dev, 0); KUNIT_ASSERT_EQ(test, err, 0); priv->ttm_dev = ttm_dev; - dma_resv_init(resv); + resv = dma_resv_alloc(); + KUNIT_ASSERT_NOT_NULL(test, resv); bo1 = ttm_bo_kunit_init(test, test->priv, BO_SIZE, resv); bo2 = ttm_bo_kunit_init(test, test->priv, BO_SIZE, resv); @@ -441,11 +439,9 @@ static void ttm_bo_fini_shared_resv(struct kunit *test) KUNIT_ASSERT_EQ(test, err, 0); priv->ttm_dev = ttm_dev; - external_resv = kunit_kzalloc(test, sizeof(*ttm_dev), GFP_KERNEL); + external_resv = dma_resv_alloc(); KUNIT_ASSERT_NOT_NULL(test, external_resv); - dma_resv_init(external_resv); - fence = kunit_kzalloc(test, sizeof(*fence), GFP_KERNEL); KUNIT_ASSERT_NOT_NULL(test, fence); @@ -464,6 +460,7 @@ static void ttm_bo_fini_shared_resv(struct kunit *test) drm_gem_object_set_resv(&bo->base, external_resv); ttm_bo_fini(bo); + dma_resv_put(external_resv); } static void ttm_bo_pin_basic(struct kunit *test) diff --git a/drivers/gpu/drm/ttm/tests/ttm_bo_validate_test.c b/drivers/gpu/drm/ttm/tests/ttm_bo_validate_test.c index bb430763e7a5..e0ecadccccf8 100644 --- a/drivers/gpu/drm/ttm/tests/ttm_bo_validate_test.c +++ b/drivers/gpu/drm/ttm/tests/ttm_bo_validate_test.c @@ -201,7 +201,7 @@ static void ttm_bo_init_reserved_resv(struct kunit *test) struct ttm_placement *placement; struct ttm_buffer_object *bo; struct ttm_place *place; - struct dma_resv resv; + struct dma_resv *resv; int err; bo = kunit_kzalloc(test, sizeof(*bo), GFP_KERNEL); @@ -212,19 +212,22 @@ static void ttm_bo_init_reserved_resv(struct kunit *test) err = drm_gem_private_object_init(priv->drm, &bo->base, size); KUNIT_ASSERT_EQ(test, err, 0); - dma_resv_init(&resv); - dma_resv_lock(&resv, NULL); + + resv = dma_resv_alloc(); + KUNIT_ASSERT_NOT_NULL(test, resv); + dma_resv_lock(resv, NULL); err = ttm_bo_init_reserved(priv->ttm_dev, bo, bo_type, placement, - PAGE_SIZE, &ctx, NULL, &resv, + PAGE_SIZE, &ctx, NULL, resv, &dummy_ttm_bo_destroy); dma_resv_unlock(bo->base.resv); KUNIT_EXPECT_EQ(test, err, 0); - KUNIT_EXPECT_PTR_EQ(test, bo->base.resv, &resv); + KUNIT_EXPECT_PTR_EQ(test, bo->base.resv, resv); ttm_resource_free(bo, &bo->resource); ttm_bo_fini(bo); + dma_resv_put(resv); } static void ttm_bo_validate_basic(struct kunit *test) -- 2.43.0
