drm/xe: Fix MOCS debugfs LNCF readout
authorTvrtko Ursulin <tvrtko.ursulin@igalia.com>
Fri, 7 Mar 2025 11:13:59 +0000 (11:13 +0000)
committerLucas De Marchi <lucas.demarchi@intel.com>
Thu, 13 Mar 2025 03:55:14 +0000 (20:55 -0700)
With only XE_FW_GT taken LNCF registers read back as all zeroes, leading
to a wild goose chase trying to figure out why is register programming
incorrect.

Fix it by grabbing XE_FORCEWAKE_ALL for affected platforms.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250307111402.26577-2-tvrtko.ursulin@igalia.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
(cherry picked from commit 1182bc74b39ba3d124b544dab22d5672fae54b67)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/xe/xe_mocs.c

index 54d199b5cfb21a3045cc6e6311d32f79a86439c9..31dade91a089741e40ee1310da4d4486ad330f5c 100644 (file)
@@ -781,7 +781,9 @@ void xe_mocs_dump(struct xe_gt *gt, struct drm_printer *p)
        flags = get_mocs_settings(xe, &table);
 
        xe_pm_runtime_get_noresume(xe);
-       fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+       fw_ref = xe_force_wake_get(gt_to_fw(gt),
+                                  flags & HAS_LNCF_MOCS ?
+                                  XE_FORCEWAKE_ALL : XE_FW_GT);
        if (!fw_ref)
                goto err_fw;