]> www.infradead.org Git - users/willy/xarray.git/commit
drm/i915: Do not attempt to load the GSC multiple times
authorDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Tue, 20 Aug 2024 21:59:52 +0000 (14:59 -0700)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Mon, 2 Sep 2024 10:25:13 +0000 (13:25 +0300)
commit59d3cfdd7f9655a0400ac453bf92199204f8b2a1
tree18c44ce81b950997a02e7c77828a5c86c3a1cfa3
parent431c1646e1f86b949fa3685efc50b660a364c2b6
drm/i915: Do not attempt to load the GSC multiple times

If the GSC FW fails to load the GSC HW hangs permanently; the only ways
to recover it are FLR or D3cold entry, with the former only being
supported on driver unload and the latter only on DGFX, for which we
don't need to load the GSC. Therefore, if GSC fails to load there is no
need to try again because the HW is stuck in the error state and the
submission to load the FW would just hang the GSCCS.

Note that, due to wa_14015076503, on MTL the GuC escalates all GSCCS
hangs to full GT resets, which would trigger a new attempt to load the
GSC FW in the post-reset HW re-init; this issue is also fixed by not
attempting to load the GSC FW after an error.

Fixes: 15bd4a67e914 ("drm/i915/gsc: GSC firmware loading")
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: <stable@vger.kernel.org> # v6.3+
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240820215952.2290807-1-daniele.ceraolospurio@intel.com
(cherry picked from commit 03ded4d432a1fb7bb6c44c5856d14115f6f6c3b9)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h