[Intel-gfx] [PULL] drm-intel-gt-next

Tvrtko Ursulin
2023-02-01T11:36:58Z

Hi Dave, Daniel,

Here goes the final pull request for 6.3.

Aside a few fixes, the reset is split between refactoring of the
workarounds code and correcting some workaround placement to correctly
align for new platforms, and converting the GuC code to use dedicated
logging macros, as was done for the whole of the GT in the previous pull.

Some minor random future platform prep as well, and a back merge to fix
a conflict between drm-intel-next and drm-intel-gt-next.

Regards,

Tvrtko

drm-intel-gt-next-2023-02-01:
Driver Changes:

Fixes/improvements/new stuff:

- Fix bcs default context on Meteorlake (Lucas De Marchi)
- GAM registers don't need to be re-applied on engine resets (Matt Roper)
- Correct implementation of Wa_18018781329 (Matt Roper)
- Avoid potential vm use-after-free (Rob Clark)
- GuC error capture fixes (John Harrison)
- Fix potential bit_17 double-free (Rob Clark)
- Don't complain about missing regs on MTL (John Harrison)

Future platform enablement:

- Convert PSS_MODE2 to multicast register (Gustavo Sousa)
- Move/adjust register definitions related to Wa_22011450934 (Matt Roper)
- Move LSC_CHICKEN_BIT* workarounds to correct function (Gustavo Sousa)
- Document where to implement register workarounds (Gustavo Sousa)
- Use uabi engines for the default engine map (Tvrtko Ursulin)
- Flush all tiles on test exit (Tvrtko Ursulin)
- Annotate a couple more workaround registers as MCR (Matt Roper)

Driver refactors:

- Add and use GuC oriented print macros (Michal Wajdeczko)

Miscellaneous:

- Fix intel_selftest_modify_policy argument types (Arnd Bergmann)

Backmerges:

Merge drm/drm-next into drm-intel-gt-next (for conflict resolution) (Tvrtko Ursulin)
The following changes since commit 045e8d102f44ad75dca0b0ec9eede15ea89da673:

Merge tag 'drm-intel-gt-next-2023-01-18' of git://anongit.freedesktop.org/drm/drm-intel into drm-next (2023-01-24 16:20:43 +0100)

are available in the Git repository at:

git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2023-02-01

for you to fetch changes up to 003e11ed2ef4af01b808f0f193eaa5a32f32383b:

drm/i915/mtl: Wa_22011802037: don't complain about missing regs on MTL (2023-01-31 15:17:30 -0800)

----------------------------------------------------------------
Driver Changes:

Fixes/improvements/new stuff:

- Fix bcs default context on Meteorlake (Lucas De Marchi)
- GAM registers don't need to be re-applied on engine resets (Matt Roper)
- Correct implementation of Wa_18018781329 (Matt Roper)
- Avoid potential vm use-after-free (Rob Clark)
- GuC error capture fixes (John Harrison)
- Fix potential bit_17 double-free (Rob Clark)
- Don't complain about missing regs on MTL (John Harrison)

Future platform enablement:

- Convert PSS_MODE2 to multicast register (Gustavo Sousa)
- Move/adjust register definitions related to Wa_22011450934 (Matt Roper)
- Move LSC_CHICKEN_BIT* workarounds to correct function (Gustavo Sousa)
- Document where to implement register workarounds (Gustavo Sousa)
- Use uabi engines for the default engine map (Tvrtko Ursulin)
- Flush all tiles on test exit (Tvrtko Ursulin)
- Annotate a couple more workaround registers as MCR (Matt Roper)

Driver refactors:

- Add and use GuC oriented print macros (Michal Wajdeczko)

Miscellaneous:

- Fix intel_selftest_modify_policy argument types (Arnd Bergmann)

Backmerges:

Merge drm/drm-next into drm-intel-gt-next (for conflict resolution) (Tvrtko Ursulin)

----------------------------------------------------------------
Arnd Bergmann (1):
drm/i915/selftest: fix intel_selftest_modify_policy argument types

Gustavo Sousa (3):
drm/i915/doc: Document where to implement register workarounds
drm/i915/gt: Move LSC_CHICKEN_BIT* workarounds to correct function
drm/i915/gt: Convert PSS_MODE2 to multicast register

John Harrison (9):
drm/i915/guc: Fix locking when searching for a hung request
drm/i915: Fix request ref counting during error capture & debugfs dump
drm/i915: Fix up locking around dumping requests lists
drm/i915: Allow error capture without a request
drm/i915: Allow error capture of a pending request
drm/i915/guc: Look for a guilty context when an engine reset fails
drm/i915/guc: Add a debug print on GuC triggered reset
drm/i915/guc: Rename GuC register state capture node to be more obvious
drm/i915/mtl: Wa_22011802037: don't complain about missing regs on MTL

Lucas De Marchi (1):
drm/i915/mtl: Fix bcs default context

Matt Roper (4):
drm/i915: Move/adjust register definitions related to Wa_22011450934
drm/i915/xehp: GAM registers don't need to be re-applied on engine resets
drm/i915/mtl: Correct implementation of Wa_18018781329
drm/i915/xehp: Annotate a couple more workaround registers as MCR

Michal Wajdeczko (8):
drm/i915/guc: Add GuC oriented print macros
drm/i915/guc: Update GuC messages in intel_guc.c
drm/i915/guc: Update GuC messages in intel_guc_ads.c
drm/i915/guc: Update GuC messages in intel_guc_ct.c
drm/i915/guc: Update GuC messages in intel_guc_fw.c
drm/i915/guc: Update GuC messages in intel_guc_log.c
drm/i915/guc: Update GuC messages in intel_guc_submission.c
drm/i915/guc: Update GT/GuC messages in intel_uc.c

Rob Clark (2):
drm/i915: Avoid potential vm use-after-free
drm/i915: Fix potential bit_17 double-free

Tvrtko Ursulin (3):
drm/i915: Use uabi engines for the default engine map
Merge drm/drm-next into drm-intel-gt-next
drm/i915/selftests: Flush all tiles on test exit

drivers/gpu/drm/i915/gem/i915_gem_context.c | 23 ++-
drivers/gpu/drm/i915/gem/i915_gem_tiling.c | 9 +-
drivers/gpu/drm/i915/gt/intel_context.c | 4 +-
drivers/gpu/drm/i915/gt/intel_context.h | 3 +-
drivers/gpu/drm/i915/gt/intel_engine.h | 4 +-
drivers/gpu/drm/i915/gt/intel_engine_cs.c | 79 +++++-----
drivers/gpu/drm/i915/gt/intel_engine_regs.h | 1 +
.../gpu/drm/i915/gt/intel_execlists_submission.c | 27 ++++
.../gpu/drm/i915/gt/intel_execlists_submission.h | 4 +
drivers/gpu/drm/i915/gt/intel_gt_regs.h | 17 +-
drivers/gpu/drm/i915/gt/intel_lrc.c | 43 +-----
drivers/gpu/drm/i915/gt/intel_workarounds.c | 172 +++++++++++++--------
drivers/gpu/drm/i915/gt/uc/intel_guc.c | 31 ++--
drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c | 8 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c | 8 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c | 23 +--
drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c | 17 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 38 ++---
drivers/gpu/drm/i915/gt/uc/intel_guc_print.h | 48 ++++++
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 96 +++++++-----
drivers/gpu/drm/i915/gt/uc/intel_uc.c | 80 +++++-----
drivers/gpu/drm/i915/i915_drv.h | 4 +
drivers/gpu/drm/i915/i915_gpu_error.c | 92 +++++------
drivers/gpu/drm/i915/i915_gpu_error.h | 2 +-
drivers/gpu/drm/i915/i915_reg.h | 4 -
drivers/gpu/drm/i915/selftests/igt_flush_test.c | 28 ++--
.../drm/i915/selftests/intel_scheduler_helpers.c | 3 +-
27 files changed, 491 insertions(+), 377 deletions(-)
create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_print.h