[Intel-xe] [PATCH v4 00/21] Dump + OOB workarounds

Lucas De Marchi lucas.demarchi at intel.com
Thu May 25 21:33:46 UTC 2023


May the fourth be with the workarounds.
Fourth version of the OOB workarounds.

Previous version can be seen here:
https://lore.kernel.org/intel-xe/20230516221950.3512818-1-lucas.demarchi@intel.com/

Changes in v4:

  - All workarounds are now tracked per gt instead of per device. This
    helps supporting new platforms with different types of GTs

  - Split the last commit to be per (group of) workaround. Original
    intention was to just port the workarounds over to the new infra
    using the same conditions as was originally in the code. As
    demonstrated by v3 and the commits here, the conditions currently
    there can't be trusted much.

  - Add commit to fix build with M=drivers/gpu/drm/xe/ since it has a
    side-effect of not including the $(obj) in the include search path.

  - Properly convert Wa_14014475959 using IP versions. This is currently
    working for DG2, but I couldn't really test on MTL. We may want to
    postpone the last 2 commits to when xe is properly loading in MTL.

Using a DG2 platform for test:
	XE_DG2 G12 56b2:0001 dgfx:1 gfx:Xe_HPG (12.55) media:Xe_HPM (12.55) ...
	Stepping = (G:A1, M:A1, D:C0, B:**)

Output:
	# cat gt0/workarounds
	GT Workarounds
		14014830051
		14015795083
		18018781329
		1509235366
		14010648519

	Engine Workarounds
		14010826681, 1606700617, 22010271021, 18019627453
		22013037850
		22014226127
		18017747507
		14015227452
		16015675438
		16011620976, 22015475538
		1509727124
		22012856258
		22010960976, 14013347512
		1608949956, 14010198302

	LRC Workarounds
		16013271637
		14014947963
		18018764978
		15010599737
		18019271663

	OOB Workarounds
		14014475959
		22011391025
		14012197797
		16015675438
		18020744125

Eventually we may want to add a node in debugfs to consolidate the WAs
for all GTs, but that is not currently needed.

Lucas De Marchi (21):
  drm/xe: Fix Wa_22011802037 annotation
  drm/xe/rtp: Split rtp process initialization
  drm/xe/rtp: Replace XE_WARN_ON
  drm/xe/rtp: Add "_sr" to entry/function names
  drm/xe/rtp: Allow to track active workarounds
  drm/xe/wa: Track gt/engine/lrc active workarounds
  drm/xe/debugfs: Dump active workarounds
  drm/xe/rtp: Rename STEP to GRAPHICS_STEP
  drm/xe/rtp: Add check for media stepping
  drm/xe/rtp: Add support for entries with no action
  drm/xe: Include build directory
  drm/xe: Add support for OOB workarounds
  drm/xe/guc: Port Wa_22012773006 to xe_wa
  drm/xe/guc: Port Wa_16011759253 to xe_wa
  drm/xe/guc: Port Wa_14012197797/Wa_22011391025 to xe_wa
  drm/xe/guc: Port Wa_16011777198 to xe_wa
  drm/xe/guc: Port Wa_22012727170/Wa_22012727685 to xe_wa
  drm/xe/guc: Port Wa_16015675438/Wa_18020744125 to xe_wa
  drm/xe/guc: Port Wa_1509372804 to xe_wa
  drm/xe/rtp: Also check gt type
  drm/xe/guc: Port Wa_14014475959 to xe_wa and fix it

 drivers/gpu/drm/xe/Makefile            |  16 +-
 drivers/gpu/drm/xe/tests/xe_rtp_test.c |  23 +--
 drivers/gpu/drm/xe/xe_gen_wa_oob.c     | 164 ++++++++++++++++++++
 drivers/gpu/drm/xe/xe_gt.c             |   6 +
 drivers/gpu/drm/xe/xe_gt_debugfs.c     |  12 ++
 drivers/gpu/drm/xe/xe_gt_types.h       |  12 ++
 drivers/gpu/drm/xe/xe_guc.c            |  49 ++----
 drivers/gpu/drm/xe/xe_hw_engine.c      |  10 +-
 drivers/gpu/drm/xe/xe_reg_whitelist.c  |   6 +-
 drivers/gpu/drm/xe/xe_rtp.c            | 207 ++++++++++++++++++++-----
 drivers/gpu/drm/xe/xe_rtp.h            |  63 ++++++--
 drivers/gpu/drm/xe/xe_rtp_types.h      |  29 +++-
 drivers/gpu/drm/xe/xe_tuning.c         |  12 +-
 drivers/gpu/drm/xe/xe_wa.c             | 172 +++++++++++++++-----
 drivers/gpu/drm/xe/xe_wa.h             |  12 ++
 drivers/gpu/drm/xe/xe_wa_oob.rules     |  16 ++
 16 files changed, 662 insertions(+), 147 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/xe_gen_wa_oob.c
 create mode 100644 drivers/gpu/drm/xe/xe_wa_oob.rules

-- 
2.40.1



More information about the Intel-xe mailing list