summaryrefslogtreecommitdiff
path: root/drivers/power
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2018-05-02 19:38:38 +0300
committerChris Wilson <chris@chris-wilson.co.uk>2018-05-03 01:57:13 +0300
commit65fcb8064dd0e54d4674e8e2c6bf6ed7264a29e9 (patch)
tree38f525328bd8a148eb8efd435598f3dab6f6dac5 /drivers/power
parent81cf8b74b0e0728589fdaa37cb3ae42a561bfd5c (diff)
downloadlinux-65fcb8064dd0e54d4674e8e2c6bf6ed7264a29e9.tar.xz
drm/i915: Move timeline from GTT to ring
In the future, we want to move a request between engines. To achieve this, we first realise that we have two timelines in effect here. The first runs through the GTT is required for ordering vma access, which is tracked currently by engine. The second is implied by sequential execution of commands inside the ringbuffer. This timeline is one that maps to userspace's expectations when submitting requests (i.e. given the same context, batch A is executed before batch B). As the rings's timelines map to userspace and the GTT timeline an implementation detail, move the timeline from the GTT into the ring itself (per-context in logical-ring-contexts/execlists, or a global per-engine timeline for the shared ringbuffers in legacy submission. The two timelines are still assumed to be equivalent at the moment (no migrating requests between engines yet) and so we can simply move from one to the other without adding extra ordering. v2: Reinforce that one isn't allowed to mix the engine execution timeline with the client timeline from userspace (on the ring). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180502163839.3248-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/power')
0 files changed, 0 insertions, 0 deletions