drm/i915/migrate: move the sanity check
authorMatthew Auld <matthew.auld@intel.com>
Thu, 24 Mar 2022 17:21:43 +0000 (17:21 +0000)
committerMatthew Auld <matthew.auld@intel.com>
Tue, 29 Mar 2022 08:10:59 +0000 (09:10 +0100)
Move the sanity check that both src and dst are never both system
memory, which should never happen on discrete, and likely means we have
a bug. The only exception is on integrated where we trigger this path in
the selftests.

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: Nirmoy Das <nirmoy.das@linux.intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220324172143.377104-2-matthew.auld@intel.com
drivers/gpu/drm/i915/gt/intel_migrate.c

index 20444d6..950fd6d 100644 (file)
@@ -530,6 +530,7 @@ intel_context_migrate_copy(struct intel_context *ce,
        int err;
 
        GEM_BUG_ON(ce->vm != ce->engine->gt->migrate.context->vm);
+       GEM_BUG_ON(IS_DGFX(ce->engine->i915) && (!src_is_lmem && !dst_is_lmem));
        *out = NULL;
 
        GEM_BUG_ON(ce->ring->size < SZ_64K);
@@ -566,8 +567,6 @@ intel_context_migrate_copy(struct intel_context *ce,
                src_offset = 0;
                dst_offset = CHUNK_SZ;
                if (HAS_64K_PAGES(ce->engine->i915)) {
-                       GEM_BUG_ON(!src_is_lmem && !dst_is_lmem);
-
                        src_offset = 0;
                        dst_offset = 0;
                        if (src_is_lmem)