FAILED: patch "[PATCH] drm/i915: Fix GVT-g PVINFO version compatibility check" failed to apply to 4.12-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.12-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
0c8792d00d38de85b6ceb1dd67d3ee009d7c8e42Mon Sep 17 00:00:00 2001
From: Zhenyu Wang <[email protected]>
Date: Fri, 9 Jun 2017 15:48:05 +0800
Subject: [PATCH] drm/i915: Fix GVT-g PVINFO version compatibility check
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 +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_private *dev_priv)if (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 ; }