@@ -63,6 +63,8 @@ static int __get_platform_enable_guc(struct drm_i915_private *dev_priv)
enable_guc |= ENABLE_GUC_LOAD_HUC;
/* Any platform specific fine-tuning can be done here */
+ if (INTEL_GEN(dev_priv) >= 11)
+ enable_guc &= ~ENABLE_GUC_SUBMISSION;
return enable_guc;
}
@@ -115,6 +117,14 @@ static void sanitize_options_early(struct drm_i915_private *dev_priv)
yesno(intel_uc_is_using_guc_submission()),
yesno(intel_uc_is_using_huc()));
+ /* Verify GuC submission support */
+ if (intel_uc_is_using_guc_submission() && INTEL_GEN(dev_priv) >= 11) {
+ DRM_WARN("Incompatible option detected: %s=%d, %s!\n",
+ "enable_guc", i915_modparams.enable_guc,
+ "submission not supported");
+ i915_modparams.enable_guc &= ~ENABLE_GUC_SUBMISSION;
+ }
+
/* Verify GuC firmware availability */
if (intel_uc_is_using_guc() && !intel_uc_fw_is_selected(guc_fw)) {
DRM_WARN("Incompatible option detected: %s=%d, %s!\n",
Sanitize the enable_guc option so that we can enable HuC authentication, but nothing else. The firmware interface has changed quite dramatically in Gen11, so it will take a while before we can submit workloads to the GuC with guarantees. Signed-off-by: Oscar Mateo <oscar.mateo@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: John Spotswood <john.a.spotswood@intel.com> Cc: Tony Ye <tony.ye@intel.com> --- drivers/gpu/drm/i915/intel_uc.c | 10 ++++++++++ 1 file changed, 10 insertions(+)