drm/xe: Set firmware state to loadable before registering guc_fini_hw
authorMatthew Brost <matthew.brost@intel.com>
Tue, 20 Aug 2024 17:29:54 +0000 (10:29 -0700)
committerMatthew Brost <matthew.brost@intel.com>
Fri, 23 Aug 2024 16:54:11 +0000 (09:54 -0700)
The guc_fini_hw registered calls __xe_uc_fw_status which is only
expected to be called after initializing fw state. Move this before
registering guc_fini_hw.

Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240820172958.1095143-3-matthew.brost@intel.com
drivers/gpu/drm/xe/xe_guc.c

index de0fe9e65746e898c1fbf7eeeb3501154edb5fbe..52df28032a6ffeb589eb5a971b84449bb08abbb1 100644 (file)
@@ -350,6 +350,8 @@ int xe_guc_init(struct xe_guc *guc)
        if (ret)
                goto out;
 
+       xe_uc_fw_change_status(&guc->fw, XE_UC_FIRMWARE_LOADABLE);
+
        ret = devm_add_action_or_reset(xe->drm.dev, guc_fini_hw, guc);
        if (ret)
                goto out;
@@ -358,8 +360,6 @@ int xe_guc_init(struct xe_guc *guc)
 
        xe_guc_comm_init_early(guc);
 
-       xe_uc_fw_change_status(&guc->fw, XE_UC_FIRMWARE_LOADABLE);
-
        return 0;
 
 out: