From: Matthew Brost Date: Fri, 14 Jun 2024 06:13:43 +0000 (-0700) Subject: drm/xe: Invert runnable_state / pending enable check and assert X-Git-Tag: configfs-6.13-2024-11-19~902^2~16^2~15 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=0d39640ace670bccb7f03b2a9e5463ec0885a9ca;p=users%2Fhch%2Fconfigfs.git 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: John Harrison Signed-off-by: Matthew Brost Reviewed-by: John Harrison Link: https://patchwork.freedesktop.org/patch/msgid/20240614061343.2931649-1-matthew.brost@intel.com --- diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c index 74552391dc5a..373447758a60 100644 --- a/drivers/gpu/drm/xe/xe_guc_submit.c +++ b/drivers/gpu/drm/xe/xe_guc_submit.c @@ -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);