[PATCH 5/7] drm/xe: Add helper to capture engine timestamp

Lucas De Marchi lucas.demarchi at intel.com
Tue Apr 16 03:04:52 UTC 2024


Just like CTX_TIMESTAMP is used to calculate runtime, add a helper to
get the timestamp for the engine so it can be used to calculate the
"engine time" with the same unit as the runtime is recorded.

Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
---
 drivers/gpu/drm/xe/xe_hw_engine.c | 7 +++++++
 drivers/gpu/drm/xe/xe_hw_engine.h | 2 ++
 2 files changed, 9 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
index ab227fa8984a..528b271c9f23 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine.c
@@ -981,3 +981,10 @@ const char *xe_hw_engine_class_to_str(enum xe_engine_class class)
 
 	return NULL;
 }
+
+u64 xe_hw_engine_read_timestamp(struct xe_hw_engine *hwe)
+{
+	struct xe_reg reg = RING_TIMESTAMP(hwe->mmio_base);
+
+	return xe_mmio_read64_2x32(hwe->gt, reg);
+}
diff --git a/drivers/gpu/drm/xe/xe_hw_engine.h b/drivers/gpu/drm/xe/xe_hw_engine.h
index 843de159e47c..41cd0cd71ae0 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.h
+++ b/drivers/gpu/drm/xe/xe_hw_engine.h
@@ -69,4 +69,6 @@ static inline bool xe_hw_engine_is_valid(struct xe_hw_engine *hwe)
 
 const char *xe_hw_engine_class_to_str(enum xe_engine_class class);
 
+u64 xe_hw_engine_read_timestamp(struct xe_hw_engine *hwe);
+
 #endif
-- 
2.43.0



More information about the Intel-xe mailing list