Commit 51c0ee84 authored by Tejas Upadhyay's avatar Tejas Upadhyay Committed by Lucas De Marchi
Browse files

drm/xe/tests/mocs: Hold XE_FORCEWAKE_ALL for LNCF regs

LNCF registers report wrong values when XE_FORCEWAKE_GT
only is held. Holding XE_FORCEWAKE_ALL ensures correct
operations on LNCF regs.

V2(Himal):
 - Use xe_force_wake_ref_has_domain

Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/1999


Fixes: a6a4ea6d ("drm/xe: Add mocs kunit")
Reviewed-by: default avatarHimal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250428082357.1730068-1-tejas.upadhyay@intel.com


Signed-off-by: default avatarTejas Upadhyay <tejas.upadhyay@intel.com>
(cherry picked from commit 70a2585e)
Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
parent 391008f3
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -46,8 +46,11 @@ static void read_l3cc_table(struct xe_gt *gt,
	unsigned int fw_ref, i;
	u32 reg_val;

	fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
	KUNIT_ASSERT_NE_MSG(test, fw_ref, 0, "Forcewake Failed.\n");
	fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
	if (!xe_force_wake_ref_has_domain(fw_ref, XE_FORCEWAKE_ALL)) {
		xe_force_wake_put(gt_to_fw(gt), fw_ref);
		KUNIT_ASSERT_TRUE_MSG(test, true, "Forcewake Failed.\n");
	}

	for (i = 0; i < info->num_mocs_regs; i++) {
		if (!(i & 1)) {