[Intel-xe] [PATCH 18/22] drm/xe: Propagate VM unbind error to invalidation fence
Rodrigo Vivi
rodrigo.vivi at intel.com
Fri Feb 3 20:24:05 UTC 2023
From: Matthew Brost <matthew.brost at intel.com>
If a VM unbind hits an error, do not issue a TLB invalidation and
propagate the error the invalidation fence.
Signed-off-by: Matthew Brost <matthew.brost at intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
---
drivers/gpu/drm/xe/xe_pt.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/xe/xe_pt.c b/drivers/gpu/drm/xe/xe_pt.c
index 9da5ee4b31f8..0c2cc9d772fa 100644
--- a/drivers/gpu/drm/xe/xe_pt.c
+++ b/drivers/gpu/drm/xe/xe_pt.c
@@ -1500,7 +1500,13 @@ static void invalidation_fence_cb(struct dma_fence *fence,
container_of(cb, struct invalidation_fence, cb);
trace_xe_gt_tlb_invalidation_fence_cb(&ifence->base);
- queue_work(system_wq, &ifence->work);
+ if (!ifence->fence->error) {
+ queue_work(system_wq, &ifence->work);
+ } else {
+ ifence->base.base.error = ifence->fence->error;
+ dma_fence_signal(&ifence->base.base);
+ dma_fence_put(&ifence->base.base);
+ }
dma_fence_put(ifence->fence);
}
--
2.39.1
More information about the Intel-xe
mailing list