summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>2023-10-25 19:57:44 +0200
committerRodrigo Vivi <rodrigo.vivi@intel.com>2023-12-21 17:43:23 +0100
commit185f93f3041fe520c6df16a58bea116077d3f848 (patch)
tree5bfee2065c2f0a07439ffda49c090c5b0e70e461 /drivers
parentdrm/xe/huc: HuC is not supported on GTs that don't have video engines (diff)
downloadlinux-185f93f3041fe520c6df16a58bea116077d3f848.tar.xz
linux-185f93f3041fe520c6df16a58bea116077d3f848.zip
drm/xe/huc: Don't re-auth HuC if it's already authenticated
On newer platforms the HuC survives reset and stays authenticated, so no need to re-authenticate it. Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Alan Previn <alan.previn.teres.alexis@intel.com> Cc: John Harrison <John.C.Harrison@Intel.com> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/xe/xe_huc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/xe/xe_huc.c b/drivers/gpu/drm/xe/xe_huc.c
index 386efa180c1c..2f176badab26 100644
--- a/drivers/gpu/drm/xe/xe_huc.c
+++ b/drivers/gpu/drm/xe/xe_huc.c
@@ -83,6 +83,12 @@ int xe_huc_auth(struct xe_huc *huc)
xe_assert(xe, !xe_uc_fw_is_running(&huc->fw));
+ /* On newer platforms the HuC survives reset, so no need to re-auth */
+ if (xe_mmio_read32(gt, HUC_KERNEL_LOAD_INFO) & HUC_LOAD_SUCCESSFUL) {
+ xe_uc_fw_change_status(&huc->fw, XE_UC_FIRMWARE_RUNNING);
+ return 0;
+ }
+
if (!xe_uc_fw_is_loaded(&huc->fw))
return -ENOEXEC;