linux_dsm_epyc7002/drivers/gpu/drm/i915/gvt
Weinan Li 23ce0592ac drm/i915/gvt: add RING_INSTDONE and SC_INSTDONE mmio handler in GVT-g
kernel hangcheck needs to check RING_INSTDONE and SC_INSTDONE registers'
state to know if hardware is still running. In GVT-g environment, we need
to emulate these registers changing for all the guests although they are
not render owner. Here we return the physical state for all the guests,
then if INSTDONE is changing guest can know hardware is still running
although its workload is pending.

Read INSTDONE isn't one correct way to know if guest trigger gfx reset,
especially with Linux guest, it will read ACTH first, then check INSTDONE
and SUBSLICE registers to check if hardware is still running, at last
trigger gfx reset when it finds all the registers is frozen. In Windows
guest, read INSTDONE usually happens when OS detect TDR.

With the difference between Windows and Linux guest, "disable_warn_untrack"
may let debug log run into wrong state(Linux guest trigger hangcheck
with no ACTHD changed, then check INSTDONE), but actually there is no TDR
happened.

The new policy is always WARN with untrack MMIO r/w. Bad effect is many
noisy untrack mmio warning logs exist when real TDR happen. Even so you can
control the log output or not by setting the debug mask bit.

v2: remove log in instdone_mmio_read

Suggested-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Cc: Zhenyu Wang <zhenyuw@linux.intel.com>
Signed-off-by: Weinan Li <weinan.z.li@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2017-06-08 13:59:15 +08:00
..
aperture_gm.c drm/i915/gvt: replace the gvt_err with gvt_vgpu_err 2017-03-17 16:46:45 +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: rewrite the trace gvt:gvt_command using trace style approach 2017-06-08 13:59:14 +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/gvt: add mmio init for virtual display 2017-04-12 13:59:33 +08: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: refactor function intel_vgpu_submit_execlist 2017-06-08 13:59:14 +08: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: Fix firmware loading interface for GVT-g golden HW state 2017-04-01 13:13:27 +08:00
gtt.c Merge tag 'gvt-next-fixes-2017-04-20' of https://github.com/01org/gvt-linux into drm-intel-next-fixes 2017-04-26 12:20:02 +03: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: implement per-vm mmio switching optimization 2017-06-08 13:59:15 +08:00
gvt.h Linux 4.11-rc7 2017-04-19 11:07:14 +10:00
handlers.c drm/i915/gvt: add RING_INSTDONE and SC_INSTDONE mmio handler in GVT-g 2017-06-08 13:59:15 +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: Add KBL dispatch logic in each function. 2017-03-29 15:28:51 +08:00
interrupt.h drm/i915/gvt: vGPU command scanner 2016-10-14 18:15:25 +08:00
kvmgt.c Linux 4.11-rc7 2017-04-19 11:07:14 +10:00
Makefile drm/i915/gvt/kvmgt: add vfio/mdev support to KVMGT 2016-12-16 16:55:26 +08:00
mmio.c drm/i915/gvt: add RING_INSTDONE and SC_INSTDONE mmio handler in GVT-g 2017-06-08 13:59:15 +08:00
mmio.h drm/i915/gvt: Add KBL platform definition. 2017-03-29 15:28:51 +08:00
mpt.h drm/i915/gvt: remove detect_host() MPT hook 2017-02-07 17:21:44 +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: implement per-vm mmio switching optimization 2017-06-08 13:59:15 +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: implement per-vm mmio switching optimization 2017-06-08 13:59:15 +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: implement per-vm mmio switching optimization 2017-06-08 13:59:15 +08:00
scheduler.h drm/i915/gvt: implement per-vm mmio switching optimization 2017-06-08 13:59:15 +08:00
trace_points.c drm/i915/gvt: trace stub 2016-10-14 18:12:11 +08:00
trace.h drm/i915/gvt: rewrite the trace gvt:gvt_command using trace style approach 2017-06-08 13:59:14 +08:00
vgpu.c Linux 4.11-rc7 2017-04-19 11:07:14 +10:00