linux/drivers/gpu/drm/i915/gvt
Changbin Du 4671ea2041 drm/i915/gvt: Optimize ring siwtch 2x faster again by light weight mmio access wrapper
The I915_READ/WRITE is not only a mmio read/write, it also contains
debug checking and Forcewake domain lookup. This is too heavy for
GVT ring switch case which access batch of mmio registers on ring
switch. We can handle Forcewake manually and use the raw
i915_read/write instead. The benefit from this is 2x faster mmio
switch performance.
         Before       After
cycles  ~550000      ~250000

v2: Use existing I915_READ_FW/I915_WRITE_FW macro. (zhenyu)

Signed-off-by: Changbin Du <changbin.du@intel.com>
Reviewed-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2017-08-10 10:26:06 +08:00
..
Makefile drm/i915/gvt: remove redundant -Wall 2017-06-08 13:59:18 +08:00
aperture_gm.c drm/i915/gvt: Use gvt_err to print the resource not enough error 2017-08-10 10:26:05 +08:00
cfg_space.c drm/i915/gvt: exclude cfg space from failsafe mode 2017-03-30 17:47:39 +08:00
cmd_parser.c drm/i915/gvt: Audit the command buffer address 2017-07-11 13:46:58 +08:00
cmd_parser.h drm/i915/gvt: vGPU command scanner 2016-10-14 18:15:25 +08:00
debug.h drm/i915/gvt: replace the gvt_err with gvt_vgpu_err 2017-03-17 16:46:45 +08:00
display.c drm/i915/hsw+: Add has_fuses power well attribute 2017-07-27 09:38:53 +02: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 Merge tag 'drm-intel-next-2017-06-19' of git://anongit.freedesktop.org/git/drm-intel into drm-next 2017-06-21 08:55:22 +10:00
execlist.h drm/i915/gvt: fix crash in vgpu_reset_execlist 2016-11-14 18:06:43 +08:00
firmware.c drm/i915/gvt: Cleanup struct intel_gvt_mmio_info 2017-06-08 13:59:19 +08:00
gtt.c drm/i915/gvt: Fix a memory leak in intel_gvt_init_gtt() 2017-07-11 13:46:58 +08:00
gtt.h drm/i915/gvt: introuduce intel_vgpu_reset_gtt() to reset gtt 2017-01-13 15:05:38 +08:00
gvt.c drm/i915/gvt: Support event based scheduling 2017-06-08 13:59:16 +08:00
gvt.h drm/i915/gvt: Revert "drm/i915/gvt: Fix possible recursive locking issue" 2017-07-11 13:46:58 +08:00
handlers.c drm/i915/hsw+: Unify the hsw/bdw and gen9+ power well req/state macros 2017-07-27 09:38:52 +02: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: Revert "drm/i915/gvt: Fix possible recursive locking issue" 2017-07-11 13:46:58 +08:00
mmio.c drm/i915/gvt: Refine virtual reset function 2017-06-08 13:59:21 +08:00
mmio.h drm/i915/gvt: Refine virtual reset function 2017-06-08 13:59:21 +08:00
mpt.h drm/i915/gvt: Change flood gvt dmesg into trace 2017-06-08 13:59:16 +08:00
opregion.c drm/i915/gvt: replace the gvt_err with gvt_vgpu_err 2017-03-17 16:46:45 +08:00
reg.h drm/i915/gvt: cleanup opregion memory allocation code 2017-01-09 11:11:32 +08:00
render.c drm/i915/gvt: Optimize ring siwtch 2x faster again by light weight mmio access wrapper 2017-08-10 10:26:06 +08:00
render.h drm/i915/gvt: implement per-vm mmio switching optimization 2017-06-08 13:59:15 +08:00
sched_policy.c Merge tag 'gvt-next-2017-06-08' of https://github.com/01org/gvt-linux into drm-intel-next-queued 2017-06-16 10:03:01 +03:00
sched_policy.h drm/i915/gvt: use hrtimer replace delayed_work in scheduler 2017-03-30 13:32:24 +08:00
scheduler.c Merge tag 'drm-intel-next-2017-07-17' of git://anongit.freedesktop.org/git/drm-intel into drm-next 2017-07-20 11:31:43 +10:00
scheduler.h drm/i915/gvt: implement per-vm mmio switching optimization 2017-06-08 13:59:15 +08:00
trace.h drm/i915/gvt: Change flood gvt dmesg into trace 2017-06-08 13:59:16 +08:00
trace_points.c drm/i915/gvt: trace stub 2016-10-14 18:12:11 +08:00
vgpu.c drm/i915/gvt: Refine virtual reset function 2017-06-08 13:59:21 +08:00