1. 24 2月, 2020 2 次提交
  2. 24 10月, 2019 1 次提交
  3. 13 8月, 2019 1 次提交
    • Z
      drm/i915/gvt: factor out tlb and mocs register offset table · 8cfbca78
      Zhi Wang 提交于
      Factor out tlb and mocs register offset table to fix the issues reported
      by klocwork, #512 and #550. Mostly, the reason why the klocwork reports
      these problems is because there can be possbilities for platforms, which
      have more rings than the ring offset table, to take the dirty data from
      the stack as the register offset. It results to a random HW register
      offset writting in this scenairo when doing context switch between vGPUs.
      
      After the factoring, the ring offset table of TLB and MOCS should be per
      platform.
      
      v2:
      
      - Enable TLB register switch for GEN8. (Zhenyu)
      Reviewed-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      Signed-off-by: NZhi Wang <zhi.a.wang@intel.com>
      Signed-off-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      8cfbca78
  4. 28 5月, 2019 1 次提交
  5. 21 5月, 2019 3 次提交
  6. 05 5月, 2019 1 次提交
    • C
      drm/i915/gvt: Add in context mmio 0x20D8 to gen9 mmio list · 75fdb811
      Colin Xu 提交于
      Depends on GEN family and I915_PARAM_HAS_CONTEXT_ISOLATION, Mesa driver
      will decide whether constant buffer 0 address is relative or absolute,
      and load GPU initial state by lri to context mmio INSTPM (GEN8)
      or 0x20D8 (>=GEN9).
      Mesa Commit fa8a764b62
      ("i965: Use absolute addressing for constant buffer 0 on Kernel 4.16+.")
      
      INSTPM is already added to gen8_engine_mmio_list, but 0x20D8 is missed
      in gen9_engine_mmio_list. From GVT point of view, different guest could
      have different context so should switch those mmio accordingly.
      
      v2: Update fixes commit ID.
      
      Fixes: 17865713 ("drm/i915/gvt: vGPU context switch")
      Reviewed-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      Signed-off-by: NColin Xu <colin.xu@intel.com>
      Signed-off-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      (cherry picked from commit 1e8b15a1)
      75fdb811
  7. 27 4月, 2019 1 次提交
  8. 16 4月, 2019 1 次提交
  9. 27 3月, 2019 1 次提交
  10. 21 3月, 2019 1 次提交
  11. 08 3月, 2019 1 次提交
  12. 06 3月, 2019 1 次提交
  13. 22 2月, 2019 1 次提交
    • C
      drm/i915/gvt: Add in context mmio 0x20D8 to gen9 mmio list · 1e8b15a1
      Colin Xu 提交于
      Depends on GEN family and I915_PARAM_HAS_CONTEXT_ISOLATION, Mesa driver
      will decide whether constant buffer 0 address is relative or absolute,
      and load GPU initial state by lri to context mmio INSTPM (GEN8)
      or 0x20D8 (>=GEN9).
      Mesa Commit fa8a764b62
      ("i965: Use absolute addressing for constant buffer 0 on Kernel 4.16+.")
      
      INSTPM is already added to gen8_engine_mmio_list, but 0x20D8 is missed
      in gen9_engine_mmio_list. From GVT point of view, different guest could
      have different context so should switch those mmio accordingly.
      
      v2: Update fixes commit ID.
      
      Fixes: 17865713 ("drm/i915/gvt: vGPU context switch")
      Reviewed-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      Signed-off-by: NColin Xu <colin.xu@intel.com>
      Signed-off-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      1e8b15a1
  14. 10 1月, 2019 1 次提交
  15. 12 11月, 2018 1 次提交
  16. 31 10月, 2018 1 次提交
  17. 30 8月, 2018 1 次提交
  18. 07 8月, 2018 1 次提交
  19. 05 7月, 2018 1 次提交
  20. 13 6月, 2018 1 次提交
  21. 18 5月, 2018 1 次提交
  22. 30 4月, 2018 1 次提交
  23. 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
  24. 06 3月, 2018 3 次提交
  25. 14 2月, 2018 1 次提交
  26. 01 2月, 2018 2 次提交
  27. 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
  28. 18 12月, 2017 4 次提交
  29. 08 12月, 2017 3 次提交