refactor the i915 GVT support

From: Christoph Hellwig
Date: Wed Jul 21 2021 - 11:54:27 EST


Hi all,

the GVT code in the i915 is a bit of a mess right now due to strange
abstractions and lots of indirect calls. This series refactors various
bits to clean that up. The main user visible change is that almost all
of the GVT code moves out of the main i915 driver and into the kvmgt
module.

Tested on my Thinkpad with a Kaby Lake CPU and integrated graphics.

Git tree:

git://git.infradead.org/users/hch/misc.git i915-gvt

Gitweb:

http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/i915-gvt

Diffstat:
b/drivers/gpu/drm/i915/Kconfig | 31
b/drivers/gpu/drm/i915/Makefile | 30
b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c | 4
b/drivers/gpu/drm/i915/gvt/cfg_space.c | 89 --
b/drivers/gpu/drm/i915/gvt/cmd_parser.c | 4
b/drivers/gpu/drm/i915/gvt/dmabuf.c | 36
b/drivers/gpu/drm/i915/gvt/execlist.c | 12
b/drivers/gpu/drm/i915/gvt/gtt.c | 55 -
b/drivers/gpu/drm/i915/gvt/gvt.c | 100 --
b/drivers/gpu/drm/i915/gvt/gvt.h | 132 ++-
b/drivers/gpu/drm/i915/gvt/interrupt.c | 38 -
b/drivers/gpu/drm/i915/gvt/kvmgt.c | 634 ++++-------------
b/drivers/gpu/drm/i915/gvt/mmio.c | 4
b/drivers/gpu/drm/i915/gvt/opregion.c | 148 ---
b/drivers/gpu/drm/i915/gvt/page_track.c | 8
b/drivers/gpu/drm/i915/gvt/scheduler.c | 37
b/drivers/gpu/drm/i915/gvt/trace.h | 2
b/drivers/gpu/drm/i915/gvt/vgpu.c | 22
b/drivers/gpu/drm/i915/i915_drv.h | 7
b/drivers/gpu/drm/i915/i915_params.c | 2
b/drivers/gpu/drm/i915/intel_gvt.c | 64 +
b/drivers/gpu/drm/i915/intel_gvt.h | 4
drivers/gpu/drm/i915/gvt/Makefile | 9
drivers/gpu/drm/i915/gvt/hypercall.h | 82 --
drivers/gpu/drm/i915/gvt/mpt.h | 400 ----------
25 files changed, 541 insertions(+), 1413 deletions(-)