[Intel-gfx] [PATCH 1/2] drm/i915/uc: Update MAKE_HUC_FW_PATH macro
Michal Wajdeczko
michal.wajdeczko at intel.com
Tue Sep 10 09:52:11 UTC 2019
On Mon, 09 Sep 2019 21:28:00 +0200, Anusha Srivatsa
<anusha.srivatsa at intel.com> wrote:
> Update MAKE_HUC_FW_PATH macro to follow the same convention
> as the MAKE_GUC_FW_PATH with the separator changing from "_" to "."
> and removing "ver".
above commit message (and patch title) is little misleading as updating
a macro is secondary compared to introduced new firmware naming convention
>
> The current convention being:
> <platform>_<g/h>uc_<major>.<minor>.patch.bin
>
> Update the versions of huc being loaded of the platforms.
s/huc/HuC
>
> SKL - v2.0.0
> BXT - v2.0.0
> KBL - v4.0.0
> GLK - v4.0.0
> CFL - KBL v4.0.0
> ICL - v9.0.0
> CML - v4.0.0
>
> v2: Remove the separator parameter altogether from
> __MAKE_UC_FW_PATH.(Daniele)
> - Squash all firmware update patches (Daniele)
>
> Suggested-by: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
> Signed-off-by: Anusha Srivatsa <anusha.srivatsa at intel.com>
> ---
> drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 25 ++++++++++++------------
> 1 file changed, 13 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
> b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
> index 296a82603be0..da4bf24368bd 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
> @@ -40,25 +40,26 @@ void intel_uc_fw_change_status(struct intel_uc_fw
> *uc_fw,
> */
> #define INTEL_UC_FIRMWARE_DEFS(fw_def, guc_def, huc_def) \
> fw_def(ELKHARTLAKE, 0, guc_def(ehl, 33, 0, 4), huc_def(ehl, 9, 0,
> 0)) \
> - fw_def(ICELAKE, 0, guc_def(icl, 33, 0, 0), huc_def(icl, 8, 4,
> 3238)) \
> - fw_def(COFFEELAKE, 0, guc_def(kbl, 33, 0, 0), huc_def(kbl, 02, 00,
> 1810)) \
> - fw_def(GEMINILAKE, 0, guc_def(glk, 33, 0, 0), huc_def(glk, 03, 01,
> 2893)) \
> - fw_def(KABYLAKE, 0, guc_def(kbl, 33, 0, 0), huc_def(kbl, 02, 00,
> 1810)) \
> - fw_def(BROXTON, 0, guc_def(bxt, 33, 0, 0), huc_def(bxt, 01, 8,
> 2893)) \
> - fw_def(SKYLAKE, 0, guc_def(skl, 33, 0, 0), huc_def(skl, 01, 07,
> 1398))
> -
> -#define __MAKE_UC_FW_PATH(prefix_, name_, separator_, major_, minor_,
> patch_) \
> + fw_def(COFFEELAKE, 0, guc_def(cml, 33, 0, 0), huc_def(cml, 4, 0,
> 0)) \
this is wrong, CML is CFL rev 5, for reference see [1]
and macro ordering is also wrong (already detected by our code, yeah!):
<3> [321.487555] invalid FW blob order: COFFEELAKE r0 comes before ICELAKE
r0
and this wrong ordering leads to:
<7> [321.487616] i915 0000:00:02.0: [drm:intel_uc_init_early [i915]]
enable_guc=2 (guc:no submission:no huc:no)
<6> [321.487618] i915 0000:00:02.0: Incompatible option enable_guc=2 - GuC
is not supported!
<6> [321.487620] i915 0000:00:02.0: Incompatible option enable_guc=2 - HuC
is not supported!
see [2] for details
[1] https://patchwork.freedesktop.org/patch/319864/?series=62969&rev=5
[2]
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14333/fi-cml-u2/igt@i915_module_load@reload-with-fault-injection.html
> + fw_def(ICELAKE, 0, guc_def(icl, 33, 0, 0), huc_def(icl, 9, 0,
> 0)) \
> + fw_def(COFFEELAKE, 0, guc_def(kbl, 33, 0, 0), huc_def(kbl, 4, 0,
> 0)) \
> + fw_def(GEMINILAKE, 0, guc_def(glk, 33, 0, 0), huc_def(glk, 4, 0,
> 0)) \
> + fw_def(KABYLAKE, 0, guc_def(kbl, 33, 0, 0), huc_def(kbl, 4, 0,
> 0)) \
> + fw_def(BROXTON, 0, guc_def(bxt, 33, 0, 0), huc_def(bxt, 2, 0,
> 0)) \
> + fw_def(SKYLAKE, 0, guc_def(skl, 33, 0, 0), huc_def(skl, 2, 0,
> 0))
> +
> +#define __MAKE_UC_FW_PATH(prefix_, name_, major_, minor_, patch_) \
> "i915/" \
> __stringify(prefix_) name_ \
> - __stringify(major_) separator_ \
> - __stringify(minor_) separator_ \
> + __stringify(major_) "." \
> + __stringify(minor_) "." \
> __stringify(patch_) ".bin"
> #define MAKE_GUC_FW_PATH(prefix_, major_, minor_, patch_) \
> - __MAKE_UC_FW_PATH(prefix_, "_guc_", ".", major_, minor_, patch_)
> + __MAKE_UC_FW_PATH(prefix_, "_guc_", major_, minor_, patch_)
> #define MAKE_HUC_FW_PATH(prefix_, major_, minor_, bld_num_) \
> - __MAKE_UC_FW_PATH(prefix_, "_huc_ver", "_", major_, minor_, bld_num_)
> + __MAKE_UC_FW_PATH(prefix_, "_huc_", major_, minor_, bld_num_)
> /* All blobs need to be declared via MODULE_FIRMWARE() */
> #define INTEL_UC_MODULE_FW(platform_, revid_, guc_, huc_) \
More information about the Intel-gfx
mailing list