summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_gvt.c
diff options
context:
space:
mode:
authorChuanxiao Dong2017-05-27 11:44:17 +0200
committerJoonas Lahtinen2017-05-30 14:59:47 +0200
commit67b7f33eeeaa6368289c6d25b283432e02dcc1c1 (patch)
tree18b7be3b918ad0f64e272af95fdec0667cd5b889 /drivers/gpu/drm/i915/intel_gvt.c
parentdrm/i915: Remove toplevel struct_mutex locking from debugfs/i915_drop_caches (diff)
downloadkernel-qcow2-linux-67b7f33eeeaa6368289c6d25b283432e02dcc1c1.tar.gz
kernel-qcow2-linux-67b7f33eeeaa6368289c6d25b283432e02dcc1c1.tar.xz
kernel-qcow2-linux-67b7f33eeeaa6368289c6d25b283432e02dcc1c1.zip
drm/i915/gvt: Add gvt options sanitize function
The intel_gvt_sanitize_options will sanitize the GVT related options before doing initialize the GVT. Suggested-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Signed-off-by: Chuanxiao Dong <chuanxiao.dong@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_gvt.c')
-rw-r--r--drivers/gpu/drm/i915/intel_gvt.c36
1 files changed, 26 insertions, 10 deletions
diff --git a/drivers/gpu/drm/i915/intel_gvt.c b/drivers/gpu/drm/i915/intel_gvt.c
index e1ab6432a914..dde9c78325e4 100644
--- a/drivers/gpu/drm/i915/intel_gvt.c
+++ b/drivers/gpu/drm/i915/intel_gvt.c
@@ -51,6 +51,32 @@ static bool is_supported_device(struct drm_i915_private *dev_priv)
}
/**
+ * 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
* @dev_priv: drm i915 private data
*
@@ -69,16 +95,6 @@ int intel_gvt_init(struct drm_i915_private *dev_priv)
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) {
DRM_INFO("GPU guest virtualisation [GVT-g] disabled due to disabled execlist submission [i915.enable_execlists module parameter]\n");
goto bail;