Patch "drm/i915: Fix GVT-g PVINFO version compatibility check" has been added to the 4.11-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
drm/i915: Fix GVT-g PVINFO version compatibility check
to the 4.11-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
drm-i915-fix-gvt-g-pvinfo-version-compatibility-check.patch
and it can be found in the queue-4.11 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
c380f681245d7ae57f17d9ebbbe8f8f1557ee1fbMon Sep 17 00:00:00 2001
From: Zhenyu Wang <[email protected]>
Date: Fri, 9 Jun 2017 15:48:05 +0800
Subject: drm/i915: Fix GVT-g PVINFO version compatibility check
From: Zhenyu Wang <[email protected]>
commit c380f681245d7ae57f17d9ebbbe8f8f1557ee1fb upstream.
Current it's strictly checked if PVINFO version matches 1.0 for GVT-g i915 guest which doesn't help for compatibility at all and forces GVT-g host can't extend PVINFO easily with version bump for real compatibility check.
This fixes that to check minimal required PVINFO version instead.
v2:
- drop unneeded version macro
- use only major version for sanity check
v3:
- fix up PVInfo value with kernel type
- one indent fix
--- drivers/gpu/drm/i915/i915_pvinfo.h | 8 ++------ drivers/gpu/drm/i915/i915_vgpu.c | 10 ++++------ 2 files changed, 6 insertions(+), 12 deletions(-)
drivers/gpu/drm/i915/i915_pvinfo.h +2 -6
@@ -36,10 +36,6 @@#define VGT_VERSION_MAJOR 1#define VGT_VERSION_MINOR 0 -#define INTEL_VGT_IF_VERSION_ENCODE (major, minor) ((major) << 16 | (minor)) -#define INTEL_VGT_IF_VERSION \ - INTEL_VGT_IF_VERSION_ENCODE(VGT_VERSION_MAJOR, VGT_VERSION_MINOR) -/* * notifications from guest to vgpu device model */
@@ -55,8 +51,8 @@ enum vgt_g2v_type {struct vgt_if {u64 magic;/* VGT_MAGIC */ -uint16_t version_major; -uint16_t version_minor; +u16 version_major; +u16 version_minor;u32 vgt_id;/* ID of vGT instance */ u32 rsv1[12 ];/* pad to offset 0x40 */ /*
drivers/gpu/drm/i915/i915_vgpu.c +4 -6
@@ -60,8 +60,8 @@*/ void i915_check_vgpu (struct drm_i915_private *dev_priv) { -uint64_t magic; -uint32_t version; +u64 magic; +u16 version_major;BUILD_BUG_ON (sizeof (struct vgt_if ) !=VGT_PVINFO_SIZE );
@@ -69,10 +69,8 @@ void i915_check_vgpu(struct drm_i915_priif (magic !=VGT_MAGIC )return ; - version =INTEL_VGT_IF_VERSION_ENCODE ( -__raw_i915_read16 (dev_priv,vgtif_reg (version_major)), -__raw_i915_read16 (dev_priv,vgtif_reg (version_minor))); -if (version !=INTEL_VGT_IF_VERSION ) { + version_major =__raw_i915_read16 (dev_priv,vgtif_reg (version_major)); +if (version_major <VGT_VERSION_MAJOR ) {DRM_INFO ("VGT interface version mismatch!\n" );return ; }
Patches currently in stable-queue which might be from [email protected] are
queue-4.11/drm-i915-fix-gvt-g-pvinfo-version-compatibility-check.patch