[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