1. 17 5月, 2017 1 次提交
  2. 12 5月, 2017 1 次提交
  3. 04 5月, 2017 1 次提交
  4. 28 4月, 2017 1 次提交
    • J
      drm/i915: Sanitize engine context sizes · 63ffbcda
      Joonas Lahtinen 提交于
      Pre-calculate engine context size based on engine class and device
      generation and store it in the engine instance.
      
      v2:
      - Squash and get rid of hw_context_size (Chris)
      
      v3:
      - Move after MMIO init for probing on Gen7 and 8 (Chris)
      - Retained rounding (Tvrtko)
      v4:
      - Rebase for deferred legacy context allocation
      Signed-off-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Oscar Mateo <oscar.mateo@intel.com>
      Cc: Zhenyu Wang <zhenyuw@linux.intel.com>
      Cc: intel-gvt-dev@lists.freedesktop.org
      Acked-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      63ffbcda
  5. 25 4月, 2017 2 次提交
  6. 12 4月, 2017 2 次提交
  7. 03 4月, 2017 1 次提交
    • C
      drm/i915: intel_ring.engine is unused · d822bb18
      Chris Wilson 提交于
      Or rather it is used only by intel_ring_pin() to extract the
      drm_i915_private which we can easily pass in. As this is a relatively
      rare operation, save the space in the struct, and as such it is even
      break even in the extra code for passing around the parameter:
      
      add/remove: 0/0 grow/shrink: 2/3 up/down: 15/-15 (0)
      function                                     old     new   delta
      intel_init_ring_buffer                       906     918     +12
      execlists_context_pin                       1308    1311      +3
      mock_engine                                  407     403      -4
      intel_engine_create_ring                     367     363      -4
      intel_ring_pin                               326     319      -7
      Total: Before=1261794, After=1261794, chg +0.00%
      
      v2: Reorder intel_init_ring_buffer to keep the ring setup together:
      
      add/remove: 0/0 grow/shrink: 2/3 up/down: 9/-15 (-6)
      function                                     old     new   delta
      intel_init_ring_buffer                       906     912      +6
      execlists_context_pin                       1308    1311      +3
      mock_engine                                  407     403      -4
      intel_engine_create_ring                     367     363      -4
      intel_ring_pin                               326     319      -7
      Total: Before=1261794, After=1261788, chg -0.00%
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170403113426.25707-1-chris@chris-wilson.co.uk
      d822bb18
  8. 31 3月, 2017 1 次提交
  9. 29 3月, 2017 3 次提交
  10. 27 3月, 2017 4 次提交
  11. 24 3月, 2017 1 次提交
  12. 21 3月, 2017 4 次提交
  13. 20 3月, 2017 1 次提交
  14. 17 3月, 2017 4 次提交
  15. 16 3月, 2017 1 次提交
    • C
      drm/i915/scheduler: emulate a scheduler for guc · 31de7350
      Chris Wilson 提交于
      This emulates execlists on top of the GuC in order to defer submission of
      requests to the hardware. This deferral allows time for high priority
      requests to gazump their way to the head of the queue, however it nerfs
      the GuC by converting it back into a simple execlist (where the CPU has
      to wake up after every request to feed new commands into the GuC).
      
      v2: Drop hack status - though iirc there is still a lockdep inversion
      between fence and engine->timeline->lock (which is impossible as the
      nesting only occurs on different fences - hopefully just requires some
      judicious lockdep annotation)
      v3: Apply lockdep nesting to enabling signaling on the request, using
      the pattern we already have in __i915_gem_request_submit();
      v4: Replaying requests after a hang also now needs the timeline
      spinlock, to disable the interrupts at least
      v5: Hold wq lock for completeness, and emit a tracepoint for enabling signal
      v6: Reorder interrupt checking for a happier gcc.
      v7: Only signal the tasklet after a user-interrupt if using guc scheduling
      v8: Restore lost update of rq through the i915_guc_irq_handler (Tvrtko)
      v9: Avoid re-initialising the engine->irq_tasklet from inside a reset
      v10: Hook up the execlists-style tracepoints
      v11: Clear the execlists irq_posted bit after taking over the interrupt/tasklet
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
      Reviewed-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170316125619.6856-1-chris@chris-wilson.co.ukReviewed-by: NMichał Winiarski <michal.winiarski@intel.com>
      31de7350
  16. 03 3月, 2017 3 次提交
  17. 27 2月, 2017 1 次提交
  18. 24 2月, 2017 1 次提交
  19. 21 2月, 2017 2 次提交
  20. 20 2月, 2017 1 次提交
  21. 17 2月, 2017 2 次提交
  22. 16 2月, 2017 2 次提交