mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
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: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com> Reviewed-by: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> Link: https://patch.msgid.link/20251103123144.3231829-5-balasubramani.vivekanandan@intel.com Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
This commit is contained in:
committed by
Lucas De Marchi
parent
1f8a87be9c
commit
09c452d117
@@ -607,6 +607,13 @@ static void xe_gt_fini(void *arg)
|
||||
struct xe_gt *gt = arg;
|
||||
int i;
|
||||
|
||||
if (disable_work_sync(>->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(>->fence_irq[i]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user