1. 06 3月, 2019 1 次提交
  2. 10 1月, 2019 1 次提交
  3. 12 11月, 2018 1 次提交
  4. 31 10月, 2018 1 次提交
  5. 30 8月, 2018 1 次提交
  6. 07 8月, 2018 1 次提交
  7. 05 7月, 2018 1 次提交
  8. 13 6月, 2018 1 次提交
  9. 18 5月, 2018 1 次提交
  10. 30 4月, 2018 1 次提交
  11. 09 3月, 2018 1 次提交
    • X
      drm/i915/gvt: Add runtime_pm_get/put into gvt_switch_mmio · b24881e0
      Xiong Zhang 提交于
      If user continuously create vgpu, boot guest, shoutdown guest and destroy
      vgpu from remote, the following calltrace exists in dmesg sometimes:
      [ 6412.954721] RPM wakelock ref not held during HW access
      [ 6412.954795] WARNING: CPU: 7 PID: 11941 at
      linux/drivers/gpu/drm/i915/intel_drv.h:1800
      intel_uncore_forcewake_get.part.7+0x96/0xa0 [i915]
      [ 6412.954915] Call Trace:
      [ 6412.954951] intel_uncore_forcewake_get+0x18/0x20 [i915]
      [ 6412.954989] intel_gvt_switch_mmio+0x8e/0x770 [i915]
      [ 6412.954996] ? __slab_free+0x14d/0x2c0
      [ 6412.955001] ? __slab_free+0x14d/0x2c0
      [ 6412.955006] ? __slab_free+0x14d/0x2c0
      [ 6412.955041] intel_vgpu_stop_schedule+0x92/0xd0 [i915]
      [ 6412.955073] intel_gvt_deactivate_vgpu+0x48/0x60 [i915]
      [ 6412.955078] __intel_vgpu_release+0x55/0x260 [kvmgt]
      
      when this happens, gvt_switch_mmio is called at vgpu destroy, host i915 is
      idle and doesn't hold RPM wakelock, igd is in powersave mode, but
      gvt_switch_mmio require igd power on to access register, so
      intel_runtime_pm_get should be added to make sure igd power on before
      gvt_switch_mmio.
      
      v2: Move runtime_pm_get/put into gvt_switch_mmio.(Zhenyu)
      Signed-off-by: NXiong Zhang <xiong.y.zhang@intel.com>
      Signed-off-by: NZhi Wang <zhi.a.wang@intel.com>
      b24881e0
  12. 06 3月, 2018 3 次提交
  13. 14 2月, 2018 1 次提交
  14. 01 2月, 2018 2 次提交
  15. 22 12月, 2017 1 次提交
    • Z
      drm/i915/gvt: cleanup usage for typed mmio reg vs. offset · 90551a12
      Zhenyu Wang 提交于
      We had previous hack that tried to accept either i915_reg_t or offset
      value to access vGPU virtual/shadow regs which broke that purpose to
      be type safe in context. This one trys to explicitly separate the usage
      of typed mmio reg with real offset.
      
      Old vgpu_vreg(offset) helper is used only for offset now with new
      vgpu_vreg_t(reg) is used for i915_reg_t only. Convert left usage
      of that to new helper.
      
      Also fixed left KASAN warning issues caused by previous hack.
      
      v2: rebase, fixup against recent mmio switch change
      Reviewed-by: NZhi Wang <zhi.a.wang@intel.com>
      Signed-off-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      90551a12
  16. 18 12月, 2017 4 次提交
  17. 08 12月, 2017 4 次提交
  18. 21 11月, 2017 1 次提交
  19. 16 11月, 2017 3 次提交
  20. 22 9月, 2017 1 次提交
  21. 10 8月, 2017 2 次提交
  22. 08 6月, 2017 2 次提交
    • X
      drm/i915/gvt: Change flood gvt dmesg into trace · 7fb6a7d6
      Xiong Zhang 提交于
      Currently gvt dmesg is so heavy at drm.debug=0x2 that guest and
      host almost couldn't run on xengt.
      
      This patch transfer these repeated messages into trace, so dmesg
      is light at drm.debug=0x2, and user could get the target message through
      trace event and trace filter.
      Suggested-by: NZhi Wang <zhi.a.wang@intel.com>
      Signed-off-by: NXiong Zhang <xiong.y.zhang@intel.com>
      Signed-off-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      7fb6a7d6
    • C
      drm/i915/gvt: implement per-vm mmio switching optimization · 0e86cc9c
      Changbin Du 提交于
      Commit ab9da627906a ("drm/i915: make context status notifier head be
      per engine") gives us a chance to inspect every single request. Then
      we can eliminate unnecessary mmio switching for same vGPU. We only
      need mmio switching for different VMs (including host).
      
      This patch introduced a new general API intel_gvt_switch_mmio() to
      replace the old intel_gvt_load/restore_render_mmio(). This function
      can be further optimized for vGPU to vGPU switching.
      
      To support individual ring switch, we track the owner who occupy
      each ring. When another VM or host request a ring we do the mmio
      context switching. Otherwise no need to switch the ring.
      
      This optimization is very useful if only one guest has plenty of
      workloads and the host is mostly idle. The best case is no mmio
      switching will happen.
      
      v2:
        o fix missing ring switch issue. (chuanxiao)
        o support individual ring switch.
      Signed-off-by: NChangbin Du <changbin.du@intel.com>
      Reviewed-by: NChuanxiao Dong <chuanxiao.dong@intel.com>
      Signed-off-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      0e86cc9c
  23. 08 5月, 2017 1 次提交
  24. 12 4月, 2017 2 次提交
  25. 29 3月, 2017 2 次提交