drm/i915: Split i915_gem_timeline into individual timelines
We need to move to a more flexible timeline that doesn't assume one fence context per engine, and so allow for a single timeline to be used across a combination of engines. This means that preallocating a fence context per engine is now a hindrance, and so we want to introduce the singular timeline. From the code perspective, this has the notable advantage of clearing up a lot of mirky semantics and some clumsy pointer chasing. By splitting the timeline up into a single entity rather than an array of per-engine timelines, we can realise the goal of the previous patch of tracking the timeline alongside the ring. v2: Tweak wait_for_idle to stop the compiling thinking that ret may be uninitialised. 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-2-chris@chris-wilson.co.uk
Showing
- drivers/gpu/drm/i915/Makefile 1 addition, 1 deletiondrivers/gpu/drm/i915/Makefile
- drivers/gpu/drm/i915/i915_drv.h 1 addition, 3 deletionsdrivers/gpu/drm/i915/i915_drv.h
- drivers/gpu/drm/i915/i915_gem.c 56 additions, 73 deletionsdrivers/gpu/drm/i915/i915_gem.c
- drivers/gpu/drm/i915/i915_gem_context.c 21 additions, 27 deletionsdrivers/gpu/drm/i915/i915_gem_context.c
- drivers/gpu/drm/i915/i915_gem_context.h 0 additions, 2 deletionsdrivers/gpu/drm/i915/i915_gem_context.h
- drivers/gpu/drm/i915/i915_gem_gtt.h 1 addition, 2 deletionsdrivers/gpu/drm/i915/i915_gem_gtt.h
- drivers/gpu/drm/i915/i915_gem_timeline.c 0 additions, 198 deletionsdrivers/gpu/drm/i915/i915_gem_timeline.c
- drivers/gpu/drm/i915/i915_gpu_error.c 2 additions, 2 deletionsdrivers/gpu/drm/i915/i915_gpu_error.c
- drivers/gpu/drm/i915/i915_perf.c 3 additions, 7 deletionsdrivers/gpu/drm/i915/i915_perf.c
- drivers/gpu/drm/i915/i915_request.c 33 additions, 35 deletionsdrivers/gpu/drm/i915/i915_request.c
- drivers/gpu/drm/i915/i915_request.h 2 additions, 1 deletiondrivers/gpu/drm/i915/i915_request.h
- drivers/gpu/drm/i915/i915_timeline.c 105 additions, 0 deletionsdrivers/gpu/drm/i915/i915_timeline.c
- drivers/gpu/drm/i915/i915_timeline.h 36 additions, 31 deletionsdrivers/gpu/drm/i915/i915_timeline.h
- drivers/gpu/drm/i915/intel_engine_cs.c 12 additions, 15 deletionsdrivers/gpu/drm/i915/intel_engine_cs.c
- drivers/gpu/drm/i915/intel_guc_submission.c 2 additions, 2 deletionsdrivers/gpu/drm/i915/intel_guc_submission.c
- drivers/gpu/drm/i915/intel_lrc.c 28 additions, 20 deletionsdrivers/gpu/drm/i915/intel_lrc.c
- drivers/gpu/drm/i915/intel_ringbuffer.c 16 additions, 9 deletionsdrivers/gpu/drm/i915/intel_ringbuffer.c
- drivers/gpu/drm/i915/intel_ringbuffer.h 6 additions, 5 deletionsdrivers/gpu/drm/i915/intel_ringbuffer.h
- drivers/gpu/drm/i915/selftests/i915_gem_context.c 0 additions, 12 deletionsdrivers/gpu/drm/i915/selftests/i915_gem_context.c
- drivers/gpu/drm/i915/selftests/i915_timeline.c 31 additions, 63 deletionsdrivers/gpu/drm/i915/selftests/i915_timeline.c
Loading
Please register or sign in to comment