From d8b5ee8d65727ffd866fe72d695e7ded54992758 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Date: Thu, 11 Jul 2024 08:32:55 -0700 Subject: [PATCH] intel/dev: Support new topology type with SIMD16 EUs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Xe KMD will now report the different topology mask types based on the type of the EU of running platform. With this we don't need to divide the EU count by 2 in intel_perf. Reviewed-by: Lionel Landwerlin Signed-off-by: José Roberto de Souza (cherry picked from commit 132c5cdeb9f9c317c57a36be47b712c8289e1465) Part-of: --- .pick_status.json | 2 +- src/intel/dev/xe/intel_device_info.c | 1 + src/intel/perf/intel_perf.c | 8 -------- 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 980baad7fb6..676db6f31f0 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -824,7 +824,7 @@ "description": "intel/dev: Support new topology type with SIMD16 EUs", "nominated": false, "nomination_type": 3, - "resolution": 4, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/intel/dev/xe/intel_device_info.c b/src/intel/dev/xe/intel_device_info.c index 3274c38d049..2227e81019d 100644 --- a/src/intel/dev/xe/intel_device_info.c +++ b/src/intel/dev/xe/intel_device_info.c @@ -296,6 +296,7 @@ xe_query_topology(int fd, struct intel_device_info *devinfo) geo_dss_num_bytes = topology->num_bytes; break; case DRM_XE_TOPO_EU_PER_DSS: + case DRM_XE_TOPO_SIMD16_EU_PER_DSS: eu_per_dss_mask = (uint32_t *)topology->mask; break; } diff --git a/src/intel/perf/intel_perf.c b/src/intel/perf/intel_perf.c index a20364954a7..a50dbd6d06c 100644 --- a/src/intel/perf/intel_perf.c +++ b/src/intel/perf/intel_perf.c @@ -342,14 +342,6 @@ compute_topology_builtins(struct intel_perf_config *perf) perf->sys_vars.n_eu_sub_slices = intel_device_info_subslice_total(devinfo); perf->sys_vars.n_eus = intel_device_info_eu_total(devinfo); - /* Xe2+ OA equations expects actual EU count but KMD returns legacy EU - * count. - */ - if (devinfo->verx10 >= 200) { - perf->sys_vars.n_eu_slice0123 /= 2; - perf->sys_vars.n_eus /= 2; - } - /* The subslice mask builtin contains bits for all slices. Prior to Gfx11 * it had groups of 3bits for each slice, on Gfx11 and above it's 8bits for * each slice.