linux_dsm_epyc7002/drivers/gpu/drm/i915/gvt
Zhenyu Wang bec3df930f drm/i915/gvt: Support PPGTT table load command
The PPGTT in context image can be overridden by LRI cmd with another
PPGTT's pdps. In such case, the load mm is used instead of the one in
the context image. So we need to load its shadow mm in GVT and replace
ppgtt pointers in command.

This feature is used by guest IGD driver to share gfx VM between
different contexts. Verified by IGT "gem_ctx_clone" test.

v4:
- consolidate shadow mm handlers (Yan)
- fix cmd shadow mm pin error path

v3: (Zhenyu Wang)
- Cleanup PDP register offset check
- Add debug check for guest context ppgtt update
- Skip 3-level ppgtt guest handling code. The reason is that all
  guests now use 4-level ppgtt table and the only left case for
  3-level table is ancient aliasing ppgtt case. But those guest
  kernel has no use of PPGTT LRI command. So 3-level ppgtt guest
  for this feature becomes simply un-testable.

v2: (Zhenyu Wang)
- Change to list for handling possible multiple ppgtt table loads
  in one submission. Make sure shadow mm is to replace for each one.

Reviewed-by: Yan Zhao <yan.y.zhao@intel.com>
Cc: Yan Zhao <yan.y.zhao@intel.com>
Signed-off-by: Tina Zhang <tina.zhang@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20200508031409.2562-1-zhenyuw@linux.intel.com
2020-05-08 12:36:38 +08:00
..
aperture_gm.c drm/i915/gvt: Wean gvt off using dev_priv 2020-03-06 10:08:10 +08:00
cfg_space.c drm/i915/gvt: Wean gvt off using dev_priv 2020-03-06 10:08:10 +08:00
cmd_parser.c drm/i915/gvt: Support PPGTT table load command 2020-05-08 12:36:38 +08:00
cmd_parser.h
debug.h
debugfs.c drm/i915/gvt: Wean gvt off using dev_priv 2020-03-06 10:08:10 +08:00
display.c drm/i915/gvt: Wean gvt off using dev_priv 2020-03-06 10:08:10 +08:00
display.h
dmabuf.c drm/i915/gvt: Wean gvt off using dev_priv 2020-03-06 10:08:10 +08:00
dmabuf.h
edid.c drm/i915/gvt: Wean gvt off using dev_priv 2020-03-06 10:08:10 +08:00
edid.h
execlist.c drm/i915/gvt: move workload destroy out of execlist complete 2020-05-08 12:34:12 +08:00
execlist.h drm/i915/gvt: Wean gvt off dev_priv->engine[] 2020-03-06 09:56:15 +08:00
fb_decoder.c drm/i915/gvt: Wean gvt off using dev_priv 2020-03-06 10:08:10 +08:00
fb_decoder.h
firmware.c drm/i915/gvt: Wean gvt off using dev_priv 2020-03-06 10:08:10 +08:00
gtt.c drm/i915/gvt: Support PPGTT table load command 2020-05-08 12:36:38 +08:00
gtt.h drm/i915/gvt: Support PPGTT table load command 2020-05-08 12:36:38 +08:00
gvt.c i915/gvt: remove unused xen bits 2020-04-14 16:40:42 +08:00
gvt.h drm/i915/gvt: skip populate shadow context if guest context not changed 2020-04-17 17:31:22 +08:00
handlers.c drm/i915/gvt: Support PPGTT table load command 2020-05-08 12:36:38 +08:00
hypercall.h i915/gvt: remove unused xen bits 2020-04-14 16:40:42 +08:00
interrupt.c drm/i915/gvt: Wean gvt off using dev_priv 2020-03-06 10:08:10 +08:00
interrupt.h
kvmgt.c drm/i915/gvt: Wean gvt off using dev_priv 2020-03-06 10:08:10 +08:00
Makefile
mmio_context.c drm/i915/gvt: Wean gvt off using dev_priv 2020-03-06 10:08:10 +08:00
mmio_context.h drm/i915/gvt: Wean gvt off dev_priv->engine[] 2020-03-06 09:56:15 +08:00
mmio.c drm/i915/gvt: Wean gvt off using dev_priv 2020-03-06 10:08:10 +08:00
mmio.h drm/i915/gvt: Wean gvt off dev_priv->engine[] 2020-03-06 09:56:15 +08:00
mpt.h
opregion.c
page_track.c
page_track.h
reg.h
sched_policy.c drm/i915/gvt: Wean gvt off using dev_priv 2020-03-06 10:08:10 +08:00
sched_policy.h
scheduler.c drm/i915/gvt: Support PPGTT table load command 2020-05-08 12:36:38 +08:00
scheduler.h drm/i915/gvt: Support PPGTT table load command 2020-05-08 12:36:38 +08:00
trace_points.c
trace.h
vgpu.c drm/i915/gvt: Wean gvt off using dev_priv 2020-03-06 10:08:10 +08:00