Commit 0d39640a authored by Matthew Brost's avatar Matthew Brost
Browse files

drm/xe: Invert runnable_state / pending enable check and assert



Rather than checking for pending enable and asserting runnable_state ==
1 in sched done handler, invert these. This is more robust code taking
action based on the G2H message and asserting KMD tracking state is
correct.

Suggested-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
Signed-off-by: default avatarMatthew Brost <matthew.brost@intel.com>
Reviewed-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240614061343.2931649-1-matthew.brost@intel.com
parent 2b79878b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1782,8 +1782,8 @@ static void handle_sched_done(struct xe_guc *guc, struct xe_exec_queue *q,
{
	trace_xe_exec_queue_scheduling_done(q);

	if (exec_queue_pending_enable(q)) {
		xe_gt_assert(guc_to_gt(guc), runnable_state == 1);
	if (runnable_state == 1) {
		xe_gt_assert(guc_to_gt(guc), exec_queue_pending_enable(q));

		q->guc->resume_time = ktime_get();
		clear_exec_queue_pending_enable(q);