1. 16 11月, 2017 8 次提交
  2. 27 10月, 2017 1 次提交
  3. 08 9月, 2017 2 次提交
    • F
      drm/i915/gvt: Refine error handling for perform_bb_shadow · 1e3197d6
      fred gao 提交于
      fix the wrong return type and return error once the unknown
      command is scanned.
      
      v2:
      - separate this error handle from healthy rating code. (Zhenyu)
      Signed-off-by: Nfred gao <fred.gao@intel.com>
      Signed-off-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      1e3197d6
    • F
      drm/i915/gvt: Separate cmd scan from request allocation · 0a53bc07
      fred gao 提交于
      Currently i915 request structure and shadow ring buffer are allocated
      before command scan, so it will have to restore to previous states once
      any error happens afterwards in the long dispatch_workload path.
      
      This patch is to introduce a reserved ring buffer created at the beginning
      of vGPU initialization. Workload will be coped to this reserved buffer and
      be scanned first, the i915 request and shadow ring buffer are only
      allocated after the result of scan is successful.
      
      To balance the memory usage and buffer alloc time, the coming bigger ring
      buffer will be reallocated and kept until more bigger buffer is coming.
      
      v2:
      - use kmalloc for the smaller ring buffer, realloc if required. (Zhenyu)
      
      v3:
      - remove the dynamically allocated ring buffer. (Zhenyu)
      
      v4:
      - code style polish.
      - kfree previous allocated buffer once kmalloc failed. (Zhenyu)
      Signed-off-by: Nfred gao <fred.gao@intel.com>
      Signed-off-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      0a53bc07
  4. 23 8月, 2017 1 次提交
  5. 10 8月, 2017 2 次提交
  6. 11 7月, 2017 1 次提交
  7. 08 6月, 2017 2 次提交
    • X
      drm/i915/gvt: Delete gvt_dbg_cmd() in cmd_parser_exec() · 089f93c3
      Xiong Zhang 提交于
      Since cmd message have been recorded in trace, gvt_dbg_cmd isn't
      necessary. This will reduce much of dmesg as gvt_dbg_cmd is repeated
      on each workload.
      Signed-off-by: NXiong Zhang <xiong.y.zhang@intel.com>
      Signed-off-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      089f93c3
    • C
      drm/i915/gvt: rewrite the trace gvt:gvt_command using trace style approach · ffc19776
      Changbin Du 提交于
      The gvt:gvt_command trace involve unnecessary overhead even this trace is
      not enabled. We need improve it.
      
      The kernel trace infrastructure provide a full api to define a trace event.
      We should leverage them if possible. And one important thing is that a trace
      point should store raw data but not format string.
      
      This patch include two part work:
      1) Refactor the gvt_command trace definition, including:
        o only store raw trace data.
        o use __dynamic_array() to declare a variable size buffer.
        o use __print_array() to format raw cmd data.
        o rename vm_id as vgpu_id.
      
      2) Improve the trace invoking, including:
        o remove the cycles calculation for handler. We can get this data
          by any perf tool.
        o do not make a backup for raw cmd data which just doesn't make sense.
      
      With this patch, this trace has no overhead if it is not enabled. And we are
      trace style now.
      
      The final output example:
        gvt workload 0-211   [000] ...1   120.555964: gvt_command: vgpu1 ring 0: buf_type 0, ip_gma e161e880, raw cmd {0x4000000}
        gvt workload 0-211   [000] ...1   120.556014: gvt_command: vgpu1 ring 0: buf_type 0, ip_gma e161e884, raw cmd {0x7a000004,0x1004000,0xe1511018,0x0,0x7d,0x0}
        gvt workload 0-211   [000] ...1   120.556062: gvt_command: vgpu1 ring 0: buf_type 0, ip_gma e161e89c, raw cmd {0x7a000004,0x140000,0x0,0x0,0x0,0x0}
        gvt workload 0-211   [000] ...1   120.556110: gvt_command: vgpu1 ring 0: buf_type 0, ip_gma e161e8b4, raw cmd {0x10400002,0xe1511018,0x0,0x7d}
      Signed-off-by: NChangbin Du <changbin.du@intel.com>
      Signed-off-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      ffc19776
  8. 12 4月, 2017 2 次提交
  9. 29 3月, 2017 3 次提交
  10. 17 3月, 2017 3 次提交
  11. 08 3月, 2017 1 次提交
  12. 14 2月, 2017 2 次提交
    • T
      drm/i915: Emit to ringbuffer directly · 73dec95e
      Tvrtko Ursulin 提交于
      This removes the usage of intel_ring_emit in favour of
      directly writing to the ring buffer.
      
      intel_ring_emit was preventing the compiler for optimising
      fetch and increment of the current ring buffer pointer and
      therefore generating very verbose code for every write.
      
      It had no useful purpose since all ringbuffer operations
      are started and ended with intel_ring_begin and
      intel_ring_advance respectively, with no bail out in the
      middle possible, so it is fine to increment the tail in
      intel_ring_begin and let the code manage the pointer
      itself.
      
      Useless instruction removal amounts to approximately
      two and half kilobytes of saved text on my build.
      
      Not sure if this has any measurable performance
      implications but executing a ton of useless instructions
      on fast paths cannot be good.
      
      v2:
       * Change return from intel_ring_begin to error pointer by
         popular demand.
       * Move tail increment to intel_ring_advance to enable some
         error checking.
      
      v3:
       * Move tail advance back into intel_ring_begin.
       * Rebase and tidy.
      
      v4:
       * Complete rebase after a few months since v3.
      
      v5:
       * Remove unecessary cast and fix !debug compile. (Chris Wilson)
      
      v6:
       * Make intel_ring_offset take request as well.
       * Fix recording of request postfix plus a sprinkle of asserts.
         (Chris Wilson)
      
      v7:
       * Use intel_ring_offset to get the postfix. (Chris Wilson)
       * Convert GVT code as well.
      
      v8:
       * Rename *out++ to *cs++.
      
      v9:
       * Fix GVT out to cs conversion in GVT.
      
      v10:
       * Rebase for new intel_ring_begin in selftests.
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Zhi Wang <zhi.a.wang@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Acked-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170214113242.29241-1-tvrtko.ursulin@linux.intel.com
      73dec95e
    • X
      drm/i915/gvt: add sprite plane flip done support. · 6e27d514
      Xu Han 提交于
      * Add flip done event support for sprite plane on SKL platform.
      * Fix bug #1452, "Call Trace:handle_default_event_virt+0xef/0x100
      [i915]" while booting up guest.
      Signed-off-by: NXu Han <xu.han@intel.com>
      Signed-off-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      6e27d514
  13. 17 1月, 2017 1 次提交
  14. 02 12月, 2016 1 次提交
  15. 16 11月, 2016 1 次提交
  16. 07 11月, 2016 1 次提交
  17. 26 10月, 2016 1 次提交
  18. 25 10月, 2016 1 次提交
  19. 20 10月, 2016 6 次提交