drm/i915: Only wake the waiter from the interrupt if passed
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 18 Sep 2017 16:27:33 +0000 (17:27 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 22 Sep 2017 11:46:57 +0000 (12:46 +0100)
commit17b51ad8e5c051032d8e1d698e7dfd01d9133a92
treed165967ef397c147a30242a0bf263b8a0f828201
parent74c1c694a2deab0561c1f502de9d32fdc7eb7b32
drm/i915: Only wake the waiter from the interrupt if passed

As we now check if the seqno is complete in order to signal the fence,
we can also decide not to wake up the first_waiter until it is ready
(since it is waiting on the same seqno). The only caveat is that if we
need the engine->irq_seqno_barrier to enforce some coherency between an
interrupt and the seqno read, we have to always wake the waiter in order
to perform that heavyweight barrier.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20170918162734.21294-1-chris@chris-wilson.co.uk
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
drivers/gpu/drm/i915/i915_irq.c