All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zhi Wang <zhi.a.wang@intel.com>
To: chris@chris-wilson.co.uk, zhiyuan.lv@intel.com,
	kevin.tian@intel.com, tvrtko.ursulin@linux.intel.com,
	intel-gfx@lists.freedesktop.org
Subject: [PATCH v8 00/10] Introduce the implementation of GVT context
Date: Wed,  8 Jun 2016 11:30:18 -0400	[thread overview]
Message-ID: <1465399828-17082-1-git-send-email-zhi.a.wang@intel.com> (raw)

This patchset introduces the implementation of GVT context. GVT
context is a special GEM context used by GVT-g. GVT-g uses it as the shadow
context.It doesn't have a drm client nor a PPGTT. And it requires a larger
ring buffer with several special features need by GVT-g workload scheduler
like context status change notification, context single submission...

v8:

- Take Joonas/Chris' comments.

v7:

- Take Joonas' comments.

v6:

- Take Chris' comments.

v5:

- Drop PPGTT related patches.
- Let most functions take struct drm_i915_private *
- Fixed some misspelled words in Kconfig
- Only complied some feature when CONFIG_DRM_I915_GVT=y
- Drop the fecne related changes, will send it after this series.

v4:

- Based on the latest drm-intel-nightly branch.
- Drop PPGTT refactor patches. (GVT-g will use LRI to load PDPs)
- Drop i915_gem_context() refactor patches, reuse kernel context functions.
  (Dave Gordon)
- Drop context allocation params and refactor as the lrc deferred
  allocation function has been refactored in another styles.
- Re-wrtie GVT context creation function

Difference from community release
---------------------------------

This patchset is different from regular iGVT-g code release[4], which
is still based on old host-mediated architecture. Furthermore, this
patchset only supports BDW whereas code release supports HSW/BDW/SKL.
We will add SKL support later based on this RFC code and HSW support
will be dropped.

Internally we tested this RFC patchset with both linux and windows VM
and the architecture changes work fine.

Acknowledgment
---------------

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 but may still have gaps.
We are 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!

Reference
---------

[1] https://01.org/igvt-g
[2] http://lists.freedesktop.org/archives/intel-gfx/2014-September/053098.html
[3] http://lists.freedesktop.org/archives/intel-gfx/2015-September/075397.html


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

Zhi Wang (9):
  drm/i915: Factor out i915_pvinfo.h
  drm/i915: Use offsetof() to calculate the offset of members in PVINFO
    page
  drm/i915: Fold vGPU active check into inner functions
  drm/i915: gvt: Introduce the basic architecture of GVT-g
  drm/i915: Make ring buffer size of a LRC context configurable
  drm/i915: Make addressing mode bits in context descriptor configurable
  drm/i915: Introduce execlist context status change notification
  drm/i915: Support LRC context single submission
  drm/i915: Introduce GVT context creation API

 drivers/gpu/drm/i915/Kconfig            |  22 +++++
 drivers/gpu/drm/i915/Makefile           |   5 ++
 drivers/gpu/drm/i915/gvt/Makefile       |   5 ++
 drivers/gpu/drm/i915/gvt/debug.h        |  34 ++++++++
 drivers/gpu/drm/i915/gvt/gvt.c          | 145 ++++++++++++++++++++++++++++++++
 drivers/gpu/drm/i915/gvt/gvt.h          |  69 +++++++++++++++
 drivers/gpu/drm/i915/gvt/hypercall.h    |  38 +++++++++
 drivers/gpu/drm/i915/gvt/mpt.h          |  49 +++++++++++
 drivers/gpu/drm/i915/i915_dma.c         |  16 +++-
 drivers/gpu/drm/i915/i915_drv.h         |  16 ++++
 drivers/gpu/drm/i915/i915_gem_context.c |  38 +++++++++
 drivers/gpu/drm/i915/i915_gem_gtt.c     |  11 +--
 drivers/gpu/drm/i915/i915_params.c      |   5 ++
 drivers/gpu/drm/i915/i915_params.h      |   1 +
 drivers/gpu/drm/i915/i915_pvinfo.h      | 113 +++++++++++++++++++++++++
 drivers/gpu/drm/i915/i915_reg.h         |  12 +++
 drivers/gpu/drm/i915/i915_vgpu.c        |  32 +++++--
 drivers/gpu/drm/i915/i915_vgpu.h        |  90 +-------------------
 drivers/gpu/drm/i915/intel_gvt.c        | 100 ++++++++++++++++++++++
 drivers/gpu/drm/i915/intel_gvt.h        |  81 ++++++++++++++++++
 drivers/gpu/drm/i915/intel_lrc.c        |  53 +++++++++---
 drivers/gpu/drm/i915/intel_lrc.h        |   5 ++
 22 files changed, 821 insertions(+), 119 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/i915_pvinfo.h
 create mode 100644 drivers/gpu/drm/i915/intel_gvt.c
 create mode 100644 drivers/gpu/drm/i915/intel_gvt.h

-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

             reply	other threads:[~2016-06-08 15:30 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-08 15:30 Zhi Wang [this message]
2016-06-08 15:30 ` [PATCH v8 01/10] drm/i915: Factor out i915_pvinfo.h Zhi Wang
2016-06-08 15:30 ` [PATCH v8 02/10] drm/i915: Use offsetof() to calculate the offset of members in PVINFO page Zhi Wang
2016-06-08 15:30 ` [PATCH v8 03/10] drm/i915: Fold vGPU active check into inner functions Zhi Wang
2016-06-08 15:30 ` [PATCH v8 04/10] drm/i915: gvt: Introduce the basic architecture of GVT-g Zhi Wang
2016-06-08 15:30 ` [PATCH v8 05/10] drm/i915: Introduce host graphics memory partition for GVT-g Zhi Wang
2016-06-08 15:30 ` [PATCH v8 06/10] drm/i915: Make ring buffer size of a LRC context configurable Zhi Wang
2016-06-08 16:03   ` Chris Wilson
2016-06-08 15:30 ` [PATCH v8 07/10] drm/i915: Make addressing mode bits in context descriptor configurable Zhi Wang
2016-06-08 16:08   ` Chris Wilson
2016-06-08 16:13     ` Wang, Zhi A
2016-06-08 15:30 ` [PATCH v8 08/10] drm/i915: Introduce execlist context status change notification Zhi Wang
2016-06-08 15:30 ` [PATCH v8 09/10] drm/i915: Support LRC context single submission Zhi Wang
2016-06-08 15:30 ` [PATCH v8 10/10] drm/i915: Introduce GVT context creation API Zhi Wang
2016-06-08 16:00 ` ✗ Ro.CI.BAT: warning for Introduce the implementation of GVT context (rev6) Patchwork
2016-06-08 16:00 ` [PATCH v8 00/10] Introduce the implementation of GVT context Chris Wilson
2016-06-08 16:05   ` Wang, Zhi A

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1465399828-17082-1-git-send-email-zhi.a.wang@intel.com \
    --to=zhi.a.wang@intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=kevin.tian@intel.com \
    --cc=tvrtko.ursulin@linux.intel.com \
    --cc=zhiyuan.lv@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.