Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-xe] [PATCH v4] drm/xe/xe2: Enable Priority Mem Read
@ 2024-07-23 23:31 Pallavi Mishra
  2024-07-23 23:27 ` ✓ CI.Patch_applied: success for drm/xe/xe2: Enable Priority Mem Read (rev6) Patchwork
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: Pallavi Mishra @ 2024-07-23 23:31 UTC (permalink / raw)
  To: intel-xe
  Cc: matthew.d.roper, jose.souza, carl.zhang, jonathan.cavitt,
	Pallavi Mishra

Enable feature to allow memory reads to take a priority memory path.
This will reduce latency on the read path, but may introduce read after
write (RAW) hazards as read and writes will no longer be ordered.

To avoid RAW hazards, SW can use the MI_MEM_FENCE command or any other
MI command that generates non posted memory writes.  This will ensure
data is coherent in memory prior to execution of commands which read
data from memory.

No pattern identified in KMD that could lead to a hazard.

v2: Modify commit message, enable priority mem read feature for media,
modify version range, modify bspec detail (Matt Roper)

v3: Rebase, fix cramped line-wrapping (jcavitt)

v4: Rebase

Bspec: 60298, 60237, 60187, 60188

Signed-off-by: Pallavi Mishra <pallavi.mishra@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Acked-by: José Roberto de Souza <jose.souza@intel.com>
Acked-by: Carl Zhang <carl.zhang@intel.com>
---
 drivers/gpu/drm/xe/regs/xe_engine_regs.h |  1 +
 drivers/gpu/drm/xe/xe_hw_engine.c        | 11 +++++++++++
 2 files changed, 12 insertions(+)

diff --git a/drivers/gpu/drm/xe/regs/xe_engine_regs.h b/drivers/gpu/drm/xe/regs/xe_engine_regs.h
index c38db2a74614..81b71903675e 100644
--- a/drivers/gpu/drm/xe/regs/xe_engine_regs.h
+++ b/drivers/gpu/drm/xe/regs/xe_engine_regs.h
@@ -104,6 +104,7 @@
 #define CSFE_CHICKEN1(base)			XE_REG((base) + 0xd4, XE_REG_OPTION_MASKED)
 #define   GHWSP_CSB_REPORT_DIS			REG_BIT(15)
 #define   PPHWSP_CSB_AND_TIMESTAMP_REPORT_DIS	REG_BIT(14)
+#define   CS_PRIORITY_MEM_READ			REG_BIT(7)
 
 #define FF_SLICE_CS_CHICKEN1(base)		XE_REG((base) + 0xe0, XE_REG_OPTION_MASKED)
 #define   FFSC_PERCTX_PREEMPT_CTRL		REG_BIT(14)
diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
index 07ed9fd28f19..5483deaab1bd 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine.c
@@ -425,6 +425,17 @@ hw_engine_setup_default_state(struct xe_hw_engine *hwe)
 					   0xA,
 					   XE_RTP_ACTION_FLAG(ENGINE_BASE)))
 		},
+		/* Enable Priority Mem Read */
+		{ XE_RTP_NAME("Priority_Mem_Read"),
+		  XE_RTP_RULES(GRAPHICS_VERSION_RANGE(2001, XE_RTP_END_VERSION_UNDEFINED)),
+		  XE_RTP_ACTIONS(SET(CSFE_CHICKEN1(0), CS_PRIORITY_MEM_READ,
+				     XE_RTP_ACTION_FLAG(ENGINE_BASE)))
+		},
+		{ XE_RTP_NAME("Priority_Mem_Read_For_Media"),
+		  XE_RTP_RULES(MEDIA_VERSION_RANGE(1301, XE_RTP_END_VERSION_UNDEFINED)),
+		  XE_RTP_ACTIONS(SET(CSFE_CHICKEN1(0), CS_PRIORITY_MEM_READ,
+				     XE_RTP_ACTION_FLAG(ENGINE_BASE)))
+		},
 		{}
 	};
 
-- 
2.25.1


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

end of thread, other threads:[~2024-07-25 20:35 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-23 23:31 [Intel-xe] [PATCH v4] drm/xe/xe2: Enable Priority Mem Read Pallavi Mishra
2024-07-23 23:27 ` ✓ CI.Patch_applied: success for drm/xe/xe2: Enable Priority Mem Read (rev6) Patchwork
2024-07-23 23:28 ` ✓ CI.checkpatch: " Patchwork
2024-07-23 23:29 ` ✓ CI.KUnit: " Patchwork
2024-07-23 23:41 ` ✓ CI.Build: " Patchwork
2024-07-23 23:43 ` ✓ CI.Hooks: " Patchwork
2024-07-23 23:44 ` ✓ CI.checksparse: " Patchwork
2024-07-24  0:26 ` ✓ CI.BAT: " Patchwork
2024-07-24  1:26 ` ✗ CI.FULL: failure " Patchwork
2024-07-24 19:36   ` Mishra, Pallavi
2024-07-25  2:11 ` [Intel-xe] [PATCH v4] drm/xe/xe2: Enable Priority Mem Read Zhang, Carl
2024-07-25 20:34   ` Mishra, Pallavi

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