drm/xe: Fix the migrate selftest for integrated GPUs
authorThomas Hellström <thomas.hellstrom@linux.intel.com>
Wed, 24 May 2023 16:51:42 +0000 (16:51 +0000)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Tue, 19 Dec 2023 23:34:04 +0000 (18:34 -0500)
The TTM resource cursor was set up incorrectly.

Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/tests/xe_migrate.c

index 0f4371ad1fd95ac5cfefef656a924252ed09183c..f8ee9b9fca990e46b43d9d02e521dcc809980807 100644 (file)
@@ -303,9 +303,14 @@ static void xe_migrate_sanity_test(struct xe_migrate *m, struct kunit *test)
        expected = gen8_pte_encode(NULL, pt, 0, XE_CACHE_WB, 0, 0);
        if (m->eng->vm->flags & XE_VM_FLAGS_64K)
                expected |= XE_PTE_PS64;
-       xe_res_first(pt->ttm.resource, 0, pt->size, &src_it);
+       if (xe_bo_is_vram(pt))
+               xe_res_first(pt->ttm.resource, 0, pt->size, &src_it);
+       else
+               xe_res_first_sg(xe_bo_get_sg(pt), 0, pt->size, &src_it);
+
        emit_pte(m, bb, NUM_KERNEL_PDE - 1, xe_bo_is_vram(pt),
                 &src_it, XE_PAGE_SIZE, pt);
+
        run_sanity_job(m, xe, bb, bb->len, "Writing PTE for our fake PT", test);
 
        retval = xe_map_rd(xe, &bo->vmap, XE_PAGE_SIZE * (NUM_KERNEL_PDE - 1),