drm/i915/migrate: don't check the scratch page
authorMatthew Auld <matthew.auld@intel.com>
Mon, 6 Dec 2021 11:25:36 +0000 (11:25 +0000)
committerMatthew Auld <matthew.auld@intel.com>
Wed, 8 Dec 2021 10:25:24 +0000 (10:25 +0000)
The scratch page might not be allocated in LMEM(like on DG2), so instead
of using that as the deciding factor for where the paging structures
live, let's just query the pt before mapping it.

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Ramalingam C <ramalingam.c@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211206112539.3149779-1-matthew.auld@intel.com
drivers/gpu/drm/i915/gt/intel_migrate.c

index afb1cce9a3522d6121d6a547df0df1054d438f6f..0f94dedc15999119ee332fbfe51be517fe965f6e 100644 (file)
@@ -13,7 +13,6 @@
 
 struct insert_pte_data {
        u64 offset;
-       bool is_lmem;
 };
 
 #define CHUNK_SZ SZ_8M /* ~1ms at 8GiB/s preemption delay */
@@ -40,7 +39,7 @@ static void insert_pte(struct i915_address_space *vm,
        struct insert_pte_data *d = data;
 
        vm->insert_page(vm, px_dma(pt), d->offset, I915_CACHE_NONE,
-                       d->is_lmem ? PTE_LM : 0);
+                       i915_gem_object_is_lmem(pt->base) ? PTE_LM : 0);
        d->offset += PAGE_SIZE;
 }
 
@@ -134,7 +133,6 @@ static struct i915_address_space *migrate_vm(struct intel_gt *gt)
                        goto err_vm;
 
                /* Now allow the GPU to rewrite the PTE via its own ppGTT */
-               d.is_lmem = i915_gem_object_is_lmem(vm->vm.scratch[0]);
                vm->vm.foreach(&vm->vm, base, base + sz, insert_pte, &d);
        }