drm/i915/execlists: Detect an out-of-order context switch
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 23 Feb 2017 14:50:31 +0000 (14:50 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 24 Feb 2017 12:57:32 +0000 (12:57 +0000)
We require that the request is completed before the context is switched
away.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/20170223145031.26210-1-chris@chris-wilson.co.uk
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
drivers/gpu/drm/i915/intel_lrc.c

index 39329d40da46e951766d2a822961022727e249b0..1c6c71673bfa28337cce1e0ac318c332482832ce 100644 (file)
@@ -591,6 +591,7 @@ static void intel_lrc_irq_handler(unsigned long data)
                        GEM_BUG_ON(port[0].count == 0);
                        if (--port[0].count == 0) {
                                GEM_BUG_ON(status & GEN8_CTX_STATUS_PREEMPTED);
+                               GEM_BUG_ON(!i915_gem_request_completed(port[0].request));
                                execlists_context_status_change(port[0].request,
                                                                INTEL_CONTEXT_SCHEDULE_OUT);