On ma, 2017-06-05 at 11:00 +0800, Zhenyu Wang wrote: > 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 > and currently minimal 1.0 is required. > > Cc: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> > Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx # 4.10+ > Signed-off-by: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> <SNIP> > +++ b/drivers/gpu/drm/i915/i915_pvinfo.h > @@ -37,7 +37,8 @@ > #define VGT_VERSION_MINOR 0 > > #define INTEL_VGT_IF_VERSION_ENCODE(major, minor) ((major) << 16 | (minor)) > -#define INTEL_VGT_IF_VERSION \ > +/* minimal required PVINFO version */ > +#define INTEL_VGT_IF_VERSION_REQUIRED \ > INTEL_VGT_IF_VERSION_ENCODE(VGT_VERSION_MAJOR, VGT_VERSION_MINOR) I think this can be dropped completely. > @@ -72,7 +72,7 @@ void i915_check_vgpu(struct drm_i915_private *dev_priv) > version = INTEL_VGT_IF_VERSION_ENCODE( > __raw_i915_read16(dev_priv, vgtif_reg(version_major)), > __raw_i915_read16(dev_priv, vgtif_reg(version_minor))); Here one would check that if (version_major != VGT_VERSION_MAJOR) DRM_INFO("VGT interface version mismatch!\n"); return; } That makes sure that major version must always match (incrementing major version is a direct indication of interface incompatibility). I'm not sure if we want to check the minor version at all, at load time. Instead we should check the minor version for each new feature we know has been added. That way an older i915 module could keep running in the DOM0, and the newer i915 modules in VMs just wouldn't attempt to use the new features until the DOM0 gets an update, too. Regards, Joonas -- Joonas Lahtinen Open Source Technology Center Intel Corporation _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx