drm/i915/guc: Decode another GuC load failure case
Explain another potential firmware failure mode and early exit the long wait if hit. Signed-off-by: John Harrison <John.C.Harrison@Intel.com> Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230502234007.1762014-2-John.C.Harrison@Intel.com
This commit is contained in:
parent
e541022b1c
commit
6b8bfff56b
@ -44,6 +44,7 @@ enum intel_guc_load_status {
|
||||
enum intel_bootrom_load_status {
|
||||
INTEL_BOOTROM_STATUS_NO_KEY_FOUND = 0x13,
|
||||
INTEL_BOOTROM_STATUS_AES_PROD_KEY_FOUND = 0x1A,
|
||||
INTEL_BOOTROM_STATUS_PROD_KEY_CHECK_FAILURE = 0x2B,
|
||||
INTEL_BOOTROM_STATUS_RSA_FAILED = 0x50,
|
||||
INTEL_BOOTROM_STATUS_PAVPC_FAILED = 0x73,
|
||||
INTEL_BOOTROM_STATUS_WOPCM_FAILED = 0x74,
|
||||
|
@ -129,6 +129,7 @@ static inline bool guc_load_done(struct intel_uncore *uncore, u32 *status, bool
|
||||
case INTEL_BOOTROM_STATUS_RC6CTXCONFIG_FAILED:
|
||||
case INTEL_BOOTROM_STATUS_MPUMAP_INCORRECT:
|
||||
case INTEL_BOOTROM_STATUS_EXCEPTION:
|
||||
case INTEL_BOOTROM_STATUS_PROD_KEY_CHECK_FAILURE:
|
||||
*success = false;
|
||||
return true;
|
||||
}
|
||||
@ -219,6 +220,11 @@ static int guc_wait_ucode(struct intel_guc *guc)
|
||||
guc_info(guc, "firmware signature verification failed\n");
|
||||
ret = -ENOEXEC;
|
||||
break;
|
||||
|
||||
case INTEL_BOOTROM_STATUS_PROD_KEY_CHECK_FAILURE:
|
||||
guc_info(guc, "firmware production part check failure\n");
|
||||
ret = -ENOEXEC;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (ukernel) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user