Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/xe/mocs: Check if all domains awake

Check if all domains are awake specially for
LNCF regs

Fixes: 298661cd9cea ("drm/xe: Fix MOCS debugfs LNCF readout")
Improvements-suggested-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250506142300.1865783-1-tejas.upadhyay@intel.com
Signed-off-by: Tejas Upadhyay <tejas.upadhyay@intel.com>
(cherry picked from commit a383cf218ef8bb35d4c03958bd956573b65cf778)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>

authored by

Tejas Upadhyay and committed by
Lucas De Marchi
57b34cba a5806cd5

+6 -5
+6 -5
drivers/gpu/drm/xe/xe_mocs.c
··· 775 775 void xe_mocs_dump(struct xe_gt *gt, struct drm_printer *p) 776 776 { 777 777 struct xe_device *xe = gt_to_xe(gt); 778 + enum xe_force_wake_domains domain; 778 779 struct xe_mocs_info table; 779 780 unsigned int fw_ref, flags; 780 781 781 782 flags = get_mocs_settings(xe, &table); 782 783 784 + domain = flags & HAS_LNCF_MOCS ? XE_FORCEWAKE_ALL : XE_FW_GT; 783 785 xe_pm_runtime_get_noresume(xe); 784 - fw_ref = xe_force_wake_get(gt_to_fw(gt), 785 - flags & HAS_LNCF_MOCS ? 786 - XE_FORCEWAKE_ALL : XE_FW_GT); 787 - if (!fw_ref) 786 + fw_ref = xe_force_wake_get(gt_to_fw(gt), domain); 787 + 788 + if (!xe_force_wake_ref_has_domain(fw_ref, domain)) 788 789 goto err_fw; 789 790 790 791 table.ops->dump(&table, flags, gt, p); 791 792 792 - xe_force_wake_put(gt_to_fw(gt), fw_ref); 793 793 err_fw: 794 + xe_force_wake_put(gt_to_fw(gt), fw_ref); 794 795 xe_pm_runtime_put(xe); 795 796 } 796 797