[Intel-xe] [PATCH 4/4] drm/xe/huc: Define HuC for MTL
Lucas De Marchi
lucas.demarchi at intel.com
Fri Oct 13 18:14:08 UTC 2023
On Fri, Sep 15, 2023 at 03:34:58PM -0700, Daniele Ceraolo Spurio wrote:
>MTL uses a GSC-enabled binary. We expect all GSC-enabled binaries to be
>defined with a "_gsc", so we can check for that in the name to
>determine if the binary has the GSC headers or not.
>
>Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
>Cc: Alan Previn <alan.previn.teres.alexis at intel.com>
>Cc: John Harrison <John.C.Harrison at Intel.com>
>---
> drivers/gpu/drm/xe/xe_uc_fw.c | 17 +++++++++++------
> 1 file changed, 11 insertions(+), 6 deletions(-)
>
>diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
>index f956457d0b11..4e43b16a61d5 100644
>--- a/drivers/gpu/drm/xe/xe_uc_fw.c
>+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
>@@ -113,12 +113,13 @@ struct fw_blobs_by_type {
> fw_def(ROCKETLAKE, major_ver(i915, guc, tgl, 70, 5)) \
> fw_def(TIGERLAKE, major_ver(i915, guc, tgl, 70, 5))
>
>-#define XE_HUC_FIRMWARE_DEFS(fw_def, mmp_ver, no_ver) \
>- fw_def(DG1, no_ver(i915, huc, dg1)) \
>- fw_def(ALDERLAKE_P, no_ver(i915, huc, tgl)) \
>- fw_def(ALDERLAKE_S, no_ver(i915, huc, tgl)) \
>- fw_def(ROCKETLAKE, no_ver(i915, huc, tgl)) \
>- fw_def(TIGERLAKE, no_ver(i915, huc, tgl))
>+#define XE_HUC_FIRMWARE_DEFS(fw_def, mmp_ver, no_ver) \
>+ fw_def(METEORLAKE, no_ver(i915, huc_gsc, mtl)) \
>+ fw_def(DG1, no_ver(i915, huc, dg1)) \
>+ fw_def(ALDERLAKE_P, no_ver(i915, huc, tgl)) \
>+ fw_def(ALDERLAKE_S, no_ver(i915, huc, tgl)) \
>+ fw_def(ROCKETLAKE, no_ver(i915, huc, tgl)) \
>+ fw_def(TIGERLAKE, no_ver(i915, huc, tgl))
>
> #define MAKE_FW_PATH(dir__, uc__, shortname__, version__) \
> __stringify(dir__) "/" __stringify(shortname__) "_" __stringify(uc__) version__ ".bin"
>@@ -207,6 +208,10 @@ uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
> uc_fw->major_ver_wanted = entries[i].major;
> uc_fw->minor_ver_wanted = entries[i].minor;
> uc_fw->full_ver_required = entries[i].full_ver_required;
>+
>+ if (strstr(uc_fw->path, "gsc"))
>+ uc_fw->has_gsc_headers = true;
can we rather get this from the headers / magic or whatever from
*inside* the firmware? Relying on the filename IMO is not a good
practice. If we don't have a proper way to identify, then I think it
would be better a try/fail approach starting with MTL: try with gsc
headers starting on MTL and fallback on error.
Lucas De Marchi
>+
> break;
> }
> }
>--
>2.41.0
>
More information about the Intel-xe
mailing list