Mesa (main): intel/perf: disable sseu setting on Gfx12.5+
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue May 17 20:20:08 UTC 2022
Module: Mesa
Branch: main
Commit: 773f41e3e42051aca5015a188a5c3cbf01a5ef1a
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=773f41e3e42051aca5015a188a5c3cbf01a5ef1a
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date: Mon Jul 19 12:33:26 2021 +0300
intel/perf: disable sseu setting on Gfx12.5+
This is rejected by i915.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144>
---
src/intel/perf/intel_perf_query.c | 12 ++++++++++--
src/intel/vulkan/anv_perf.c | 6 +++++-
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/src/intel/perf/intel_perf_query.c b/src/intel/perf/intel_perf_query.c
index 03bad5854e3..6f4d5a50b22 100644
--- a/src/intel/perf/intel_perf_query.c
+++ b/src/intel/perf/intel_perf_query.c
@@ -382,8 +382,16 @@ intel_perf_open(struct intel_perf_context *perf_ctx,
properties[p++] = DRM_I915_PERF_PROP_OA_EXPONENT;
properties[p++] = period_exponent;
- /* SSEU configuration */
- if (intel_perf_has_global_sseu(perf_ctx->perf)) {
+ /* If global SSEU is available, pin it to the default. This will ensure on
+ * Gfx11 for instance we use the full EU array. Initially when perf was
+ * enabled we would use only half on Gfx11 because of functional
+ * requirements.
+ *
+ * Temporary disable this option on Gfx12.5+, kernel doesn't appear to
+ * support it.
+ */
+ if (intel_perf_has_global_sseu(perf_ctx->perf) &&
+ perf_ctx->devinfo->verx10 < 125) {
properties[p++] = DRM_I915_PERF_PROP_GLOBAL_SSEU;
properties[p++] = to_user_pointer(&perf_ctx->perf->sseu);
}
diff --git a/src/intel/vulkan/anv_perf.c b/src/intel/vulkan/anv_perf.c
index cdea955b082..975b294b45d 100644
--- a/src/intel/vulkan/anv_perf.c
+++ b/src/intel/vulkan/anv_perf.c
@@ -144,8 +144,12 @@ anv_device_perf_open(struct anv_device *device, uint64_t metric_id)
* Gfx11 for instance we use the full EU array. Initially when perf was
* enabled we would use only half on Gfx11 because of functional
* requirements.
+ *
+ * Temporary disable this option on Gfx12.5+, kernel doesn't appear to
+ * support it.
*/
- if (intel_perf_has_global_sseu(device->physical->perf)) {
+ if (intel_perf_has_global_sseu(device->physical->perf) &&
+ device->info.verx10 < 125) {
properties[p++] = DRM_I915_PERF_PROP_GLOBAL_SSEU;
properties[p++] = (uintptr_t) &device->physical->perf->sseu;
}
More information about the mesa-commit
mailing list