drm/i915/execlists: Keep virtual context alive until after we kick
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 21 Jun 2019 08:07:29 +0000 (09:07 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 21 Jun 2019 09:11:05 +0000 (10:11 +0100)
commit12fdaf19e05b69992502eb9c97fc3c180f797564
tree103eae977cdb7fef929ff3cfc9631fe173a9b1a9
parentb32fa811156328aea5a3c2ff05cc096490382456
drm/i915/execlists: Keep virtual context alive until after we kick

The call to kick_siblings() dereferences the rq->context, so we should
not drop our local reference until afterwards!

v2: Stick to setting ce.inflight=NULL before kicking as this is what the
other threads will check to see if the context is ready for takeover.

Fixes: 22b7a426bbe1 ("drm/i915/execlists: Preempt-to-busy")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190621080729.2652-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_lrc.c