1. 07 2月, 2014 1 次提交
    • C
      drm/i915: Prevent recursion by retiring requests when the ring is full · 1f70999f
      Chris Wilson 提交于
      As the VM do not track activity of objects and instead use a large
      hammer to forcibly idle and evict all of their associated objects when
      one is released, it is possible for that to cause a recursion when we
      need to wait for free space on a ring and call retire requests.
      (intel_ring_begin -> intel_ring_wait_request ->
      i915_gem_retire_requests_ring -> i915_gem_context_free ->
      i915_gem_evict_vm -> i915_gpu_idle -> intel_ring_begin etc)
      
      In order to remove the requirement for calling retire-requests from
      intel_ring_wait_request, we have to inline a couple of steps from
      retiring requests, notably we have to record the position of the request
      we wait for and use that to update the available ring space.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      1f70999f
  2. 06 2月, 2014 5 次提交
  3. 05 2月, 2014 3 次提交
  4. 04 2月, 2014 7 次提交
  5. 31 1月, 2014 4 次提交
  6. 30 1月, 2014 20 次提交