[Intel-xe] [PATCH v2 1/2] drm/xe: add infrastructure for per engine tuning
Matt Atwood
matthew.s.atwood at intel.com
Tue Apr 18 20:14:02 UTC 2023
Add the infrastructure that allows for per engine tuning in preparation
for disable indirect state.
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 | 10 ++++++++++
drivers/gpu/drm/xe/xe_tuning.h | 1 +
3 files changed, 13 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
index 4b56c35b988d..f0b78efc6cf7 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine.c
@@ -22,6 +22,7 @@
#include "xe_mmio.h"
#include "xe_reg_sr.h"
#include "xe_sched_job.h"
+#include "xe_tuning.h"
#include "xe_wa.h"
#define MAX_MMIO_BASES 3
@@ -292,6 +293,7 @@ static void hw_engine_init_early(struct xe_gt *gt, struct xe_hw_engine *hwe,
hwe->engine_id = id;
xe_reg_sr_init(&hwe->reg_sr, hwe->name, gt_to_xe(gt));
+ xe_tuning_process_engine(hwe);
xe_wa_process_engine(hwe);
xe_reg_sr_init(&hwe->reg_whitelist, hwe->name, gt_to_xe(gt));
diff --git a/drivers/gpu/drm/xe/xe_tuning.c b/drivers/gpu/drm/xe/xe_tuning.c
index 27cf1330facd..35af2624b28a 100644
--- a/drivers/gpu/drm/xe/xe_tuning.c
+++ b/drivers/gpu/drm/xe/xe_tuning.c
@@ -29,6 +29,10 @@ static const struct xe_rtp_entry gt_tunings[] = {
{}
};
+static const struct xe_rtp_entry engine_tunings[] = {
+ {}
+};
+
static const struct xe_rtp_entry lrc_tunings[] = {
{ XE_RTP_NAME("Tuning: ganged timer, also known as 16011163337"),
XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1210)),
@@ -66,6 +70,12 @@ void xe_tuning_process_gt(struct xe_gt *gt)
}
EXPORT_SYMBOL_IF_KUNIT(xe_tuning_process_gt);
+void xe_tuning_process_engine(struct xe_hw_engine *hwe)
+{
+ xe_rtp_process(engine_tunings, &hwe->reg_sr, hwe->gt, hwe);
+}
+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..4f9c3ac3b516 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_hw_engine *hwe);
void xe_tuning_process_lrc(struct xe_hw_engine *hwe);
#endif
--
2.39.2
More information about the Intel-xe
mailing list