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>
This commit is contained in:
parent
00c26cf9ce
commit
67b7f33eee
|
@ -997,6 +997,8 @@ static void intel_sanitize_options(struct drm_i915_private *dev_priv)
|
|||
DRM_DEBUG_DRIVER("use GPU semaphores? %s\n", yesno(i915.semaphores));
|
||||
|
||||
intel_uc_sanitize_options(dev_priv);
|
||||
|
||||
intel_gvt_sanitize_options(dev_priv);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -50,6 +50,32 @@ static bool is_supported_device(struct drm_i915_private *dev_priv)
|
|||
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
|
||||
* @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;
|
||||
|
|
|
@ -32,6 +32,7 @@ void intel_gvt_cleanup(struct drm_i915_private *dev_priv);
|
|||
int intel_gvt_init_device(struct drm_i915_private *dev_priv);
|
||||
void intel_gvt_clean_device(struct drm_i915_private *dev_priv);
|
||||
int intel_gvt_init_host(void);
|
||||
void intel_gvt_sanitize_options(struct drm_i915_private *dev_priv);
|
||||
#else
|
||||
static inline int intel_gvt_init(struct drm_i915_private *dev_priv)
|
||||
{
|
||||
|
@ -40,6 +41,10 @@ static inline int intel_gvt_init(struct drm_i915_private *dev_priv)
|
|||
static inline void intel_gvt_cleanup(struct drm_i915_private *dev_priv)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void intel_gvt_sanitize_options(struct drm_i915_private *dev_priv)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _INTEL_GVT_H_ */
|
||||
|
|
Loading…
Reference in New Issue