1. 18 6月, 2016 2 次提交
  2. 24 5月, 2016 6 次提交
  3. 13 5月, 2016 2 次提交
  4. 09 5月, 2016 1 次提交
  5. 28 4月, 2016 8 次提交
  6. 25 4月, 2016 1 次提交
  7. 14 4月, 2016 3 次提交
  8. 13 4月, 2016 1 次提交
  9. 24 3月, 2016 1 次提交
  10. 18 3月, 2016 2 次提交
  11. 17 3月, 2016 1 次提交
  12. 16 3月, 2016 4 次提交
    • T
      drm/i915: More intel_engine_cs renaming · 666796da
      Tvrtko Ursulin 提交于
      Some trivial ones, first pass done with Coccinelle:
      
      @@
      @@
      (
      - I915_NUM_RINGS
      + I915_NUM_ENGINES
      |
      - intel_ring_flag
      + intel_engine_flag
      |
      - for_each_ring
      + for_each_engine
      |
      - i915_gem_request_get_ring
      + i915_gem_request_get_engine
      |
      - intel_ring_idle
      + intel_engine_idle
      |
      - i915_gem_reset_ring_status
      + i915_gem_reset_engine_status
      |
      - i915_gem_reset_ring_cleanup
      + i915_gem_reset_engine_cleanup
      |
      - init_ring_lists
      + init_engine_lists
      )
      
      But that didn't fully work so I cleaned it up with:
      
      for f in *.[hc]; do sed -i -e s/I915_NUM_RINGS/I915_NUM_ENGINES/ $f; done
      for f in *.[hc]; do sed -i -e s/i915_gem_request_get_ring/i915_gem_request_get_engine/ $f; done
      for f in *.[hc]; do sed -i -e s/intel_ring_flag/intel_engine_flag/ $f; done
      for f in *.[hc]; do sed -i -e s/intel_ring_idle/intel_engine_idle/ $f; done
      for f in *.[hc]; do sed -i -e s/init_ring_lists/init_engine_lists/ $f; done
      for f in *.[hc]; do sed -i -e s/i915_gem_reset_ring_cleanup/i915_gem_reset_engine_cleanup/ $f; done
      for f in *.[hc]; do sed -i -e s/i915_gem_reset_ring_status/i915_gem_reset_engine_status/ $f; done
      
      v2: Rebase.
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      666796da
    • T
      drm/i915: Rename intel_engine_cs struct members · 4a570db5
      Tvrtko Ursulin 提交于
      below and a couple manual fixups.
      
      @@
      identifier I, J;
      @@
      struct I {
      ...
      - struct intel_engine_cs *J;
      + struct intel_engine_cs *engine;
      ...
      }
      @@
      identifier I, J;
      @@
      struct I {
      ...
      - struct intel_engine_cs J;
      + struct intel_engine_cs engine;
      ...
      }
      @@
      struct drm_i915_private *d;
      @@
      (
      - d->ring
      + d->engine
      )
      @@
      struct i915_execbuffer_params *p;
      @@
      (
      - p->ring
      + p->engine
      )
      @@
      struct intel_ringbuffer *r;
      @@
      (
      - r->ring
      + r->engine
      )
      @@
      struct drm_i915_gem_request *req;
      @@
      (
      - req->ring
      + req->engine
      )
      
      v2: Script missed the tracepoint code - fixed up by hand.
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      4a570db5
    • T
      drm/i915: Rename intel_engine_cs function parameters · 0bc40be8
      Tvrtko Ursulin 提交于
      @@
      identifier func;
      @@
      func(..., struct intel_engine_cs *
      - ring
      + engine
      , ...)
      {
      <...
      - ring
      + engine
      ...>
      }
      @@
      identifier func;
      type T;
      @@
      T func(..., struct intel_engine_cs *
      - ring
      + engine
      , ...);
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      0bc40be8
    • T
      drm/i915: Rename local struct intel_engine_cs variables · e2f80391
      Tvrtko Ursulin 提交于
      Done by the Coccinelle script below plus a manual
      intervention to GEN8_RING_SEMAPHORE_INIT.
      
      @@
      expression E;
      @@
      - struct intel_engine_cs *ring = E;
      + struct intel_engine_cs *engine = E;
      <+...
      - ring
      + engine
      ...+>
      @@
      @@
      - struct intel_engine_cs *ring;
      + struct intel_engine_cs *engine;
      <+...
      - ring
      + engine
      ...+>
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      e2f80391
  13. 26 2月, 2016 1 次提交
  14. 16 2月, 2016 1 次提交
  15. 29 1月, 2016 2 次提交
    • T
      drm/i915: Fix premature LRC unpin in GuC mode · f4e2dece
      Tvrtko Ursulin 提交于
      In GuC mode LRC pinning lifetime depends exclusively on the
      request liftime. Since that is terminated by the seqno update
      that opens up a race condition between GPU finishing writing
      out the context image and the driver unpinning the LRC.
      
      To extend the LRC lifetime we will employ a similar approach
      to what legacy ringbuffer submission does.
      
      We will start tracking the last submitted context per engine
      and keep it pinned until it is replaced by another one.
      
      Note that the driver unload path is a bit fragile and could
      benefit greatly from efforts to unify the legacy and exec
      list submission code paths.
      
      At the moment i915_gem_context_fini has special casing for the
      two which are potentialy not needed, and also depends on
      i915_gem_cleanup_ringbuffer running before itself.
      
      v2:
       * Move pinning into engine->emit_request and actually fix
         the reference/unreference logic. (Chris Wilson)
      
       * ring->dev can be NULL on driver unload so use a different
         route towards it.
      
      v3:
       * Rebase.
       * Handle the reset path. (Chris Wilson)
       * Exclude default context from the pinning - it is impossible
         to get it right before default context special casing in
         general is eliminated.
      
      v4:
       * Rebased & moved context tracking to
         intel_logical_ring_advance_and_submit.
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Issue: VIZ-4277
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Nick Hoath <nicholas.hoath@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1453976997-25424-1-git-send-email-tvrtko.ursulin@linux.intel.com
      f4e2dece
    • T
      drm/i915: Extract context unpinning to its own function · a0b4a6a8
      Tvrtko Ursulin 提交于
      Will enable cleaner implementation of a following fix and
      easier code unification in the future.
      
      Idea and code by Chris Wilson.
      
      v2: Do not return before last_contexts on engines are unpinned.
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      a0b4a6a8
  16. 21 1月, 2016 1 次提交
  17. 13 1月, 2016 1 次提交
  18. 06 1月, 2016 1 次提交
    • C
      drm/i915: Restore inhibiting the load of the default context · 42f1cae8
      Chris Wilson 提交于
      Following a GPU reset, we may leave the context in a poorly defined
      state, and reloading from that context will leave the GPU flummoxed. For
      secondary contexts, this will lead to that context being banned - but
      currently it is also causing the default context to become banned,
      leading to turmoil in the shared state.
      
      This is a regression from
      
      commit 6702cf16 [v4.1]
      Author: Ben Widawsky <benjamin.widawsky@intel.com>
      Date:   Mon Mar 16 16:00:58 2015 +0000
      
          drm/i915: Initialize all contexts
      
      which quietly introduced the removal of the MI_RESTORE_INHIBIT on the
      default context.
      
      v2: Mark the global default context as uninitialized on GPU reset so
      that the context-local workarounds are reloaded upon re-enabling.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Michel Thierry <michel.thierry@intel.com>
      Cc: Mika Kuoppala <mika.kuoppala@intel.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/1448630935-27377-1-git-send-email-chris@chris-wilson.co.ukReviewed-by: NMika Kuoppala <mika.kuoppala@intel.com>
      Cc: stable@vger.kernel.org
      [danvet: This seems to fix a gpu hand on after the first resume,
      resulting in any future suspend operation failing with -EIO because
      the gpu seems to be in a funky state. Somehow this patch fixes that.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      42f1cae8
  19. 10 12月, 2015 1 次提交