[Intel-xe] [PATCH v3 0/9] Dump + OOB workarounds

Lucas De Marchi lucas.demarchi at intel.com
Tue May 16 22:19:41 UTC 2023


Third version adding OOB workarounds, third different approach.
Gone is the special ELF section and now it's implemented by
creating a new RTP struct that holds tables containing only rules,
without the actions interacting with reg-save-restore.

Now a common approach between all types of workarounds is used for
marking the "active" workarounds. These are the ones in play for the
running system.  They can be queried over debugfs and for the OOB,
are checked throughout the code. Last patch converts xe_guc.c to the
new infra.

In order to be able to implement the simpler XE_WA() requested in
previous versions, and at the same time avoiding error-prone updates
in different places of the code, a simple program was written to
generate xe_wa_oob.c and xe_wa_oob.h. The syntax is kept very simple
on purpose, with the following goals:

	1) Be similar to the rest of the workarounds. The codegen
	   just paste together the info in the .rules file
	   and updated header/source with the appropriate values
	2) Doesn't increase the build dependencies of the kernel,
	   so it's implemented in C and built as a hostprog.

Tested on a single DG2 system.

Lucas De Marchi

Lucas De Marchi (9):
  drm/xe: Fix Wa_22011802037 annotation
  drm/xe/rtp: Split rtp process initialization
  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: Add support for entries with no action
  drm/xe: Add support for OOB workarounds
  drm/xe/guc: Port workarounds to OOB infra

 drivers/gpu/drm/xe/Makefile            |  14 ++
 drivers/gpu/drm/xe/tests/xe_rtp_test.c |  23 ++--
 drivers/gpu/drm/xe/xe_debugfs.c        |  12 ++
 drivers/gpu/drm/xe/xe_device.c         |   7 +
 drivers/gpu/drm/xe/xe_device_types.h   |  12 ++
 drivers/gpu/drm/xe/xe_gen_wa_oob.c     | 165 +++++++++++++++++++++++
 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            | 180 +++++++++++++++++++++----
 drivers/gpu/drm/xe/xe_rtp.h            |  31 +++--
 drivers/gpu/drm/xe/xe_rtp_types.h      |  28 +++-
 drivers/gpu/drm/xe/xe_tuning.c         |  12 +-
 drivers/gpu/drm/xe/xe_wa.c             | 106 +++++++++++++--
 drivers/gpu/drm/xe/xe_wa.h             |  13 ++
 drivers/gpu/drm/xe/xe_wa_oob.rules     |  16 +++
 16 files changed, 584 insertions(+), 100 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