]> 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)
commit5423f8f2f3db4775dbefa0a2b7e2f00c6fbcd24e
tree77a7f2071bed4b517512a4c061cb8ad7cf7ae0ac
parent655cd294fafcf9954381bc7a34302cffbda21219
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