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) v3: Incorporate review feedback (Jani, Ashutosh) v4: Incorporate review feedback (Ashutosh) v5: - Enforce paired engine-class and engine-instance configuration - Include fix for Wa_14017512683 v6: Rebase to fix build failure v7: Incorporate review comments v8: - Checkpatch fixes - Initialize perf group irrespective of MC6 state (Ashutosh) - Use group type check when opening perf stream (Ashutosh) v9: No changes, just a CI rerun with modified IGT (v5). Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@xxxxxxxxx> Test-with: 20230323225534.3739835-1-umesh.nerlige.ramappa@xxxxxxxxx Chris Wilson (1): drm/i915/perf: Drop wakeref on GuC RC error Umesh Nerlige Ramappa (9): 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 drm/i915/perf: Pass i915 object to perf revision helper drm/i915/perf: Wa_14017512683: Disable OAM if media C6 is enabled in BIOS Vinay Belgaumkar (1): drm/i915/mtl: Synchronize i915/BIOS on C6 enabling drivers/gpu/drm/i915/gt/intel_engine_types.h | 10 + drivers/gpu/drm/i915/gt/intel_rc6.c | 26 +- drivers/gpu/drm/i915/gt/intel_rc6.h | 2 + drivers/gpu/drm/i915/gt/intel_rc6_types.h | 2 + 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_getparam.c | 2 +- drivers/gpu/drm/i915/i915_pci.c | 1 + drivers/gpu/drm/i915/i915_perf.c | 564 +++++++++++++++---- drivers/gpu/drm/i915/i915_perf.h | 4 +- drivers/gpu/drm/i915/i915_perf_oa_regs.h | 78 +++ drivers/gpu/drm/i915/i915_perf_types.h | 75 ++- drivers/gpu/drm/i915/intel_device_info.h | 1 + include/uapi/drm/i915_drm.h | 23 + 15 files changed, 673 insertions(+), 124 deletions(-) -- 2.36.1