|
@@ -50,6 +50,32 @@ static bool is_supported_device(struct drm_i915_private *dev_priv)
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * intel_gvt_sanitize_options - sanitize GVT related options
|
|
|
|
+ * @dev_priv: drm i915 private data
|
|
|
|
+ *
|
|
|
|
+ * This function is called at the i915 options sanitize stage.
|
|
|
|
+ */
|
|
|
|
+void intel_gvt_sanitize_options(struct drm_i915_private *dev_priv)
|
|
|
|
+{
|
|
|
|
+ if (!i915.enable_gvt)
|
|
|
|
+ return;
|
|
|
|
+
|
|
|
|
+ if (intel_vgpu_active(dev_priv)) {
|
|
|
|
+ DRM_INFO("GVT-g is disabled for guest\n");
|
|
|
|
+ goto bail;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (!is_supported_device(dev_priv)) {
|
|
|
|
+ DRM_INFO("Unsupported device. GVT-g is disabled\n");
|
|
|
|
+ goto bail;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return;
|
|
|
|
+bail:
|
|
|
|
+ i915.enable_gvt = 0;
|
|
|
|
+}
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* intel_gvt_init - initialize GVT components
|
|
* intel_gvt_init - initialize GVT components
|
|
* @dev_priv: drm i915 private data
|
|
* @dev_priv: drm i915 private data
|
|
@@ -69,16 +95,6 @@ int intel_gvt_init(struct drm_i915_private *dev_priv)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
- if (intel_vgpu_active(dev_priv)) {
|
|
|
|
- DRM_DEBUG_DRIVER("GVT-g is disabled for guest\n");
|
|
|
|
- goto bail;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (!is_supported_device(dev_priv)) {
|
|
|
|
- DRM_DEBUG_DRIVER("Unsupported device. GVT-g is disabled\n");
|
|
|
|
- goto bail;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
if (!i915.enable_execlists) {
|
|
if (!i915.enable_execlists) {
|
|
DRM_INFO("GPU guest virtualisation [GVT-g] disabled due to disabled execlist submission [i915.enable_execlists module parameter]\n");
|
|
DRM_INFO("GPU guest virtualisation [GVT-g] disabled due to disabled execlist submission [i915.enable_execlists module parameter]\n");
|
|
goto bail;
|
|
goto bail;
|