[PATCH 2/9] drm/xe: Stop the TLB fence timer on driver teardown
stuartsummers
stuart.summers at intel.com
Wed Aug 13 19:47:59 UTC 2025
There is a small window of time during the driver teardown where
the TLB invalidation fence->gt is set to NULL but an invalidation
worker is still alive. This won't cause an issue currently because
the tlb_invalidation structure itself is still present. However as
part of a future refactor, we are looking to split that structure
out. To be safe, go ahead and cancel any outstanding TLB invalidation
fence worker thread on _fini() since at that time we are already
tearing down the driverworker thread on _fini() since at that time we
are already tearing down the driver and don't need to continue
monitoring this.
Signed-off-by: stuartsummers <stuart.summers at intel.com>
---
drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c b/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
index 75854b963d66..08e882433b13 100644
--- a/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
+++ b/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
@@ -44,6 +44,8 @@ static void xe_gt_tlb_invalidation_fence_fini(struct xe_gt_tlb_invalidation_fenc
if (WARN_ON_ONCE(!fence->gt))
return;
+ cancel_delayed_work(&fence->gt->tlb_invalidation.fence_tdr);
+
xe_pm_runtime_put(gt_to_xe(fence->gt));
fence->gt = NULL; /* fini() should be called once */
}
--
2.34.1
More information about the Intel-xe
mailing list