Message ID | 20180829191056.63760-3-michal.wajdeczko@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | New GuC ABI | expand |
>-----Original Message----- >From: Wajdeczko, Michal >Sent: Wednesday, August 29, 2018 12:11 PM >To: intel-gfx@lists.freedesktop.org >Cc: Wajdeczko, Michal <Michal.Wajdeczko@intel.com>; Joonas Lahtinen ><joonas.lahtinen@linux.intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>; >Ceraolo Spurio, Daniele <daniele.ceraolospurio@intel.com>; Thierry, Michel ><michel.thierry@intel.com>; Spotswood, John A <john.a.spotswood@intel.com>; >Belgaumkar, Vinay <vinay.belgaumkar@intel.com>; Ye, Tony ><tony.ye@intel.com>; Srivatsa, Anusha <anusha.srivatsa@intel.com>; Mcgee, >Jeff <jeff.mcgee@intel.com>; Argenziano, Antonio ><antonio.argenziano@intel.com>; Sundaresan, Sujaritha ><sujaritha.sundaresan@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@intel.com> >Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> >Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> >Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> >Cc: Michel Thierry <michel.thierry@intel.com> >Cc: John Spotswood <john.a.spotswood@intel.com> >Cc: Vinay Belgaumkar <vinay.belgaumkar@intel.com> >Cc: Tony Ye <tony.ye@intel.com> >Cc: Anusha Srivatsa <anusha.srivatsa@intel.com> >Cc: Jeff Mcgee <jeff.mcgee@intel.com> >Cc: Antonio Argenziano <antonio.argenziano@intel.com> >Cc: Sujaritha Sundaresan <sujaritha.sundaresan@intel.com> Thanks for the fix Michal. Reviewed-by: Anusha Srivatsa <anusha.srivatsa@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
On Wed, 2018-08-29 at 12:10 -0700, Wajdeczko, Michal wrote: > 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@intel.com> > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> > Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> > Cc: Michel Thierry <michel.thierry@intel.com> > Cc: John Spotswood <john.a.spotswood@intel.com> > Cc: Vinay Belgaumkar <vinay.belgaumkar@intel.com> > Cc: Tony Ye <tony.ye@intel.com> > Cc: Anusha Srivatsa <anusha.srivatsa@intel.com> > Cc: Jeff Mcgee <jeff.mcgee@intel.com> > Cc: Antonio Argenziano <antonio.argenziano@intel.com> > Cc: Sujaritha Sundaresan <sujaritha.sundaresan@intel.com> Reviewed-by: John Spotswood <john.a.spotswood@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
Quoting Michal Wajdeczko (2018-08-29 22:10:36) > 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. Do you have a plan to source a GuC ICL machine to CI to regain the lost coverage? That'd be the minimum requirement. This is because I'm not really sold for replacing the existing interface in upstream (for which we have some machines in CI) with something we don't currently have any coverage for. Regards, Joonas
Quoting Michal Wajdeczko (2018-08-29 22:10:36) > 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@intel.com> > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> > Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> > Cc: Michel Thierry <michel.thierry@intel.com> > Cc: John Spotswood <john.a.spotswood@intel.com> > Cc: Vinay Belgaumkar <vinay.belgaumkar@intel.com> > Cc: Tony Ye <tony.ye@intel.com> > Cc: Anusha Srivatsa <anusha.srivatsa@intel.com> > Cc: Jeff Mcgee <jeff.mcgee@intel.com> > Cc: Antonio Argenziano <antonio.argenziano@intel.com> > Cc: Sujaritha Sundaresan <sujaritha.sundaresan@intel.com> <SNIP> > @@ -292,6 +301,12 @@ int intel_uc_init(struct drm_i915_private *i915) > return ret; > > if (USES_GUC_SUBMISSION(i915)) { > + Extra newline. Regards, Joonas > + if (INTEL_GEN(i915) < 11) { > + intel_guc_fini(guc); > + return -EIO; > + } > +
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
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@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Michel Thierry <michel.thierry@intel.com> Cc: John Spotswood <john.a.spotswood@intel.com> Cc: Vinay Belgaumkar <vinay.belgaumkar@intel.com> Cc: Tony Ye <tony.ye@intel.com> Cc: Anusha Srivatsa <anusha.srivatsa@intel.com> Cc: Jeff Mcgee <jeff.mcgee@intel.com> Cc: Antonio Argenziano <antonio.argenziano@intel.com> Cc: Sujaritha Sundaresan <sujaritha.sundaresan@intel.com> --- drivers/gpu/drm/i915/intel_uc.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)