intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] drm/intel: guest i915 changes for Broadwell to run inside VM with Intel GVT-g
@ 2015-08-20  7:45 Zhiyuan Lv
  2015-08-20  7:45 ` [PATCH 1/7] drm/i915: preallocate pdps for 32 bit vgpu Zhiyuan Lv
                   ` (6 more replies)
  0 siblings, 7 replies; 44+ messages in thread
From: Zhiyuan Lv @ 2015-08-20  7:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: igvt-g

I915 kernel driver can now work inside a virtual machine on Haswell
with Intel GVT-g. In order to do the same thing on Broadwell, there
are some extra changes needed. The two main things are to support the
more complicated PPGTT page table structure and EXECLIST contexts.
GVT-g will perform shadow PPGTT and shadow context, which requires
guest driver to explicitly notify host device model the life cycle of
PPGTT and EXECLIST contexts.

The first and the forth patches added some restrictions to drivers in
virtualization scenario to make the shadow work easier. The first
patch is based on Mika's earlier one, but we use it for vgpu only.
The sixth patch is the implementation of the notification for
shadowing.

Zhiyuan Lv (7):
  drm/i915: preallocate pdps for 32 bit vgpu
  drm/i915: Enable full ppgtt for vgpu
  drm/i915: Always enable execlists on BDW for vgpu
  drm/i915: always pin lrc context for vgpu with Intel GVT-g
  drm/i915: Update PV INFO page definition for Intel GVT-g
  drm/i915: guest i915 notification for Intel-GVTg
  drm/i915: Allow Broadwell guest with Intel GVT-g

 drivers/gpu/drm/i915/i915_gem_gtt.c | 77 +++++++++++++++++++++++++++++++++++--
 drivers/gpu/drm/i915/i915_vgpu.c    |  2 +-
 drivers/gpu/drm/i915/i915_vgpu.h    | 34 +++++++++++++++-
 drivers/gpu/drm/i915/intel_lrc.c    | 44 ++++++++++++++++++---
 4 files changed, 145 insertions(+), 12 deletions(-)

-- 
1.9.1

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

^ permalink raw reply	[flat|nested] 44+ messages in thread
* [PATCH 3/7] drm/i915: Always enable execlists on BDW for vgpu
@ 2015-08-20  3:17 Zhiyuan Lv
  0 siblings, 0 replies; 44+ messages in thread
From: Zhiyuan Lv @ 2015-08-20  3:17 UTC (permalink / raw)
  To: intel-gfx; +Cc: igvt-g

Broadwell hardware supports both ring buffer mode and execlist mode.
When i915 runs inside a VM with Intel GVT-g, we allow execlist mode
only. The reason is that GVT-g does not support the dynamic mode
switch between ring buffer mode and execlist mode when running
multiple virtual machines. Consider that ring buffer mode is legacy
mode, it makes sense to drop it inside virtual machines.

Signed-off-by: Zhiyuan Lv <zhiyuan.lv@intel.com>
Signed-off-by: Zhi Wang <zhi.a.wang@intel.com>
---
 drivers/gpu/drm/i915/intel_lrc.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index 2dc8709..39df304 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -239,6 +239,9 @@ int intel_sanitize_enable_execlists(struct drm_device *dev, int enable_execlists
 	if (INTEL_INFO(dev)->gen >= 9)
 		return 1;
 
+	if (HAS_LOGICAL_RING_CONTEXTS(dev) && intel_vgpu_active(dev))
+		return 1;
+
 	if (enable_execlists == 0)
 		return 0;
 
-- 
1.9.1

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

^ permalink raw reply related	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2015-09-02  9:40 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-20  7:45 [PATCH 0/7] drm/intel: guest i915 changes for Broadwell to run inside VM with Intel GVT-g Zhiyuan Lv
2015-08-20  7:45 ` [PATCH 1/7] drm/i915: preallocate pdps for 32 bit vgpu Zhiyuan Lv
2015-08-20 10:56   ` Joonas Lahtinen
2015-08-26 13:21     ` Mika Kuoppala
2015-08-20  7:45 ` [PATCH 2/7] drm/i915: Enable full ppgtt for vgpu Zhiyuan Lv
2015-08-20 10:57   ` Joonas Lahtinen
2015-08-26  8:47     ` Daniel Vetter
2015-08-27  2:28       ` Zhiyuan Lv
2015-09-02  8:06         ` Daniel Vetter
2015-08-20  7:45 ` [PATCH 3/7] drm/i915: Always enable execlists on BDW " Zhiyuan Lv
2015-08-20  8:34   ` Chris Wilson
2015-08-20  8:55     ` Zhiyuan Lv
2015-08-20  9:22       ` Chris Wilson
2015-08-20  9:40         ` Zhiyuan Lv
2015-08-20 11:23           ` Joonas Lahtinen
2015-08-21  2:24             ` Zhiyuan Lv
2015-08-24 12:36               ` Joonas Lahtinen
2015-08-26  8:50                 ` Daniel Vetter
2015-08-27  2:49                   ` Zhiyuan Lv
2015-09-02  8:06                     ` Daniel Vetter
2015-08-21  5:37           ` [iGVT-g] " Tian, Kevin
2015-08-20  7:45 ` [PATCH 4/7] drm/i915: always pin lrc context for vgpu with Intel GVT-g Zhiyuan Lv
2015-08-20  8:36   ` Chris Wilson
2015-08-20  9:16     ` Zhiyuan Lv
2015-08-21  6:13       ` Zhiyuan Lv
2015-08-24 10:04     ` About the iGVT-g's requirement to pin guest contexts in VM Zhiyuan Lv
2015-08-24 10:23       ` Chris Wilson
2015-08-24 17:18         ` Wang, Zhi A
2015-08-26 16:42           ` Wang, Zhi A
2015-08-25  0:17         ` Zhiyuan Lv
2015-08-26  8:56           ` Daniel Vetter
2015-08-27  1:50             ` Zhiyuan Lv
2015-09-02  8:19               ` Daniel Vetter
2015-09-02  9:20                 ` Zhiyuan Lv
2015-09-02  9:40                   ` Daniel Vetter
2015-08-20  7:45 ` [PATCH 5/7] drm/i915: Update PV INFO page definition for Intel GVT-g Zhiyuan Lv
2015-08-20 12:58   ` Joonas Lahtinen
2015-08-21  2:27     ` Zhiyuan Lv
2015-08-20  7:45 ` [PATCH 6/7] drm/i915: guest i915 notification for Intel-GVTg Zhiyuan Lv
2015-08-20 13:11   ` Joonas Lahtinen
2015-08-21  2:39     ` Zhiyuan Lv
2015-08-20  7:45 ` [PATCH 7/7] drm/i915: Allow Broadwell guest with Intel GVT-g Zhiyuan Lv
2015-08-20 13:15   ` Joonas Lahtinen
  -- strict thread matches above, loose matches on Subject: below --
2015-08-20  3:17 [PATCH 3/7] drm/i915: Always enable execlists on BDW for vgpu Zhiyuan Lv

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).