[Intel-gfx] [RFCv2 PATCH 00/14] gvt: Hacking i915 for GVT context requirement

Zhi Wang zhi.a.wang at intel.com
Thu Feb 18 11:42:07 UTC 2016

This patchset is used to discuss and finalize the i915 changes required by
GVT context. Previously we have discussed about how to hack i915 to meet
GVT context requirement, and thanks for the idea and comments.

In this patchset, mostly it refactors the existing i915 APIs, spliting the
hard-coded assumptions from its core logic, keep these assumptions in the
high level wrapper and make the core logic much more flexible and config-
urable, which is able to be used by GVT context creation and submission.

Mostly it based on Daniel's and Kevin's idea here:


And also it incldues the two v2 patches which have addresses the comments
from Joonas

Previous patches reviewed here:

drm/i915/gvt: Introduce the basic architecture of GVT-g:


drm/i915: Introduce host graphics memory/fence partition for GVT-g



iGVT-g implementation is several years effort and many people
contributed to the code. There names are not here yet. In later formal
patchset we will reflect individual's contribution.

Meanwhile, in the previous iGVT-g related discussion, Daniel, Chris
and Joonas ever gave very good inputs. We appreciate them and look
forward to more comments/suggestions from community.

We are trying to get more familiar with i915 and willing to adopt
suggestions to keep improving. We hope to work with community together
to make iGVT-g a great component in i915 to support graphics 
virtualization. Thanks!

Bing Niu (1):
  drm/i915: Introduce host graphics memory/fence partition for GVT-g

Zhi Wang (13):
  drm/i915: factor out i915_pvinfo.h
  drm/i915/gvt: Introduce the basic architecture of GVT-g
  drm/i915: factor out alloc_context_idr() and
  drm/i915: factor out __create_legacy_hw_context()
  drm/i915: let __i915_gem_context_create() takes context creation
  drm/i915: factor out __intel_lr_context_deferred_alloc()
  drm/i915: Support per-PPGTT address space mode
  drm/i915: generate address mode bit from PPGTT instance
  drm/i915: update PDPs by condition when submit the LRC context
  drm/i915: Introduce execlist context status change notification
  drm/i915: factor out execlists_i915_pick_requests()
  drm/i915: Support context single submission when GVT is active
  drm/i915: Introduce GVT context creation API

 drivers/gpu/drm/i915/Kconfig            |  15 ++
 drivers/gpu/drm/i915/Makefile           |   2 +
 drivers/gpu/drm/i915/gvt/Makefile       |   5 +
 drivers/gpu/drm/i915/gvt/debug.h        |  57 +++++
 drivers/gpu/drm/i915/gvt/gvt.c          | 397 ++++++++++++++++++++++++++++++++
 drivers/gpu/drm/i915/gvt/gvt.h          | 100 ++++++++
 drivers/gpu/drm/i915/gvt/hypercall.h    |  30 +++
 drivers/gpu/drm/i915/gvt/mpt.h          |  34 +++
 drivers/gpu/drm/i915/gvt/params.c       |  44 ++++
 drivers/gpu/drm/i915/gvt/params.h       |  37 +++
 drivers/gpu/drm/i915/gvt/reg.h          |  34 +++
 drivers/gpu/drm/i915/i915_dma.c         |  14 ++
 drivers/gpu/drm/i915/i915_drv.h         |  52 +++++
 drivers/gpu/drm/i915/i915_gem.c         |   4 +-
 drivers/gpu/drm/i915/i915_gem_context.c | 204 +++++++++++-----
 drivers/gpu/drm/i915/i915_gem_gtt.c     |  85 ++++---
 drivers/gpu/drm/i915/i915_gem_gtt.h     |   3 +
 drivers/gpu/drm/i915/i915_gvt.c         |  93 ++++++++
 drivers/gpu/drm/i915/i915_gvt.h         |  49 ++++
 drivers/gpu/drm/i915/i915_pvinfo.h      | 113 +++++++++
 drivers/gpu/drm/i915/i915_vgpu.c        |  21 +-
 drivers/gpu/drm/i915/i915_vgpu.h        |  86 +------
 drivers/gpu/drm/i915/intel_lrc.c        | 225 +++++++++++++-----
 drivers/gpu/drm/i915/intel_lrc.h        |  15 ++
 24 files changed, 1477 insertions(+), 242 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gvt/Makefile
 create mode 100644 drivers/gpu/drm/i915/gvt/debug.h
 create mode 100644 drivers/gpu/drm/i915/gvt/gvt.c
 create mode 100644 drivers/gpu/drm/i915/gvt/gvt.h
 create mode 100644 drivers/gpu/drm/i915/gvt/hypercall.h
 create mode 100644 drivers/gpu/drm/i915/gvt/mpt.h
 create mode 100644 drivers/gpu/drm/i915/gvt/params.c
 create mode 100644 drivers/gpu/drm/i915/gvt/params.h
 create mode 100644 drivers/gpu/drm/i915/gvt/reg.h
 create mode 100644 drivers/gpu/drm/i915/i915_gvt.c
 create mode 100644 drivers/gpu/drm/i915/i915_gvt.h
 create mode 100644 drivers/gpu/drm/i915/i915_pvinfo.h


More information about the Intel-gfx mailing list