drm/xe/bb: assert width in xe_bb_create_migration_job()
authorMatthew Auld <matthew.auld@intel.com>
Wed, 20 Mar 2024 11:27:32 +0000 (11:27 +0000)
committerMatthew Auld <matthew.auld@intel.com>
Thu, 21 Mar 2024 08:29:31 +0000 (08:29 +0000)
The q->width should always be exactly one here for migration queue/vm.
The width will anyway be overridden later since we need to emit two
jumps for special migration jobs. Enforce that here to ensure caller is
not doing something strange. While here also convert to the helper to
determine if the queue is migration based.

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240320112730.219854-4-matthew.auld@intel.com
drivers/gpu/drm/xe/xe_bb.c

index a35e078..541361c 100644 (file)
@@ -86,7 +86,8 @@ struct xe_sched_job *xe_bb_create_migration_job(struct xe_exec_queue *q,
        };
 
        xe_gt_assert(q->gt, second_idx <= bb->len);
-       xe_gt_assert(q->gt, q->vm->flags & XE_VM_FLAG_MIGRATION);
+       xe_gt_assert(q->gt, xe_sched_job_is_migration(q));
+       xe_gt_assert(q->gt, q->width == 1);
 
        return __xe_bb_create_job(q, bb, addr);
 }