]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Check against the signaled bit for fences/requests
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 23 Feb 2017 07:44:07 +0000 (07:44 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 23 Feb 2017 14:49:25 +0000 (14:49 +0000)
commitbfe4d60a26387bfc087956e80be230646389ad75
tree77a7f2071bed4b517512a4c061cb8ad7cf7ae0ac
parent6579252be87374273f77c9a61fa3ce618d59eff4
drm/i915: Check against the signaled bit for fences/requests

When dma_fence_signal() is called, it sets a flag to indicate the fence
is complete. Before the dma_fence is signaled, the seqno check will
first be passed. During an unlocked check (such as inside a waiter), it
is possible for the fence to be signaled even though the seqno has been
reset (by engine wraparound). In this case the waiter will be kicked,
but for an extra layer of protection we can check the persistent
signaled bit from the fence.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170223074422.4125-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_drv.h