The OAM unit captures OA reports specific to the media engines. Add support to program the OAM unit on media tile on MTL. The OAM unit is selected by passing the class:instance of a media engine to perf parameters. Corresponding UMD changes are posted to the igt-dev repo as part of supporting the GPUvis tool. v2: Incorporate review feedback (Jani, Ashutosh) Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@xxxxxxxxx> Test-with: 20230215004648.2100655-1-umesh.nerlige.ramappa@xxxxxxxxx Cc: "Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx>" Cc: "Lionel G Landwerlin <lionel.g.landwerlin@xxxxxxxxxxxxxxx>" Cc: "Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx>" Cc: "Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx>" Chris Wilson (1): drm/i915/perf: Drop wakeref on GuC RC error Umesh Nerlige Ramappa (8): drm/i915/perf: Add helper to check supported OA engines drm/i915/perf: Validate OA sseu config outside switch drm/i915/perf: Group engines into respective OA groups drm/i915/perf: Fail modprobe if i915_perf_init fails on OOM drm/i915/perf: Parse 64bit report header formats correctly drm/i915/perf: Handle non-power-of-2 reports drm/i915/perf: Add engine class instance parameters to perf drm/i915/perf: Add support for OA media units drivers/gpu/drm/i915/gt/intel_engine_types.h | 4 + drivers/gpu/drm/i915/gt/intel_sseu.c | 3 +- drivers/gpu/drm/i915/i915_driver.c | 4 +- drivers/gpu/drm/i915/i915_drv.h | 2 + drivers/gpu/drm/i915/i915_pci.c | 1 + drivers/gpu/drm/i915/i915_perf.c | 626 +++++++++++++++---- drivers/gpu/drm/i915/i915_perf.h | 2 +- drivers/gpu/drm/i915/i915_perf_oa_regs.h | 78 +++ drivers/gpu/drm/i915/i915_perf_types.h | 103 ++- drivers/gpu/drm/i915/intel_device_info.h | 1 + include/uapi/drm/i915_drm.h | 24 + 11 files changed, 731 insertions(+), 117 deletions(-) -- 2.36.1