drm/i915: Support explicit fencing for execbuf
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 27 Jan 2017 09:40:08 +0000 (09:40 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 27 Jan 2017 19:55:48 +0000 (19:55 +0000)
commitfec0445caa273209d2809760ac7c63e743d6f512
tree12a465dab8256f388519f0cdd73bdc8e0889b410
parent77ae9957897df86e627089688265e0db029dd0df
drm/i915: Support explicit fencing for execbuf

Now that the user can opt-out of implicit fencing, we need to give them
back control over the fencing. We employ sync_file to wrap our
drm_i915_gem_request and provide an fd that userspace can merge with
other sync_file fds and pass back to the kernel to wait upon before
future execution.

Testcase: igt/gem_exec_fence
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Acked-by: Chad Versace <chadversary@chromium.org>
Link: http://patchwork.freedesktop.org/patch/msgid/20170127094008.27489-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/Kconfig
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_gem_execbuffer.c
include/uapi/drm/i915_drm.h