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; }