drm/i915: Serialise execbuf operation after a dma-buf reservation object
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 9 Sep 2016 13:12:01 +0000 (14:12 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 9 Sep 2016 13:23:08 +0000 (14:23 +0100)
commit851ba2d6977d6ada31366ae0b791a69132f2c8a7
treee7ccecb2ba55513cf4664939bd700a7347a8e79e
parent0a046a0e93d2971d42f975b7ac409af0d4d9e7b4
drm/i915: Serialise execbuf operation after a dma-buf reservation object

Now that we can wait upon fences before emitting the request, it becomes
trivial to wait upon any implicit fence provided by the dma-buf
reservation object.

To protect against failure, we force any asynchronous waits on a foreign
fence to timeout after 10s - so that a stall in another driver does not
permanently cripple ourselves. Still unpleasant though!

Testcase: igt/prime_vgem/fence-wait
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: John Harrison <john.c.harrison@intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20160909131201.16673-21-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem_execbuffer.c