intel/perf: Add PTL OA support

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35298>
This commit is contained in:
Sushma Venkatesh Reddy
2025-06-02 20:16:26 +00:00
committed by Marge Bot
parent 83a3123ac5
commit 03fc7d6a6d
4 changed files with 7077 additions and 0 deletions

View File

@@ -263,6 +263,14 @@ def resolve_variable(name, set, allow_counters):
m = re.search(r'\$GtSlice([0-9]+)XeCore([0-9]+)$', name) m = re.search(r'\$GtSlice([0-9]+)XeCore([0-9]+)$', name)
if m: if m:
return 'intel_device_info_subslice_available(perf->devinfo, {0}, {1})'.format(m.group(1), m.group(2)) return 'intel_device_info_subslice_available(perf->devinfo, {0}, {1})'.format(m.group(1), m.group(2))
m = re.search(r'\$GtXeCore([0-9]+)$', name)
if m:
n = m.group(1)
return (
'intel_device_info_subslice_available(perf->devinfo, '
'{n} / perf->devinfo->subslice_slice_stride, '
'{n} % perf->devinfo->subslice_slice_stride)'
).format(n=n)
if allow_counters and name in set.counter_vars: if allow_counters and name in set.counter_vars:
return set.read_funcs[name[1:]] + "(perf, query, results)" return set.read_funcs[name[1:]] + "(perf, query, results)"
return None return None

View File

@@ -483,6 +483,8 @@ get_register_queries_function(const struct intel_device_info *devinfo)
return intel_oa_register_queries_lnl; return intel_oa_register_queries_lnl;
case INTEL_PLATFORM_BMG: case INTEL_PLATFORM_BMG:
return intel_oa_register_queries_bmg; return intel_oa_register_queries_bmg;
case INTEL_PLATFORM_PTL:
return intel_oa_register_queries_ptl;
default: default:
return NULL; return NULL;
} }
@@ -1232,6 +1234,7 @@ intel_perf_query_result_read_gt_frequency(struct intel_perf_query_result *result
case 11: case 11:
case 12: case 12:
case 20: case 20:
case 30:
result->gt_frequency[0] = GET_FIELD(start, GFX9_RPSTAT0_CURR_GT_FREQ) * 50ULL / 3ULL; result->gt_frequency[0] = GET_FIELD(start, GFX9_RPSTAT0_CURR_GT_FREQ) * 50ULL / 3ULL;
result->gt_frequency[1] = GET_FIELD(end, GFX9_RPSTAT0_CURR_GT_FREQ) * 50ULL / 3ULL; result->gt_frequency[1] = GET_FIELD(end, GFX9_RPSTAT0_CURR_GT_FREQ) * 50ULL / 3ULL;
break; break;

View File

@@ -12,6 +12,7 @@ intel_hw_metrics = [
'arlgt1', 'arlgt2', 'arlgt1', 'arlgt2',
'lnl', 'lnl',
'bmg', 'bmg',
'ptl',
] ]
intel_hw_metrics_xml_files = [] intel_hw_metrics_xml_files = []

7065
src/intel/perf/oa-ptl.xml Normal file

File diff suppressed because it is too large Load Diff