]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe: Bypass Wa_14018094691 when primary GT is disabled
authorMatt Roper <matthew.d.roper@intel.com>
Mon, 13 Oct 2025 20:10:00 +0000 (13:10 -0700)
committerMatt Roper <matthew.d.roper@intel.com>
Tue, 14 Oct 2025 14:45:17 +0000 (07:45 -0700)
Don't try to lookup Wa_14018094691 on a NULL GT when the primary GT is
disabled.  Since this whole workaround centers around mid-thread
preemption behavior, the workaround isn't relevant if the primary GT
(where the engines that can do MTP live) is disabled.

Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>
Link: https://lore.kernel.org/r/20251013200944.2499947-42-matthew.d.roper@intel.com
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
drivers/gpu/drm/xe/xe_gsc.c

index 83d61bf8ec62e82143de62254daffe7095da7b09..dd69cb834f8e58828e1c391a111e32eb1212320e 100644 (file)
@@ -266,7 +266,7 @@ static int gsc_upload_and_init(struct xe_gsc *gsc)
        unsigned int fw_ref;
        int ret;
 
-       if (XE_GT_WA(tile->primary_gt, 14018094691)) {
+       if (tile->primary_gt && XE_GT_WA(tile->primary_gt, 14018094691)) {
                fw_ref = xe_force_wake_get(gt_to_fw(tile->primary_gt), XE_FORCEWAKE_ALL);
 
                /*
@@ -281,7 +281,7 @@ static int gsc_upload_and_init(struct xe_gsc *gsc)
 
        ret = gsc_upload(gsc);
 
-       if (XE_GT_WA(tile->primary_gt, 14018094691))
+       if (tile->primary_gt && XE_GT_WA(tile->primary_gt, 14018094691))
                xe_force_wake_put(gt_to_fw(tile->primary_gt), fw_ref);
 
        if (ret)