drm/i915: Assert that we do not try to unsubmit a completed request
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 29 Jan 2018 09:49:12 +0000 (09:49 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 29 Jan 2018 15:38:56 +0000 (15:38 +0000)
Assert that we do not try to unsubmit a completed request, as should we
try to resubmit it later, the ring is already past the request's
breadcrumb and the breadcrumb will not be updated.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20180129094912.14428-1-chris@chris-wilson.co.uk
Reviewed-by: MichaƂ Winiarski <michal.winiarski@intel.com>
drivers/gpu/drm/i915/i915_gem_request.c

index 06ec27a68f5cf894b04751adbd0d2728cc4a1ef0..0a890ef4c420e7b7fe459dd78df963ab4473b2c8 100644 (file)
@@ -537,6 +537,8 @@ void __i915_gem_request_unsubmit(struct drm_i915_gem_request *request)
         */
        GEM_BUG_ON(!request->global_seqno);
        GEM_BUG_ON(request->global_seqno != engine->timeline->seqno);
+       GEM_BUG_ON(i915_seqno_passed(intel_engine_get_seqno(engine),
+                                    request->global_seqno));
        engine->timeline->seqno--;
 
        /* We may be recursing from the signal callback of another i915 fence */