Re: [Intel-gfx] refactor the i915 GVT support

Zhenyu Wang
2021-07-22T10:06:59Z

[-- Attachment #1.1: Type: text/plain, Size: 2889 bytes --]

On 2021.07.21 17:53:34 +0200, Christoph Hellwig wrote:
> 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.
>

The reason we isolated hypervisor specific code from core vgpu
emulation is to make multiple hypervisor support possible. Yes, we do
have Xen support but never got way into upstream...And we also have
third party hypervisors which leverage gvt function through current
hypervisor interface.

Sorry I may not have more time to check in details for now, but some
of them look fine to me. I'll review more after vacation or let Zhi check details.

Thanks!

> 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(-)

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]