drm/xe: don't auto fall back to execlist mode if guc failed to init
authorChang, Bruce <yu.bruce.chang@intel.com>
Thu, 23 Mar 2023 19:38:58 +0000 (19:38 +0000)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Tue, 19 Dec 2023 23:30:26 +0000 (18:30 -0500)
In general, this is due to FW load failure, should just report
error and fail the probe so that user can easily retry again.

Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Bruce Chang <yu.bruce.chang@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_gt.c
drivers/gpu/drm/xe/xe_uc.c

index 245117e67e9bceb8931c593bb45d2d70d568a05c..6322e0689a9e894de9d8191d70bb886ed7b44420 100644 (file)
@@ -379,9 +379,9 @@ static int gt_fw_domain_init(struct xe_gt *gt)
                        goto err_force_wake;
        }
 
-       /* Allow driver to load if uC init fails (likely missing firmware) */
        err = xe_uc_init(&gt->uc);
-       XE_WARN_ON(err);
+       if (err)
+               goto err_force_wake;
 
        err = xe_uc_init_hwconfig(&gt->uc);
        if (err)
index 4ccf2b3435e160755fdbc5612cb3e37fc74ad5ca..70eabf567156887aed52d2a453eb4cb5c5d5b32f 100644 (file)
@@ -54,9 +54,6 @@ int xe_uc_init(struct xe_uc *uc)
        return 0;
 
 err:
-       /* If any uC firmwares not found, fall back to execlists */
-       xe_device_guc_submission_disable(uc_to_xe(uc));
-
        return ret;
 }