Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/3] drm/xe: Cleanup force wake registers bit definitions
@ 2024-06-03  9:01 Himal Prasad Ghimiray
  2024-06-03  9:01 ` [PATCH v2 2/3] drm/xe: Add member initialized_domains to xe_force_wake Himal Prasad Ghimiray
                   ` (10 more replies)
  0 siblings, 11 replies; 15+ messages in thread
From: Himal Prasad Ghimiray @ 2024-06-03  9:01 UTC (permalink / raw)
  To: intel-xe; +Cc: Himal Prasad Ghimiray, Rodrigo Vivi, Badal Nilawar

- Remove unused bit definitions.
- Driver uses BIT(0) for waking/sleeping the domain and since the
registers are masked respective mask bit BIT(16) needs to be set. Use
defines for these bits and use them in domain initialization.

Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Badal Nilawar <badal.nilawar@intel.com>
Suggested-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
 drivers/gpu/drm/xe/regs/xe_gt_regs.h |  7 ++++---
 drivers/gpu/drm/xe/xe_force_wake.c   | 18 ++++++++++++------
 2 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/xe/regs/xe_gt_regs.h b/drivers/gpu/drm/xe/regs/xe_gt_regs.h
index d09b2473259f..441747f2d28a 100644
--- a/drivers/gpu/drm/xe/regs/xe_gt_regs.h
+++ b/drivers/gpu/drm/xe/regs/xe_gt_regs.h
@@ -487,9 +487,10 @@
 	((ccs) << ((cslice) * CCS_MODE_CSLICE_WIDTH))
 
 #define FORCEWAKE_ACK_GT			XE_REG(0x130044)
-#define   FORCEWAKE_KERNEL			BIT(0)
-#define   FORCEWAKE_USER			BIT(1)
-#define   FORCEWAKE_KERNEL_FALLBACK		BIT(15)
+
+/* Applicable for all FORCEWAKE_DOMAIN and FORCEWAKE_ACK_DOMAIN regs */
+#define   FORCEWAKE_THREAD_XE			BIT(0)
+#define   FORCEWAKE_THREAD_XE_MASK		BIT(16)
 
 #define MTL_MEDIA_PERF_LIMIT_REASONS		XE_REG(0x138030)
 #define MTL_MEDIA_MC6				XE_REG(0x138048)
diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/xe_force_wake.c
index 9bbe8a5040da..64721c01f30d 100644
--- a/drivers/gpu/drm/xe/xe_force_wake.c
+++ b/drivers/gpu/drm/xe/xe_force_wake.c
@@ -52,13 +52,15 @@ void xe_force_wake_init_gt(struct xe_gt *gt, struct xe_force_wake *fw)
 			    XE_FW_DOMAIN_ID_GT,
 			    FORCEWAKE_GT,
 			    FORCEWAKE_ACK_GT_MTL,
-			    BIT(0), BIT(16));
+			    FORCEWAKE_THREAD_XE,
+			    FORCEWAKE_THREAD_XE_MASK);
 	} else {
 		domain_init(&fw->domains[XE_FW_DOMAIN_ID_GT],
 			    XE_FW_DOMAIN_ID_GT,
 			    FORCEWAKE_GT,
 			    FORCEWAKE_ACK_GT,
-			    BIT(0), BIT(16));
+			    FORCEWAKE_THREAD_XE,
+			    FORCEWAKE_THREAD_XE_MASK);
 	}
 }
 
@@ -74,7 +76,8 @@ void xe_force_wake_init_engines(struct xe_gt *gt, struct xe_force_wake *fw)
 			    XE_FW_DOMAIN_ID_RENDER,
 			    FORCEWAKE_RENDER,
 			    FORCEWAKE_ACK_RENDER,
-			    BIT(0), BIT(16));
+			    FORCEWAKE_THREAD_XE,
+			    FORCEWAKE_THREAD_XE_MASK);
 
 	for (i = XE_HW_ENGINE_VCS0, j = 0; i <= XE_HW_ENGINE_VCS7; ++i, ++j) {
 		if (!(gt->info.engine_mask & BIT(i)))
@@ -84,7 +87,8 @@ void xe_force_wake_init_engines(struct xe_gt *gt, struct xe_force_wake *fw)
 			    XE_FW_DOMAIN_ID_MEDIA_VDBOX0 + j,
 			    FORCEWAKE_MEDIA_VDBOX(j),
 			    FORCEWAKE_ACK_MEDIA_VDBOX(j),
-			    BIT(0), BIT(16));
+			    FORCEWAKE_THREAD_XE,
+			    FORCEWAKE_THREAD_XE_MASK);
 	}
 
 	for (i = XE_HW_ENGINE_VECS0, j = 0; i <= XE_HW_ENGINE_VECS3; ++i, ++j) {
@@ -95,7 +99,8 @@ void xe_force_wake_init_engines(struct xe_gt *gt, struct xe_force_wake *fw)
 			    XE_FW_DOMAIN_ID_MEDIA_VEBOX0 + j,
 			    FORCEWAKE_MEDIA_VEBOX(j),
 			    FORCEWAKE_ACK_MEDIA_VEBOX(j),
-			    BIT(0), BIT(16));
+			    FORCEWAKE_THREAD_XE,
+			    FORCEWAKE_THREAD_XE_MASK);
 	}
 
 	if (gt->info.engine_mask & BIT(XE_HW_ENGINE_GSCCS0))
@@ -103,7 +108,8 @@ void xe_force_wake_init_engines(struct xe_gt *gt, struct xe_force_wake *fw)
 			    XE_FW_DOMAIN_ID_GSC,
 			    FORCEWAKE_GSC,
 			    FORCEWAKE_ACK_GSC,
-			    BIT(0), BIT(16));
+			    FORCEWAKE_THREAD_XE,
+			    FORCEWAKE_THREAD_XE_MASK);
 }
 
 static void domain_wake(struct xe_gt *gt, struct xe_force_wake_domain *domain)
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2024-06-05  3:03 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-03  9:01 [PATCH v2 1/3] drm/xe: Cleanup force wake registers bit definitions Himal Prasad Ghimiray
2024-06-03  9:01 ` [PATCH v2 2/3] drm/xe: Add member initialized_domains to xe_force_wake Himal Prasad Ghimiray
2024-06-03 14:33   ` Nilawar, Badal
2024-06-03  9:01 ` [PATCH v2 3/3] drm/xe: Fix xe_force_wake_assert_held for enum XE_FORCEWAKE_ALL Himal Prasad Ghimiray
2024-06-03 14:36   ` Nilawar, Badal
2024-06-03 10:55 ` [PATCH v2 1/3] drm/xe: Cleanup force wake registers bit definitions Nilawar, Badal
2024-06-04 14:45 ` ✓ CI.Patch_applied: success for series starting with [v2,1/3] " Patchwork
2024-06-04 14:46 ` ✓ CI.checkpatch: " Patchwork
2024-06-04 14:46 ` ✓ CI.KUnit: " Patchwork
2024-06-04 14:58 ` ✓ CI.Build: " Patchwork
2024-06-04 14:58 ` ✗ CI.Hooks: failure " Patchwork
2024-06-04 15:00 ` ✓ CI.checksparse: success " Patchwork
2024-06-04 16:59 ` ✗ CI.FULL: failure " Patchwork
2024-06-04 18:48 ` [PATCH v2 1/3] " Rodrigo Vivi
2024-06-05  3:03   ` Ghimiray, Himal Prasad

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox