linux/drivers/gpu/drm/i915/gvt
Weinan Li a2ae95af96 drm/i915/gvt: update CSB and CSB write pointer in virtual HWSP
The engine provides a mirror of the CSB and CSB write pointer in the HWSP.
Read these status from virtual HWSP in VM can reduce CPU utilization while
applications have much more short GPU workloads. Here we update the
corresponding data in virtual HWSP as it in virtual MMIO.

Before read these status from HWSP in GVT-g VM, please ensure the host
support it by checking the BIT(3) of caps in PVINFO.

Virtual HWSP only support GEN8+ platform, since the HWSP MMIO may change
follow the platform update, please add the corresponding MMIO emulation
when enable new platforms in GVT-g.

v3 : Add address audit in HWSP address update.

v4 :
     Separate this patch with enalbe virtual HWSP in VM.
     Use intel_gvt_render_mmio_to_ring_id() to determine ring_id by offset.

v5 : Remove unnessary check about Gen8, GVT-g only support Gen8+.

Signed-off-by: Weinan Li <weinan.z.li@intel.com>
Cc: Zhenyu Wang <zhenyuw@linux.intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2017-11-16 11:48:31 +08:00
..
aperture_gm.c drm/i915: Add interface to reserve fence registers for vGPU 2017-09-04 16:34:59 +01:00
cfg_space.c drm/i915/gvt: Fix incorrect PCI BARs reporting 2017-09-18 15:22:16 -07:00
cmd_parser.c drm/i915/gvt: Use I915_GTT_PAGE_SIZE 2017-11-16 11:48:22 +08:00
cmd_parser.h drm/i915/gvt: Factor out scan and shadow from workload dispatch 2017-08-10 10:26:06 +08:00
debug.h drm/i915/gvt: Use dyndbg for gvt debug info 2017-11-16 11:46:52 +08:00
debugfs.c drm/i915/gvt: Add basic debugfs infrastructure 2017-11-16 11:48:20 +08:00
display.c Merge tag 'drm-intel-next-2017-08-18' of git://anongit.freedesktop.org/git/drm-intel into drm-next 2017-08-22 10:03:07 +10:00
display.h drm/i915/gvt: add resolution definition for vGPU type 2017-02-24 13:25:18 +08:00
edid.c drm/i915/gvt: Fix guest fail to read EDID leading to black guest console issue. 2017-03-21 10:50:02 +08:00
edid.h drm/i915/gvt: Fix static checker warning on intel_gvt_i2c_handle_aux_ch_write() 2016-11-14 18:06:44 +08:00
execlist.c drm/i915/gvt: update CSB and CSB write pointer in virtual HWSP 2017-11-16 11:48:31 +08:00
execlist.h drm/i915/gvt: Make elsp_dwords in the right order 2017-11-16 11:46:07 +08:00
firmware.c drm/i915/gvt: Initialize MMIO Block with HW state 2017-08-04 17:39:41 +08:00
gtt.c drm/i915/gvt: Refine broken PPGTT scratch 2017-11-16 11:48:24 +08:00
gtt.h drm/i915/gvt: Refine broken PPGTT scratch 2017-11-16 11:48:24 +08:00
gvt.c drm/i915/gvt: Add basic debugfs infrastructure 2017-11-16 11:48:20 +08:00
gvt.h drm/i915/gvt: update CSB and CSB write pointer in virtual HWSP 2017-11-16 11:48:31 +08:00
handlers.c drm/i915/gvt: update CSB and CSB write pointer in virtual HWSP 2017-11-16 11:48:31 +08:00
hypercall.h drm/i915/gvt: remove detect_host() MPT hook 2017-02-07 17:21:44 +08:00
interrupt.c drm/i915/gvt: Change flood gvt dmesg into trace 2017-06-08 13:59:16 +08:00
interrupt.h drm/i915/gvt: vGPU command scanner 2016-10-14 18:15:25 +08:00
kvmgt.c drm/i915/gvt: Refactor vGPU type code in kvmgt part 2017-11-16 11:48:20 +08:00
Makefile drm/i915/gvt: Add basic debugfs infrastructure 2017-11-16 11:48:20 +08:00
mmio.c drm/i915/gvt: Factor intel_vgpu_page_track 2017-11-16 11:48:22 +08:00
mmio.h drm/i915/gvt: Export intel_gvt_render_mmio_to_ring_id() 2017-11-16 11:48:22 +08:00
mpt.h drm/i915/gvt: Factor intel_vgpu_page_track 2017-11-16 11:48:22 +08:00
opregion.c drm/i915/gvt: Add support for opregion virtualization 2017-11-16 11:46:07 +08:00
reg.h drm/i915/gvt: Use I915_GTT_PAGE_SIZE 2017-11-16 11:48:22 +08:00
render.c drm/i915/gvt: Move tlb_handle_pending into intel_vgpu_submission 2017-11-16 11:46:49 +08:00
render.h drm/i915/gvt: implement per-vm mmio switching optimization 2017-06-08 13:59:15 +08:00
sched_policy.c drm/i915/gvt: Fix GPU hang after reusing vGPU instance across different guest OS 2017-10-17 00:44:10 +08:00
sched_policy.h drm/i915/gvt: use hrtimer replace delayed_work in scheduler 2017-03-30 13:32:24 +08:00
scheduler.c drm/i915/gvt: Use I915_GTT_PAGE_SIZE 2017-11-16 11:48:22 +08:00
scheduler.h drm/i915/gvt: Refine shadow batch buffer 2017-11-16 11:48:21 +08:00
trace_points.c drm/i915/gvt: trace stub 2016-10-14 18:12:11 +08:00
trace.h drm/i915/gvt: Change flood gvt dmesg into trace 2017-06-08 13:59:16 +08:00
vgpu.c drm/i915/gvt: update CSB and CSB write pointer in virtual HWSP 2017-11-16 11:48:31 +08:00