[Intel-xe] [PATCH 1/2 v3] drm/xe: Add infrastructure for per engine tuning
Matt Atwood
matthew.s.atwood at intel.com
Wed Aug 23 19:55:32 UTC 2023
Add the infrastructure that allows for per engine tuning preparation for
disable indirect state.
v3: rebase
Signed-off-by: Matt Atwood <matthew.s.atwood at intel.com>
---
drivers/gpu/drm/xe/xe_hw_engine.c | 2 ++
drivers/gpu/drm/xe/xe_tuning.c | 12 ++++++++++++
drivers/gpu/drm/xe/xe_tuning.h | 1 +
3 files changed, 15 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
index dd673a684b70..9dafc56d5fe8 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine.c
@@ -24,6 +24,7 @@
#include "xe_reg_sr.h"
#include "xe_rtp.h"
#include "xe_sched_job.h"
+#include "xe_tuning.h"
#include "xe_wa.h"
#define MAX_MMIO_BASES 3
@@ -401,6 +402,7 @@ static void hw_engine_init_early(struct xe_gt *gt, struct xe_hw_engine *hwe,
}
xe_reg_sr_init(&hwe->reg_sr, hwe->name, gt_to_xe(gt));
+ xe_tuning_process_engine(gt);
xe_wa_process_engine(hwe);
hw_engine_setup_default_state(hwe);
diff --git a/drivers/gpu/drm/xe/xe_tuning.c b/drivers/gpu/drm/xe/xe_tuning.c
index 412e59de9842..702cb41dab53 100644
--- a/drivers/gpu/drm/xe/xe_tuning.c
+++ b/drivers/gpu/drm/xe/xe_tuning.c
@@ -27,6 +27,10 @@ static const struct xe_rtp_entry_sr gt_tunings[] = {
{}
};
+static const struct xe_rtp_entry_sr engine_tunings[] = {
+ {}
+};
+
static const struct xe_rtp_entry_sr lrc_tunings[] = {
{ XE_RTP_NAME("Tuning: ganged timer, also known as 16011163337"),
XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1210)),
@@ -65,6 +69,14 @@ void xe_tuning_process_gt(struct xe_gt *gt)
}
EXPORT_SYMBOL_IF_KUNIT(xe_tuning_process_gt);
+void xe_tuning_process_engine(struct xe_gt *gt)
+{
+ struct xe_rtp_process_ctx ctx = XE_RTP_PROCESS_CTX_INITIALIZER(gt);
+
+ xe_rtp_process_to_sr(&ctx, engine_tunings, >->reg_sr);
+}
+EXPORT_SYMBOL_IF_KUNIT(xe_tuning_process_engine);
+
/**
* xe_tuning_process_lrc - process lrc tunings
* @hwe: engine instance to process tunings for
diff --git a/drivers/gpu/drm/xe/xe_tuning.h b/drivers/gpu/drm/xe/xe_tuning.h
index 2b95b0c8effc..740cb1bd2f0a 100644
--- a/drivers/gpu/drm/xe/xe_tuning.h
+++ b/drivers/gpu/drm/xe/xe_tuning.h
@@ -10,6 +10,7 @@ struct xe_gt;
struct xe_hw_engine;
void xe_tuning_process_gt(struct xe_gt *gt);
+void xe_tuning_process_engine(struct xe_gt *gt);
void xe_tuning_process_lrc(struct xe_hw_engine *hwe);
#endif
--
2.40.1
More information about the Intel-xe
mailing list