drm/i915: Split request submit/execute phase into two
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 14 Nov 2016 20:40:58 +0000 (20:40 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 14 Nov 2016 21:00:22 +0000 (21:00 +0000)
commit23902e49c999353f75f15b7d8483bff70746b97d
tree5f9b2fca8e01366e014a47acc6ae96df526decdd
parentbb89485e999181a329cafa8e798b6bbf10c1a52a
drm/i915: Split request submit/execute phase into two

In order to support deferred scheduling, we need to differentiate
between when the request is ready to run (i.e. the submit fence is
signaled) and when the request is actually run (a new execute fence).
This is typically split between the request itself wanting to wait upon
others (for which we use the submit fence) and the CPU wanting to wait
upon the request, for which we use the execute fence to be sure the
hardware is ready to signal completion.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161114204105.29171-3-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem_request.c
drivers/gpu/drm/i915/i915_gem_request.h