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