Message ID | 1524864703-9586-4-git-send-email-oscar.mateo@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, 2018-04-27 at 14:31 -0700, Oscar Mateo wrote: > A GuC firmware for Icelake is now available. Let's use it. > > v2: Split out the Cannonlake stuff in a separate patch (Michal) > > v3: Rebased > > v4: > - Rebased > - Split out MODULE_FIRMWARE so we don't accidentally push it > before linux-firmware (Joonas) > > v5: Use the latest firmware (v23.120) > v6: Use the latest firmware (v26.171) > v7: Rebased (remove guc-core-family) > v8: Use the latest firmware (v27.182) > > Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> > Cc: John Spotswood <john.a.spotswood@intel.com> > Cc: Tony Ye <tony.ye@intel.com> > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> > Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> > Signed-off-by: Michel Thierry <michel.thierry@intel.com> > Signed-off-by: Oscar Mateo <oscar.mateo@intel.com> > --- > drivers/gpu/drm/i915/intel_guc_fw.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_guc_fw.c > b/drivers/gpu/drm/i915/intel_guc_fw.c > index a9e6fcc..c5c5dd8 100644 > --- a/drivers/gpu/drm/i915/intel_guc_fw.c > +++ b/drivers/gpu/drm/i915/intel_guc_fw.c > @@ -39,6 +39,9 @@ > #define KBL_FW_MAJOR 9 > #define KBL_FW_MINOR 39 > > +#define ICL_FW_MAJOR 27 > +#define ICL_FW_MINOR 182 This version will not be released, so why is this being added here? > + > #define GUC_FW_PATH(platform, major, minor) \ > "i915/" __stringify(platform) "_guc_ver" __stringify(major) > "_" __stringify(minor) ".bin" > > @@ -51,6 +54,8 @@ > #define I915_KBL_GUC_UCODE GUC_FW_PATH(kbl, KBL_FW_MAJOR, > KBL_FW_MINOR) > MODULE_FIRMWARE(I915_KBL_GUC_UCODE); > > +#define I915_ICL_GUC_UCODE GUC_FW_PATH(icl, ICL_FW_MAJOR, > ICL_FW_MINOR) > + > static void guc_fw_select(struct intel_uc_fw *guc_fw) > { > struct intel_guc *guc = container_of(guc_fw, struct > intel_guc, fw); > @@ -77,6 +82,10 @@ static void guc_fw_select(struct intel_uc_fw > *guc_fw) > guc_fw->path = I915_KBL_GUC_UCODE; > guc_fw->major_ver_wanted = KBL_FW_MAJOR; > guc_fw->minor_ver_wanted = KBL_FW_MINOR; > + } else if (IS_ICELAKE(dev_priv)) { > + guc_fw->path = I915_ICL_GUC_UCODE; > + guc_fw->major_ver_wanted = ICL_FW_MAJOR; > + guc_fw->minor_ver_wanted = ICL_FW_MINOR; > } else { > DRM_WARN("%s: No firmware known for this > platform!\n", > intel_uc_fw_type_repr(guc_fw->type));
On 04/30/2018 04:34 PM, John Spotswood wrote: > On Fri, 2018-04-27 at 14:31 -0700, Oscar Mateo wrote: >> A GuC firmware for Icelake is now available. Let's use it. >> >> v2: Split out the Cannonlake stuff in a separate patch (Michal) >> >> v3: Rebased >> >> v4: >> - Rebased >> - Split out MODULE_FIRMWARE so we don't accidentally push it >> before linux-firmware (Joonas) >> >> v5: Use the latest firmware (v23.120) >> v6: Use the latest firmware (v26.171) >> v7: Rebased (remove guc-core-family) >> v8: Use the latest firmware (v27.182) >> >> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> >> Cc: John Spotswood <john.a.spotswood@intel.com> >> Cc: Tony Ye <tony.ye@intel.com> >> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> >> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> >> Signed-off-by: Michel Thierry <michel.thierry@intel.com> >> Signed-off-by: Oscar Mateo <oscar.mateo@intel.com> >> --- >> drivers/gpu/drm/i915/intel_guc_fw.c | 9 +++++++++ >> 1 file changed, 9 insertions(+) >> >> diff --git a/drivers/gpu/drm/i915/intel_guc_fw.c >> b/drivers/gpu/drm/i915/intel_guc_fw.c >> index a9e6fcc..c5c5dd8 100644 >> --- a/drivers/gpu/drm/i915/intel_guc_fw.c >> +++ b/drivers/gpu/drm/i915/intel_guc_fw.c >> @@ -39,6 +39,9 @@ >> #define KBL_FW_MAJOR 9 >> #define KBL_FW_MINOR 39 >> >> +#define ICL_FW_MAJOR 27 >> +#define ICL_FW_MINOR 182 > This version will not be released, so why is this being added here? To be used by those who do have access to this firmware version. Please notice that I am purposefully not including the MODULE_FIRMWARE() tag for Icelake's GuC FW. >> + >> #define GUC_FW_PATH(platform, major, minor) \ >> "i915/" __stringify(platform) "_guc_ver" __stringify(major) >> "_" __stringify(minor) ".bin" >> >> @@ -51,6 +54,8 @@ >> #define I915_KBL_GUC_UCODE GUC_FW_PATH(kbl, KBL_FW_MAJOR, >> KBL_FW_MINOR) >> MODULE_FIRMWARE(I915_KBL_GUC_UCODE); >> >> +#define I915_ICL_GUC_UCODE GUC_FW_PATH(icl, ICL_FW_MAJOR, >> ICL_FW_MINOR) >> + >> static void guc_fw_select(struct intel_uc_fw *guc_fw) >> { >> struct intel_guc *guc = container_of(guc_fw, struct >> intel_guc, fw); >> @@ -77,6 +82,10 @@ static void guc_fw_select(struct intel_uc_fw >> *guc_fw) >> guc_fw->path = I915_KBL_GUC_UCODE; >> guc_fw->major_ver_wanted = KBL_FW_MAJOR; >> guc_fw->minor_ver_wanted = KBL_FW_MINOR; >> + } else if (IS_ICELAKE(dev_priv)) { >> + guc_fw->path = I915_ICL_GUC_UCODE; >> + guc_fw->major_ver_wanted = ICL_FW_MAJOR; >> + guc_fw->minor_ver_wanted = ICL_FW_MINOR; >> } else { >> DRM_WARN("%s: No firmware known for this >> platform!\n", >> intel_uc_fw_type_repr(guc_fw->type));
diff --git a/drivers/gpu/drm/i915/intel_guc_fw.c b/drivers/gpu/drm/i915/intel_guc_fw.c index a9e6fcc..c5c5dd8 100644 --- a/drivers/gpu/drm/i915/intel_guc_fw.c +++ b/drivers/gpu/drm/i915/intel_guc_fw.c @@ -39,6 +39,9 @@ #define KBL_FW_MAJOR 9 #define KBL_FW_MINOR 39 +#define ICL_FW_MAJOR 27 +#define ICL_FW_MINOR 182 + #define GUC_FW_PATH(platform, major, minor) \ "i915/" __stringify(platform) "_guc_ver" __stringify(major) "_" __stringify(minor) ".bin" @@ -51,6 +54,8 @@ #define I915_KBL_GUC_UCODE GUC_FW_PATH(kbl, KBL_FW_MAJOR, KBL_FW_MINOR) MODULE_FIRMWARE(I915_KBL_GUC_UCODE); +#define I915_ICL_GUC_UCODE GUC_FW_PATH(icl, ICL_FW_MAJOR, ICL_FW_MINOR) + static void guc_fw_select(struct intel_uc_fw *guc_fw) { struct intel_guc *guc = container_of(guc_fw, struct intel_guc, fw); @@ -77,6 +82,10 @@ static void guc_fw_select(struct intel_uc_fw *guc_fw) guc_fw->path = I915_KBL_GUC_UCODE; guc_fw->major_ver_wanted = KBL_FW_MAJOR; guc_fw->minor_ver_wanted = KBL_FW_MINOR; + } else if (IS_ICELAKE(dev_priv)) { + guc_fw->path = I915_ICL_GUC_UCODE; + guc_fw->major_ver_wanted = ICL_FW_MAJOR; + guc_fw->minor_ver_wanted = ICL_FW_MINOR; } else { DRM_WARN("%s: No firmware known for this platform!\n", intel_uc_fw_type_repr(guc_fw->type));