[PATCH i-g-t 02/15] lib/xe/oa: Add PVC support
Ashutosh Dixit
ashutosh.dixit at intel.com
Fri Jul 5 18:26:23 UTC 2024
Add oa-pvc.xml and enable support for PVC.
Signed-off-by: Ashutosh Dixit <ashutosh.dixit at intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa at intel.com>
---
lib/meson.build | 5 +-
lib/xe/oa-configs/oa-pvc.xml | 1018 ++++++++++++++++++++++++++++++++++
lib/xe/xe_oa.c | 4 +
3 files changed, 1024 insertions(+), 3 deletions(-)
create mode 100644 lib/xe/oa-configs/oa-pvc.xml
diff --git a/lib/meson.build b/lib/meson.build
index 8c032cbb66..7577bee9d3 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -403,10 +403,9 @@ xe_oa_files = [
xe_oa_hardware = [
'tglgt1', 'tglgt2',
- 'dg1',
- 'rkl',
- 'adl',
+ 'dg1', 'rkl', 'adl',
'acmgt1', 'acmgt2', 'acmgt3',
+ 'pvc',
'mtlgt2', 'mtlgt3',
'lnl',
]
diff --git a/lib/xe/oa-configs/oa-pvc.xml b/lib/xe/oa-configs/oa-pvc.xml
new file mode 100644
index 0000000000..9d212e65ad
--- /dev/null
+++ b/lib/xe/oa-configs/oa-pvc.xml
@@ -0,0 +1,1018 @@
+<?xml version="1.0"?>
+<metrics version="1619079818" merge_md5="">
+ <set name="Compute Metrics Basic"
+ chipset="PVC"
+ symbol_name="ComputeBasic"
+ underscore_name="compute_basic"
+ mdapi_supported_apis="VK OGL OCL IO"
+ hw_config_guid="8d637649-e8f5-4f80-83a4-6575b05d52d8"
+ >
+ <counter name="GPU Time Elapsed"
+ symbol_name="GpuTime"
+ underscore_name="gpu_time"
+ description="Time elapsed on the GPU during the measurement."
+ data_type="uint64"
+ units="ns"
+ semantic_type="duration"
+ equation="GPU_TIME 0 READ 1000000000 UMUL $GpuTimestampFrequency UDIV"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Tier1 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="GPU Core Clocks"
+ symbol_name="GpuCoreClocks"
+ underscore_name="gpu_core_clocks"
+ description="The total number of GPU core clocks elapsed during the measurement."
+ data_type="uint64"
+ units="cycles"
+ semantic_type="event"
+ equation="GPU_CLOCK 0 READ"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Tier1 Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="AVG GPU Core Frequency"
+ symbol_name="AvgGpuCoreFrequency"
+ underscore_name="avg_gpu_core_frequency"
+ description="Average GPU Core Frequency in the measurement."
+ data_type="uint64"
+ max_equation="$GpuMaxFrequency"
+ units="hz"
+ semantic_type="event"
+ equation="$GpuCoreClocks 1000000000 UMUL $GpuTime UDIV"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Tier1 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="GPU Busy"
+ symbol_name="GpuBusy"
+ underscore_name="gpu_busy"
+ description="The percentage of time in which the GPU has been processing GPU commands."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="A 0 READ 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Tier1 Overview System Frame"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="CS Threads Dispatched"
+ symbol_name="CsThreads"
+ underscore_name="cs_threads"
+ description="The total number of compute shader hardware threads dispatched."
+ data_type="uint64"
+ units="threads"
+ semantic_type="event"
+ equation="A 4 READ"
+ mdapi_group="EU Array/Compute Shader"
+ mdapi_usage_flags="Tier3 Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="Shader Memory Accesses"
+ symbol_name="ShaderMemoryAccesses"
+ underscore_name="shader_memory_accesses"
+ description="The total number of shader memory accesses to L3."
+ data_type="uint64"
+ units="messages"
+ semantic_type="event"
+ equation="A 32 READ"
+ mdapi_group="L3/Data Port"
+ mdapi_usage_flags="Tier3 Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="Shader Atomic Memory Accesses"
+ symbol_name="ShaderAtomics"
+ underscore_name="shader_atomics"
+ description="The total number of shader atomic memory accesses."
+ data_type="uint64"
+ units="messages"
+ semantic_type="event"
+ equation="A 34 READ"
+ mdapi_group="L3/Data Port/Atomics"
+ mdapi_usage_flags="Tier3 Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="Shader Barrier Messages"
+ symbol_name="ShaderBarriers"
+ underscore_name="shader_barriers"
+ description="The total number of shader barrier messages."
+ data_type="uint64"
+ units="messages"
+ semantic_type="event"
+ equation="A 35 READ"
+ mdapi_group="EU Array/Barrier"
+ mdapi_usage_flags="Tier3 Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="SLM Reads"
+ symbol_name="SlmReads"
+ underscore_name="slm_reads"
+ description="The total number of reads from shared local memory."
+ data_type="uint64"
+ max_equation="$GpuCoreClocks $EuSubslicesTotalCount UMUL"
+ units="events"
+ semantic_type="event"
+ equation="A 30 READ"
+ mdapi_group="L3/Data Port/SLM"
+ mdapi_usage_flags="Tier3 Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="SLM Writes"
+ symbol_name="SlmWrites"
+ underscore_name="slm_writes"
+ description="The total number of writes to shared local memory."
+ data_type="uint64"
+ max_equation="$GpuCoreClocks $EuSubslicesTotalCount UMUL"
+ units="events"
+ semantic_type="event"
+ equation="A 31 READ"
+ mdapi_group="L3/Data Port/SLM"
+ mdapi_usage_flags="Tier3 Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="GTI Read Throughput"
+ symbol_name="GtiReadThroughput"
+ underscore_name="gti_read_throughput"
+ description="The total number of GPU memory bytes read from GTI."
+ data_type="uint64"
+ max_equation="$GpuCoreClocks 64 UMUL"
+ units="bytes"
+ semantic_type="throughput"
+ equation="128 A 36 READ UMUL"
+ mdapi_group="GTI"
+ mdapi_usage_flags="Tier1 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="GTI Write Throughput"
+ symbol_name="GtiWriteThroughput"
+ underscore_name="gti_write_throughput"
+ description="The total number of GPU memory bytes written to GTI."
+ data_type="uint64"
+ max_equation="$GpuCoreClocks 64 UMUL"
+ units="bytes"
+ semantic_type="throughput"
+ equation="128 A 37 READ UMUL"
+ mdapi_group="GTI"
+ mdapi_usage_flags="Tier1 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="EU Active"
+ symbol_name="EU_ACTIVE_CYCLES"
+ underscore_name="eu_active_cycles"
+ description="The percentage of time in which the Execution Units were actively processing."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="A 7 READ $EuCoresTotalCount UDIV 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="EU Array"
+ mdapi_usage_flags="Tier2 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="EU Stall"
+ symbol_name="EU_STALL_CYCLES"
+ underscore_name="eu_stall_cycles"
+ description="The percentage of time in which the Execution Units were stalled."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="A 8 READ $EuCoresTotalCount UDIV 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="EU Array"
+ mdapi_usage_flags="Tier2 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="EU FPU Pipe Active"
+ symbol_name="EU_INST_EXECUTED_ALU0_ALL"
+ underscore_name="eu_inst_executed_alu0_all"
+ description="The percentage of time in which EU FPU INT64 pipeline was actively processing."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="A 9 READ $EuCoresTotalCount UDIV 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="EU Array/Pipes"
+ mdapi_usage_flags="Tier3 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="EM Pipe Active"
+ symbol_name="EU_INST_EXECUTED_ALU1_ALL"
+ underscore_name="eu_inst_executed_alu1_all"
+ description="The percentage of time in which EU EM INT pipeline was actively processing."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="A 10 READ $EuCoresTotalCount UDIV 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="EU Array/Pipes"
+ mdapi_usage_flags="Tier3 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="SYS Pipe Active"
+ symbol_name="EU_INST_EXECUTED_SYSTOLIC_ALL"
+ underscore_name="eu_inst_executed_systolic_all"
+ description="The percentage of time in which EU SYS pipeline was actively processing."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="A 13 READ $EuCoresTotalCount UDIV 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="EU Array/Pipes"
+ mdapi_usage_flags="Tier3 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="Send Pipe Active"
+ symbol_name="EU_INST_EXECUTED_SEND_ALL"
+ underscore_name="eu_inst_executed_send_all"
+ description="The percentage of time in which EU send pipeline was actively processing."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="A 11 READ $EuCoresTotalCount UDIV 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="EU Array/Pipes"
+ mdapi_usage_flags="Tier3 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="EM JEU Instruction"
+ symbol_name="EU_INST_EXECUTED_CONTROL_ALL"
+ underscore_name="eu_inst_executed_control_all"
+ description="The percentage of time in which JEU instruction were processed actively on EM INT pipeline."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="A 12 READ $EuCoresTotalCount UDIV 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="EU Array"
+ mdapi_usage_flags="Tier3 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="EM And FPU Pipes Active"
+ symbol_name="EU_PIPE_ALU0_AND_ALU1_ACTIVE_CYCLES"
+ underscore_name="eu_pipe_alu0_and_alu1_active_cycles"
+ description="The percentage of time in which EU EM INT and FPU INT64 pipelines were actively processing."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="A 15 READ $EuCoresTotalCount UDIV 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="EU Array/Pipes"
+ mdapi_usage_flags="Tier3 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="SYS And FPU Pipes Active"
+ symbol_name="EU_PIPE_ALU0_AND_SYSTOLIC_ACTIVE_CYCLES"
+ underscore_name="eu_pipe_alu0_and_systolic_active_cycles"
+ description="The percentage of time in which EU Systolic and FPU INT64 pipelines were actively processing."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="A 14 READ $EuCoresTotalCount UDIV 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="EU Array/Pipes"
+ mdapi_usage_flags="Tier3 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="EU Thread Occupancy"
+ symbol_name="EU_THREADS_OCCUPANCY_ALL"
+ underscore_name="eu_threads_occupancy_all"
+ description="The percentage of time in which hardware threads occupied EUs."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="8 A 16 READ FMUL $EuThreadsCount FDIV $EuCoresTotalCount UDIV 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="EU Array"
+ mdapi_usage_flags="Tier2 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="SYSMEM_TRANSACTION_READ"
+ symbol_name="SYSMEM_TRANSACTION_READ"
+ underscore_name="sysmem_transaction_read"
+ description="The number of system memory reads (upstream)"
+ data_type="uint64"
+ units="events"
+ semantic_type="event"
+ equation="C 7 READ"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="SYSMEM_TRANSACTION_WRITE"
+ symbol_name="SYSMEM_TRANSACTION_WRITE"
+ underscore_name="sysmem_transaction_write"
+ description="The number of system memory writes (upstream)"
+ data_type="uint64"
+ units="events"
+ semantic_type="event"
+ equation="C 6 READ"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="HOST_TO_GPUMEM_TRANSACTION_READ"
+ symbol_name="HOST_TO_GPUMEM_TRANSACTION_READ"
+ underscore_name="host_to_gpumem_transaction_read"
+ description="Host reads to GPU local (HBM) memory (downstream)"
+ data_type="uint64"
+ units="events"
+ semantic_type="event"
+ equation="C 5 READ"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="HOST_TO_GPUMEM_TRANSACTION_WRITE"
+ symbol_name="HOST_TO_GPUMEM_TRANSACTION_WRITE"
+ underscore_name="host_to_gpumem_transaction_write"
+ description="Host writes to GPU local (HBM) memory (downstream)"
+ data_type="uint64"
+ units="events"
+ semantic_type="event"
+ equation="C 4 READ"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="GPU_MEMORY_REQUEST_QUEUE_FULL _SQIDI0"
+ symbol_name="GPU_MEMORY_REQUEST_QUEUE_FULL_SQIDI0"
+ underscore_name="gpu_memory_request_queue_full_sqidi0"
+ description="The The percentage of time in which SQ 0 is filled above a threshold (usually 48 entries)"
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="C 3 READ 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="GPU_MEMORY_REQUEST_QUEUE_FULL _SQIDI1"
+ symbol_name="GPU_MEMORY_REQUEST_QUEUE_FULL_SQIDI1"
+ underscore_name="gpu_memory_request_queue_full_sqidi1"
+ description="The The percentage of time in which SQ 1 is filled above a threshold (usually 48 entries)"
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="C 2 READ 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="GPU_MEMORY_REQUEST_QUEUE_FULL _SQIDI2"
+ symbol_name="GPU_MEMORY_REQUEST_QUEUE_FULL_SQIDI2"
+ underscore_name="gpu_memory_request_queue_full_sqidi2"
+ description="The The percentage of time in which SQ 2 is filled above a threshold (usually 48 entries)"
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="C 1 READ 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="GPU_MEMORY_REQUEST_QUEUE_FULL _SQIDI3"
+ symbol_name="GPU_MEMORY_REQUEST_QUEUE_FULL_SQIDI3"
+ underscore_name="gpu_memory_request_queue_full_sqidi3"
+ description="The The percentage of time in which SQ 3 is filled above a threshold (usually 48 entries)"
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="C 0 READ 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="GPU_MEMORY_REQUEST_QUEUE_FULL _SQIDI4"
+ symbol_name="GPU_MEMORY_REQUEST_QUEUE_FULL_SQIDI4"
+ underscore_name="gpu_memory_request_queue_full_sqidi4"
+ description="The The percentage of time in which SQ 4 is filled above a threshold (usually 48 entries)"
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="B 7 READ 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="GPU_MEMORY_REQUEST_QUEUE_FULL _SQIDI8"
+ symbol_name="GPU_MEMORY_REQUEST_QUEUE_FULL_SQIDI8"
+ underscore_name="gpu_memory_request_queue_full_sqidi8"
+ description="The The percentage of time in which SQ 8 is filled above a threshold (usually 48 entries)"
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="B 6 READ 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="GPU_MEMORY_REQUEST_QUEUE_FULL _SQIDI12"
+ symbol_name="GPU_MEMORY_REQUEST_QUEUE_FULL_SQIDI12"
+ underscore_name="gpu_memory_request_queue_full_sqidi12"
+ description="The The percentage of time in which SQ 12 is filled above a threshold (usually 48 entries)"
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="B 5 READ 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <register_config type="NOA">
+ <register type="NOA" address="0x00000D04" value="0x00000200" />
+ <register type="NOA" address="0x00009884" value="0x0000000C" />
+ <register type="NOA" address="0x00009888" value="0x14307FC0" />
+ <register type="NOA" address="0x00009888" value="0x04306000" />
+ <register type="NOA" address="0x00009888" value="0x14003400" />
+ <register type="NOA" address="0x00009888" value="0x14013400" />
+ <register type="NOA" address="0x00009888" value="0x14023400" />
+ <register type="NOA" address="0x00009888" value="0x14033400" />
+ <register type="NOA" address="0x00009888" value="0x14083400" />
+ <register type="NOA" address="0x00009888" value="0x140C3400" />
+ <register type="NOA" address="0x00009888" value="0x14043400" />
+ <register type="NOA" address="0x00009888" value="0x1A100090" />
+ <register type="NOA" address="0x00009888" value="0x1A110009" />
+ <register type="NOA" address="0x00009888" value="0x00142000" />
+ <register type="NOA" address="0x00009888" value="0x0050FFE0" />
+ <register type="NOA" address="0x00009888" value="0x00300240" />
+ <register type="NOA" address="0x00009888" value="0x0E300695" />
+ <register type="NOA" address="0x00009888" value="0x10300824" />
+ <register type="NOA" address="0x00009888" value="0x02300000" />
+ <register type="NOA" address="0x00009888" value="0x00000002" />
+ <register type="NOA" address="0x00009888" value="0x0E000080" />
+ <register type="NOA" address="0x00009888" value="0x04000000" />
+ <register type="NOA" address="0x00009888" value="0x00010002" />
+ <register type="NOA" address="0x00009888" value="0x0E010002" />
+ <register type="NOA" address="0x00009888" value="0x04010000" />
+ <register type="NOA" address="0x00009888" value="0x00020002" />
+ <register type="NOA" address="0x00009888" value="0x0C020080" />
+ <register type="NOA" address="0x00009888" value="0x04020000" />
+ <register type="NOA" address="0x00009888" value="0x00030002" />
+ <register type="NOA" address="0x00009888" value="0x0C030002" />
+ <register type="NOA" address="0x00009888" value="0x04030000" />
+ <register type="NOA" address="0x00009888" value="0x00080002" />
+ <register type="NOA" address="0x00009888" value="0x0A080002" />
+ <register type="NOA" address="0x00009888" value="0x04080000" />
+ <register type="NOA" address="0x00009888" value="0x00128000" />
+ <register type="NOA" address="0x00009888" value="0x00160800" />
+ <register type="NOA" address="0x00009888" value="0x000C0002" />
+ <register type="NOA" address="0x00009888" value="0x080C0080" />
+ <register type="NOA" address="0x00009888" value="0x040C0000" />
+ <register type="NOA" address="0x00009888" value="0x00040002" />
+ <register type="NOA" address="0x00009888" value="0x0A040080" />
+ <register type="NOA" address="0x00009888" value="0x04040000" />
+ <register type="NOA" address="0x00009888" value="0x2C500000" />
+ <register type="NOA" address="0x00009888" value="0x2E500400" />
+ <register type="NOA" address="0x00009888" value="0x30500000" />
+ <register type="NOA" address="0x00009888" value="0x18500000" />
+ <register type="NOA" address="0x00009888" value="0x32500A05" />
+ <register type="NOA" address="0x00009888" value="0x20500030" />
+ <register type="NOA" address="0x00009888" value="0x22500603" />
+ <register type="NOA" address="0x00009888" value="0x24500030" />
+ <register type="NOA" address="0x00009888" value="0x26500603" />
+ <register type="NOA" address="0x00009884" value="0x00000008" />
+ <register type="NOA" address="0x00009888" value="0x01404400" />
+ <register type="NOA" address="0x00009888" value="0x01414400" />
+ <register type="NOA" address="0x00009888" value="0x030755A0" />
+ <register type="NOA" address="0x00009888" value="0x0308AA00" />
+ <register type="NOA" address="0x00009888" value="0x01000040" />
+ <register type="NOA" address="0x00009888" value="0x01010040" />
+ <register type="NOA" address="0x00009888" value="0x01021000" />
+ <register type="NOA" address="0x00009888" value="0x01036400" />
+ <register type="NOA" address="0x00009888" value="0x0104A800" />
+ <register type="NOA" address="0x00009888" value="0x03045555" />
+ <register type="NOA" address="0x00009888" value="0x0305555A" />
+ <register type="NOA" address="0x00009888" value="0x0106FC00" />
+ <register type="NOA" address="0x00009888" value="0x01190400" />
+ <register type="NOA" address="0x00009888" value="0x011B0400" />
+ <register type="NOA" address="0x00009888" value="0x011C4800" />
+ <register type="NOA" address="0x00009888" value="0x011E4000" />
+ <register type="NOA" address="0x00009888" value="0x01108000" />
+ </register_config>
+ <register_config type="OA">
+ <register type="OA" address="0x0000D920" value="0x00000000" />
+ <register type="OA" address="0x0000D900" value="0x00000000" />
+ <register type="OA" address="0x0000D904" value="0x00800000" />
+ <register type="OA" address="0x0000D910" value="0x00000000" />
+ <register type="OA" address="0x0000D914" value="0x00800000" />
+ <register type="OA" address="0x0000DC40" value="0x00000000" />
+ <register type="OA" address="0x00002B2C" value="0x00000000" />
+ </register_config>
+ <register_config type="FLEX">
+ <register type="FLEX" address="0x0000E458" value="0x00005004" />
+ <register type="FLEX" address="0x0000E558" value="0x00001000" />
+ <register type="FLEX" address="0x0000E658" value="0x00001002" />
+ <register type="FLEX" address="0x0000E758" value="0x0000A009" />
+ <register type="FLEX" address="0x0000E45C" value="0x00008003" />
+ </register_config>
+ </set>
+
+ <set name="TestOa"
+ chipset="PVC"
+ symbol_name="TestOa"
+ underscore_name="test_oa"
+ mdapi_supported_apis="VK OGL OCL IO"
+ hw_config_guid="339a376a-4696-4e0d-812a-5fd13b0e1aa8"
+ >
+ <counter name="GPU Time Elapsed"
+ symbol_name="GpuTime"
+ underscore_name="gpu_time"
+ description="Time elapsed on the GPU during the measurement."
+ data_type="uint64"
+ units="ns"
+ semantic_type="duration"
+ equation="GPU_TIME 0 READ 1000000000 UMUL $GpuTimestampFrequency UDIV"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Tier1 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="GPU Core Clocks"
+ symbol_name="GpuCoreClocks"
+ underscore_name="gpu_core_clocks"
+ description="The total number of GPU core clocks elapsed during the measurement."
+ data_type="uint64"
+ units="cycles"
+ semantic_type="event"
+ equation="GPU_CLOCK 0 READ"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Tier1 Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="TestCounter0"
+ symbol_name="Counter0"
+ underscore_name="counter0"
+ description="HW test counter 0. Factor: 0.0"
+ data_type="uint64"
+ units="events"
+ semantic_type="event"
+ equation="B 0 READ"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="TestCounter1"
+ symbol_name="Counter1"
+ underscore_name="counter1"
+ description="HW test counter 1. Factor: 1.0"
+ data_type="uint64"
+ units="events"
+ semantic_type="event"
+ equation="B 1 READ"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="TestCounter3"
+ symbol_name="Counter3"
+ underscore_name="counter3"
+ description="HW test counter 3. Factor: 0.5"
+ data_type="uint64"
+ units="events"
+ semantic_type="event"
+ equation="B 2 READ"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="TestCounter4"
+ symbol_name="Counter4"
+ underscore_name="counter4"
+ description="HW test counter 4. Factor: 0.3333"
+ data_type="uint64"
+ units="events"
+ semantic_type="event"
+ equation="B 3 READ"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="TestCounter5"
+ symbol_name="Counter5"
+ underscore_name="counter5"
+ description="HW test counter 5. Factor: 0.3333"
+ data_type="uint64"
+ units="events"
+ semantic_type="event"
+ equation="B 4 READ"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="TestCounter8"
+ symbol_name="Counter8"
+ underscore_name="counter8"
+ description="HW test counter 8. Should be equal to 1 in IOStream or in OAG query mode"
+ data_type="uint64"
+ units="events"
+ semantic_type="event"
+ equation="C 7 READ"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="L3_BANK_INPUT_AVAILABLE _L3BANK0"
+ symbol_name="L3_BANK_INPUT_AVAILABLE_L3BANK0"
+ underscore_name="l3_bank_input_available_l3_bank0"
+ description="The percentage of time in which l3 bank 0 input is available"
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="C 6 READ 100 UMUL $GpuCoreClocks FDIV"
+ availability="1"
+ mdapi_group="GTI/L3"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="subslice_bank"
+ />
+ <counter name="L3_OUTPUT_READY _L3BANK0"
+ symbol_name="L3_OUTPUT_READY_L3BANK0"
+ underscore_name="l3_output_ready_l3_bank0"
+ description="The percentage of time in which l3 bank 0 output is ready"
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="C 3 READ 100 UMUL $GpuCoreClocks FDIV"
+ availability="1"
+ mdapi_group="GTI/L3"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="subslice_bank"
+ />
+ <counter name="L3_READ _L3BANK0"
+ symbol_name="L3_READ_L3BANK0"
+ underscore_name="l3_read_l3_bank0"
+ description="The number of L3 bank 0 read requests"
+ data_type="uint64"
+ units="events"
+ semantic_type="event"
+ equation="C 5 READ"
+ availability="1"
+ mdapi_group="GTI/L3"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="subslice_bank"
+ />
+ <counter name="L3_WRITE _L3BANK0"
+ symbol_name="L3_WRITE_L3BANK0"
+ underscore_name="l3_write_l3_bank0"
+ description="The number of L3 Bank 0 write requests"
+ data_type="uint64"
+ units="events"
+ semantic_type="event"
+ equation="C 4 READ"
+ availability="1"
+ mdapi_group="GTI/L3"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="subslice_bank"
+ />
+ <counter name="THREADGROUP_DISPATCH_QUEUE0_ACTIVE_CYCLES _DUALSUBSLICE0"
+ symbol_name="THREADGROUP_DISPATCH_QUEUE0_ACTIVE_CYCLES_DUALSUBSLICE0"
+ underscore_name="threadgroup_dispatch_queue0_active_cycles_dualsubslice0"
+ description="The percentage of time in which non-PS thread is ready for dispatch in thread dispatcher 0 queue 0"
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="B 5 READ 100 UMUL $GpuCoreClocks FDIV"
+ availability="$DualSubsliceMask 1 AND"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="dualsubslice"
+ />
+ <counter name="THREADGROUP_DISPATCH_QUEUE1_ACTIVE_CYCLES _DUALSUBSLICE0"
+ symbol_name="THREADGROUP_DISPATCH_QUEUE1_ACTIVE_CYCLES_DUALSUBSLICE0"
+ underscore_name="threadgroup_dispatch_queue1_active_cycles_dualsubslice0"
+ description="The percentage of time in which non-PS thread is ready for dispatch in thread dispatcher 0 queue 1"
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="B 6 READ 100 UMUL $GpuCoreClocks FDIV"
+ availability="$DualSubsliceMask 1 AND"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="dualsubslice"
+ />
+ <counter name="EU Active"
+ symbol_name="EuActive"
+ underscore_name="eu_active"
+ description="The percentage of time in which the Execution Units were actively processing."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="A 7 READ $EuCoresTotalCount UDIV 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="EU Array"
+ mdapi_usage_flags="Tier2 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="EU Stall"
+ symbol_name="EuStall"
+ underscore_name="eu_stall"
+ description="The percentage of time in which the Execution Units were stalled."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="A 8 READ $EuCoresTotalCount UDIV 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="EU Array"
+ mdapi_usage_flags="Tier2 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="EU Thread Occupancy"
+ symbol_name="EuThreadOccupancy"
+ underscore_name="eu_thread_occupancy"
+ description="The percentage of time in which hardware threads occupied EUs."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="8 A 10 READ FMUL $EuThreadsCount FDIV $EuCoresTotalCount UDIV 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="EU Array"
+ mdapi_usage_flags="Tier2 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="EU FPU Pipe Active"
+ symbol_name="FpuActive"
+ underscore_name="fpu_active"
+ description="The percentage of time in which EU FPU INT64 pipeline was actively processing."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="A 11 READ $EuCoresTotalCount UDIV 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="EU Array/Pipes"
+ mdapi_usage_flags="Tier3 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="EM Pipe Active"
+ symbol_name="EmActive"
+ underscore_name="em_active"
+ description="The percentage of time in which EU EM INT pipeline was actively processing."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="A 12 READ $EuCoresTotalCount UDIV 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="EU Array/Pipes"
+ mdapi_usage_flags="Tier3 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="SYS Pipe Active"
+ symbol_name="SysActive"
+ underscore_name="sys_active"
+ description="The percentage of time in which EU SYS pipeline was actively processing."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="A 13 READ $EuCoresTotalCount UDIV 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="EU Array/Pipes"
+ mdapi_usage_flags="Tier3 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="EM And FPU Pipes Active"
+ symbol_name="EmFpuActive"
+ underscore_name="em_fpu_active"
+ description="The percentage of time in which EU EM INT and FPU INT64 pipelines were actively processing."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="A 9 READ $EuCoresTotalCount UDIV 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="EU Array/Pipes"
+ mdapi_usage_flags="Tier3 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="SYS And FPU Pipes Active"
+ symbol_name="SysFpuActive"
+ underscore_name="sys_fpu_active"
+ description="The percentage of time in which EU Systolic and FPU INT64 pipelines were actively processing."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="A 14 READ $EuCoresTotalCount UDIV 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="EU Array/Pipes"
+ mdapi_usage_flags="Tier3 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="CS Threads Dispatched"
+ symbol_name="CsThreads"
+ underscore_name="cs_threads"
+ description="The total number of compute shader hardware threads dispatched."
+ data_type="uint64"
+ units="threads"
+ semantic_type="event"
+ equation="A 4 READ"
+ mdapi_group="EU Array/Compute Shader"
+ mdapi_usage_flags="Tier3 Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="GPU Busy"
+ symbol_name="GpuBusy"
+ underscore_name="gpu_busy"
+ description="The percentage of time in which the GPU has been processing GPU commands."
+ data_type="float"
+ max_equation="100"
+ units="percent"
+ semantic_type="duration"
+ equation="A 0 READ 100 UMUL $GpuCoreClocks FDIV"
+ mdapi_group="GPU"
+ mdapi_usage_flags="Tier1 Overview System Frame"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="Gti Read Transactions"
+ symbol_name="GtiReadTransactions"
+ underscore_name="gti_read_transactions"
+ description="The total number of read transactions sent to GTI interfaces"
+ data_type="uint64"
+ max_equation="$GpuCoreClocks $EuSlicesTotalCount 4 UGT 8 UMUL $EuSlicesTotalCount 4 ULTE $EuSlicesTotalCount 1 UADD 0x6 AND UMUL UADD UMUL"
+ units="messages"
+ semantic_type="event"
+ equation="A 36 READ"
+ mdapi_group="GTI"
+ mdapi_usage_flags="Tier1 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <counter name="GTI Write Transactions"
+ symbol_name="GtiWriteTransactions"
+ underscore_name="gti_write_transactions"
+ description="The total number of write transactions sent to GTI interfaces"
+ data_type="uint64"
+ max_equation="$GpuCoreClocks $EuSlicesTotalCount 4 UGT 8 UMUL $EuSlicesTotalCount 4 ULTE $EuSlicesTotalCount 1 UADD 0x6 AND UMUL UADD UMUL"
+ units="messages"
+ semantic_type="event"
+ equation="A 37 READ"
+ mdapi_group="GTI"
+ mdapi_usage_flags="Tier1 Overview System Frame Batch Draw"
+ mdapi_supported_apis=""
+ mdapi_hw_unit_type="gpu"
+ />
+ <register_config type="NOA">
+ <register type="NOA" address="0x00000D04" value="0x00000200" />
+ <register type="NOA" address="0x00009884" value="0x00000008" />
+ <register type="NOA" address="0x00009888" value="0x3B410000" />
+ <register type="NOA" address="0x00009888" value="0x0140000A" />
+ <register type="NOA" address="0x00009888" value="0x33406A80" />
+ <register type="NOA" address="0x00009888" value="0x07410006" />
+ <register type="NOA" address="0x00009888" value="0x17410033" />
+ <register type="NOA" address="0x00009888" value="0x03410000" />
+ <register type="NOA" address="0x00009888" value="0x4F410000" />
+ <register type="NOA" address="0x00009888" value="0x01030005" />
+ <register type="NOA" address="0x00009888" value="0x03035540" />
+ <register type="NOA" address="0x00009888" value="0x0104000A" />
+ <register type="NOA" address="0x00009888" value="0x0304AA80" />
+ <register type="NOA" address="0x00009888" value="0x1D500003" />
+ <register type="NOA" address="0x00009888" value="0x02E71540" />
+ <register type="NOA" address="0x00009888" value="0x02EA2A80" />
+ <register type="NOA" address="0x00009888" value="0x02E82A80" />
+ <register type="NOA" address="0x00009888" value="0x00F07803" />
+ <register type="NOA" address="0x00009888" value="0x00F10005" />
+ <register type="NOA" address="0x00009888" value="0x02F12A80" />
+ <register type="NOA" address="0x00009888" value="0x00F20003" />
+ <register type="NOA" address="0x00009888" value="0x22F30012" />
+ <register type="NOA" address="0x00009888" value="0x26F32490" />
+ <register type="NOA" address="0x00009888" value="0x00F4000A" />
+ <register type="NOA" address="0x00009888" value="0x22D3003F" />
+ <register type="NOA" address="0x00009884" value="0x00000004" />
+ <register type="NOA" address="0x00009888" value="0x044C2000" />
+ <register type="NOA" address="0x00009888" value="0x064C6000" />
+ <register type="NOA" address="0x00009888" value="0x004C0010" />
+ <register type="NOA" address="0x00009888" value="0x0E4C0180" />
+ <register type="NOA" address="0x00009888" value="0x104C0305" />
+ <register type="NOA" address="0x00009888" value="0x124C0007" />
+ <register type="NOA" address="0x00009884" value="0x0000000C" />
+ <register type="NOA" address="0x00009888" value="0x0050F803" />
+ <register type="NOA" address="0x00009888" value="0x1C500000" />
+ <register type="NOA" address="0x00009888" value="0x1E500000" />
+ <register type="NOA" address="0x00009888" value="0x28500000" />
+ <register type="NOA" address="0x00009888" value="0x18500000" />
+ <register type="NOA" address="0x00009888" value="0x20500000" />
+ <register type="NOA" address="0x00009888" value="0x22500C06" />
+ <register type="NOA" address="0x00009888" value="0x24500060" />
+ <register type="NOA" address="0x00009888" value="0x26501606" />
+ <register type="NOA" address="0x00009884" value="0x00000000" />
+ <register type="NOA" address="0x00009888" value="0x28036400" />
+ <register type="NOA" address="0x00009888" value="0x2A030080" />
+ <register type="NOA" address="0x00009888" value="0x06031300" />
+ <register type="NOA" address="0x00009888" value="0x08030FB0" />
+ <register type="NOA" address="0x00009888" value="0x00030000" />
+ <register type="NOA" address="0x00009888" value="0x00C00005" />
+ <register type="NOA" address="0x00009888" value="0x00C1000F" />
+ <register type="NOA" address="0x00009888" value="0x00C2000F" />
+ <register type="NOA" address="0x00009888" value="0x00C3001B" />
+ <register type="NOA" address="0x00009884" value="0x00000000" />
+ <register type="NOA" address="0x00009888" value="0x5C030002" />
+ </register_config>
+ <register_config type="OA">
+ <register type="OA" address="0x0000D920" value="0x00000000" />
+ <register type="OA" address="0x0000D900" value="0x00000000" />
+ <register type="OA" address="0x0000D904" value="0xF0800000" />
+ <register type="OA" address="0x0000D910" value="0x00000000" />
+ <register type="OA" address="0x0000D914" value="0x70800000" />
+ <register type="OA" address="0x0000DC40" value="0x007F0000" />
+ <register type="OA" address="0x0000D940" value="0x00000004" />
+ <register type="OA" address="0x0000D944" value="0x0000FFFF" />
+ <register type="OA" address="0x0000DC00" value="0x00000004" />
+ <register type="OA" address="0x0000DC04" value="0x0000FFFF" />
+ <register type="OA" address="0x0000D948" value="0x00000003" />
+ <register type="OA" address="0x0000D94C" value="0x0000FFFF" />
+ <register type="OA" address="0x0000DC08" value="0x00000003" />
+ <register type="OA" address="0x0000DC0C" value="0x0000FFFF" />
+ <register type="OA" address="0x0000D950" value="0x00100002" />
+ <register type="OA" address="0x0000D954" value="0x0000FFFB" />
+ <register type="OA" address="0x0000DC10" value="0x00100002" />
+ <register type="OA" address="0x0000DC14" value="0x0000FFFB" />
+ <register type="OA" address="0x0000D958" value="0x00100002" />
+ <register type="OA" address="0x0000D95C" value="0x0000FFE7" />
+ <register type="OA" address="0x0000DC18" value="0x00100002" />
+ <register type="OA" address="0x0000DC1C" value="0x0000FFE7" />
+ <register type="OA" address="0x0000D960" value="0x00100042" />
+ <register type="OA" address="0x0000D964" value="0x0000FFF7" />
+ <register type="OA" address="0x0000DC20" value="0x00100042" />
+ <register type="OA" address="0x0000DC24" value="0x0000FFF7" />
+ <register type="OA" address="0x0000D968" value="0x00000002" />
+ <register type="OA" address="0x0000D96C" value="0x0000FFFE" />
+ <register type="OA" address="0x0000DC28" value="0x00000002" />
+ <register type="OA" address="0x0000DC2C" value="0x0000FFFE" />
+ <register type="OA" address="0x0000D970" value="0x00000002" />
+ <register type="OA" address="0x0000D974" value="0x0000FFFD" />
+ <register type="OA" address="0x0000DC30" value="0x00000002" />
+ <register type="OA" address="0x0000DC34" value="0x0000FFFD" />
+ <register type="OA" address="0x00002B2C" value="0x00000000" />
+ </register_config>
+ <register_config type="FLEX">
+ <register type="FLEX" address="0x0000E458" value="0x00005004" />
+ <register type="FLEX" address="0x0000E558" value="0x00008003" />
+ <register type="FLEX" address="0x0000E658" value="0x00001000" />
+ <register type="FLEX" address="0x0000E758" value="0x0000A009" />
+ </register_config>
+ </set>
+
+</metrics>
diff --git a/lib/xe/xe_oa.c b/lib/xe/xe_oa.c
index 98c53620d3..7974584392 100644
--- a/lib/xe/xe_oa.c
+++ b/lib/xe/xe_oa.c
@@ -36,6 +36,7 @@
#include "xe_oa_metrics_acmgt3.h"
#include "xe_oa_metrics_mtlgt2.h"
#include "xe_oa_metrics_mtlgt3.h"
+#include "xe_oa_metrics_pvc.h"
#include "xe_oa_metrics_lnl.h"
static struct intel_xe_perf_logical_counter_group *
@@ -296,6 +297,9 @@ intel_xe_perf_for_devinfo(uint32_t device_id,
intel_xe_perf_load_metrics_acmgt3(perf);
else
return unsupported_xe_oa_platform(perf);
+ } else if (devinfo->is_pontevecchio) {
+ perf->devinfo.eu_threads_count = 8;
+ intel_xe_perf_load_metrics_pvc(perf);
} else if (intel_graphics_ver(device_id) >= IP_VER(20, 0)) {
intel_xe_perf_load_metrics_lnl(perf);
} else {
--
2.41.0
More information about the igt-dev
mailing list