[Intel-gfx] [PATCH 02/21] drm/i915/guc: Don't allow GuC submission on pre-Gen11

Srivatsa, Anusha anusha.srivatsa at intel.com
Wed Aug 29 19:16:21 UTC 2018



>-----Original Message-----
>From: Wajdeczko, Michal
>Sent: Wednesday, August 29, 2018 12:11 PM
>To: intel-gfx at lists.freedesktop.org
>Cc: Wajdeczko, Michal <Michal.Wajdeczko at intel.com>; Joonas Lahtinen
><joonas.lahtinen at linux.intel.com>; Vivi, Rodrigo <rodrigo.vivi at intel.com>;
>Ceraolo Spurio, Daniele <daniele.ceraolospurio at intel.com>; Thierry, Michel
><michel.thierry at intel.com>; Spotswood, John A <john.a.spotswood at intel.com>;
>Belgaumkar, Vinay <vinay.belgaumkar at intel.com>; Ye, Tony
><tony.ye at intel.com>; Srivatsa, Anusha <anusha.srivatsa at intel.com>; Mcgee,
>Jeff <jeff.mcgee at intel.com>; Argenziano, Antonio
><antonio.argenziano at intel.com>; Sundaresan, Sujaritha
><sujaritha.sundaresan at intel.com>
>Subject: [PATCH 02/21] drm/i915/guc: Don't allow GuC submission on pre-Gen11
>
>Upcoming Gen11 GuC firmware requires new interface that is incompatible with
>existing pre-Gen11 firmwares. Updated firmwares for pre-Gen11 will arrive later.
>In the meantime sanitize the enable_guc option so that we can enable HuC
>authentication but nothing else on pre-Gen11.
>
>Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
>Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
>Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
>Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
>Cc: Michel Thierry <michel.thierry at intel.com>
>Cc: John Spotswood <john.a.spotswood at intel.com>
>Cc: Vinay Belgaumkar <vinay.belgaumkar at intel.com>
>Cc: Tony Ye <tony.ye at intel.com>
>Cc: Anusha Srivatsa <anusha.srivatsa at intel.com>
>Cc: Jeff Mcgee <jeff.mcgee at intel.com>
>Cc: Antonio Argenziano <antonio.argenziano at intel.com>
>Cc: Sujaritha Sundaresan <sujaritha.sundaresan at intel.com>
Thanks for the fix Michal.

Reviewed-by: Anusha Srivatsa <anusha.srivatsa at intel.com>
>---
> drivers/gpu/drm/i915/intel_uc.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>diff --git a/drivers/gpu/drm/i915/intel_uc.c b/drivers/gpu/drm/i915/intel_uc.c
>index 7a3a4ca..185b29b 100644
>--- a/drivers/gpu/drm/i915/intel_uc.c
>+++ b/drivers/gpu/drm/i915/intel_uc.c
>@@ -63,6 +63,8 @@ static int __get_platform_enable_guc(struct
>drm_i915_private *i915)
> 		enable_guc |= ENABLE_GUC_LOAD_HUC;
>
> 	/* Any platform specific fine-tuning can be done here */
>+	if (INTEL_GEN(i915) < 11)
>+		enable_guc &= ~ENABLE_GUC_SUBMISSION;
>
> 	return enable_guc;
> }
>@@ -115,6 +117,13 @@ static void sanitize_options_early(struct
>drm_i915_private *i915)
> 			 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(i915) < 11) {
>+		DRM_WARN("Incompatible option detected: %s=%d, %s!\n",
>+			 "enable_guc", i915_modparams.enable_guc,
>+			 "submission not supported");
>+	}
>+
> 	/* 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",
>@@ -292,6 +301,12 @@ int intel_uc_init(struct drm_i915_private *i915)
> 		return ret;
>
> 	if (USES_GUC_SUBMISSION(i915)) {
>+
>+		if (INTEL_GEN(i915) < 11) {
>+			intel_guc_fini(guc);
>+			return -EIO;
>+		}
>+
> 		/*
> 		 * This is stuff we need to have available at fw load time
> 		 * if we are planning to enable submission later
>--
>1.9.1



More information about the Intel-gfx mailing list