drm/xe/mocs: Initialize MOCS index early
authorBalasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>
Tue, 20 May 2025 14:24:45 +0000 (19:54 +0530)
committerLucas De Marchi <lucas.demarchi@intel.com>
Thu, 17 Jul 2025 12:51:12 +0000 (09:51 -0300)
MOCS uc_index is used even before it is initialized in the following
callstack
    guc_prepare_xfer()
    __xe_guc_upload()
    xe_guc_min_load_for_hwconfig()
    xe_uc_init_hwconfig()
    xe_gt_init_hwconfig()

Do MOCS index initialization earlier in the device probe.

Signed-off-by: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>
Reviewed-by: Ravi Kumar Vodapalli <ravi.kumar.vodapalli@intel.com>
Link: https://lore.kernel.org/r/20250520142445.2792824-1-balasubramani.vivekanandan@intel.com
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
(cherry picked from commit 241cc827c0987d7173714fc5a95a7c8fc9bf15c0)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/xe/xe_gt.c

index 6c4cb9576fb6258962d800e8cb047f871f66e3d7..9752a38c0162af2ddf8693d6fe31846e4e459ad6 100644 (file)
@@ -417,6 +417,8 @@ int xe_gt_init_early(struct xe_gt *gt)
        if (err)
                return err;
 
+       xe_mocs_init_early(gt);
+
        return 0;
 }
 
@@ -634,8 +636,6 @@ int xe_gt_init(struct xe_gt *gt)
        if (err)
                return err;
 
-       xe_mocs_init_early(gt);
-
        err = xe_gt_sysfs_init(gt);
        if (err)
                return err;