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 a35e0781b7b9513635914431181ba2e2ffb09409..541361caff3b02091dff17cd503ab94ea5e1b41d 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);
 }