Commit 09c452d1 authored by Balasubramani Vivekanandan's avatar Balasubramani Vivekanandan Committed by Lucas De Marchi
Browse files

drm/xe/gt: Synchronize GT reset with device unbind



When unbinding wait for any GT reset in progress to complete. Unbinding
will release the mmio mapping but mmio operations are performed during
GT reset causing Kernel panic.

Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: default avatarBalasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>
Reviewed-by: default avatarMatthew Brost <matthew.brost@intel.com>
Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
Link: https://patch.msgid.link/20251103123144.3231829-5-balasubramani.vivekanandan@intel.com


Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
parent 1f8a87be
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -607,6 +607,13 @@ static void xe_gt_fini(void *arg)
	struct xe_gt *gt = arg;
	int i;

	if (disable_work_sync(&gt->reset.worker))
		/*
		 * If gt_reset_worker was halted from executing, take care of
		 * releasing the rpm reference here.
		 */
		xe_pm_runtime_put(gt_to_xe(gt));

	for (i = 0; i < XE_ENGINE_CLASS_MAX; ++i)
		xe_hw_fence_irq_finish(&gt->fence_irq[i]);