When recording the default context state, we submit an ordinary context
and then steal the context image for our defaults. To be able to steal
the state, we must have total ownership of the context. During CI we
want to make this error extremely obvious, as otherwise we will fail the
user's module load.

References: https://gitlab.freedesktop.org/drm/intel/-/issues/1763
Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gt/intel_gt.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c 
b/drivers/gpu/drm/i915/gt/intel_gt.c
index 1c99cc72305a..c263f2e94703 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt.c
@@ -379,6 +379,11 @@ static int __intel_context_flush_retire(struct 
intel_context *ce)
                return PTR_ERR(tl);
 
        intel_context_timeline_unlock(tl);
+
+       /* Wait for the barrier */
+       if (i915_active_wait(&ce->active))
+               return -EINTR;
+
        return 0;
 }
 
@@ -472,6 +477,7 @@ static int __engines_record_defaults(struct intel_gt *gt)
 
                /* We want to be able to unbind the state from the GGTT */
                GEM_BUG_ON(intel_context_is_pinned(rq->context));
+               GEM_BUG_ON(i915_vma_is_pinned(state));
 
                /*
                 * As we will hold a reference to the logical state, it will
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to