drm/i915: Order two completing nop_submit_request
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 6 Oct 2017 11:56:17 +0000 (12:56 +0100)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Mon, 9 Oct 2017 17:33:33 +0000 (10:33 -0700)
commitb85577b72837ee8d9213e93d2c8b67ef78a47803
tree9b4f720eca00a3661c42b80849408d24648e035e
parentde3ded0ae677749b4fc9f59d15b26b9f077340ac
drm/i915: Order two completing nop_submit_request

If two nop's (requests in-flight following a wedged device) complete at
the same time, the global_seqno value written to the HWSP is undefined
as the two threads are not serialized.

v2: Use irqsafe spinlock. We expect the callback may be called from
inside another irq spinlock, so we can't unconditionally restore irqs.

Fixes: ce1135c7de64 ("drm/i915: Complete requests in nop_submit_request")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171006115617.18432-1-chris@chris-wilson.co.uk
(cherry picked from commit 8d550824c6f52506754f11cb6be51aa153cc580d)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/i915/i915_gem.c