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

Joonas Lahtinen
2022-11-18T09:12:47Z

Hi Dave & Daniel,

Here goes the last drm-intel-gt-next feature pull req for v6.2.

We have a couple of important fixes around memory management (TTM
and userptr), then demoting GuC kernel contexts to normal priority and
Meteorlake enabling.

Beyond that it's smaller fixes to code structure and corner cases.

Note the backmerge of drm-next to bring in v6.1-rc1 which had needed
dependencies for which I gave heads-up in IRC.

Regards, Joonas

**

drm-intel-gt-next-2022-11-18:

Core Changes:

- Backmerge of drm-next

Driver Changes:

- Restore probe_range behaviour for userptr (Matt A)
- Fix use-after-free on lmem_userfault_list (Matt A)
- Never purge busy TTM objects (Matt A)
- Meteorlake enabling (Daniele, Badal, Daniele, Stuart, Aravind, Alan)
- Demote GuC kernel contexts to normal priority (John)

- Use RC6 residency types as arguments to residency functions (Ashutosh,
Rodrigo, Jani)
- Convert some legacy DRM debugging macros to new ones (Tvrtko)
- Don't deadlock GuC busyness stats vs reset (John)
- Remove excessive line feeds in GuC state dumps (John)
- Use i915_sg_dma_sizes() for all backends (Matt A)
- Prefer REG_FIELD_GET in intel_rps_get_cagf (Ashutosh, Rodrigo)
- Use GEN12_RPSTAT register for GT freq (Don, Badal, Ashutosh)
- Remove unwanted TTM ghost obj check (Matt A)
- Update workaround documentation (Lucas)

- Coding style and static checker fixes and cleanups
(Jani, Umesh, Tvrtko, Lucas, Andrzej)
- Selftest improvements (Chris, Daniele, Riana, Andrzej)

The following changes since commit 60ba8c5bd94e17ab4b024f5cecf8b48e2cf36412:

Merge tag 'drm-intel-gt-next-2022-11-03' of git://anongit.freedesktop.org/drm/drm-intel into drm-next (2022-11-04 17:33:34 +1000)

are available in the Git repository at:

git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-11-18

for you to fetch changes up to 4bb9ca7ee07455bec0a802ecf0aa5b09496888e2:

drm/i915/mtl: C6 residency and C state type for MTL SAMedia (2022-11-17 10:47:12 -0500)

----------------------------------------------------------------
Core Changes:

- Backmerge of drm-next

Driver Changes:

- Restore probe_range behaviour for userptr (Matt A)
- Fix use-after-free on lmem_userfault_list (Matt A)
- Never purge busy TTM objects (Matt A)
- Meteorlake enabling (Daniele, Badal, Daniele, Stuart, Aravind, Alan)
- Demote GuC kernel contexts to normal priority (John)

- Use RC6 residency types as arguments to residency functions (Ashutosh,
Rodrigo, Jani)
- Convert some legacy DRM debugging macros to new ones (Tvrtko)
- Don't deadlock GuC busyness stats vs reset (John)
- Remove excessive line feeds in GuC state dumps (John)
- Use i915_sg_dma_sizes() for all backends (Matt A)
- Prefer REG_FIELD_GET in intel_rps_get_cagf (Ashutosh, Rodrigo)
- Use GEN12_RPSTAT register for GT freq (Don, Badal, Ashutosh)
- Remove unwanted TTM ghost obj check (Matt A)
- Update workaround documentation (Lucas)

- Coding style and static checker fixes and cleanups
(Jani, Umesh, Tvrtko, Lucas, Andrzej)
- Selftest improvements (Chris, Daniele, Riana, Andrzej)

----------------------------------------------------------------
Alan Previn (1):
drm/i915/pxp: Separate PXP FW interface structures for both v42 and 43

Andrzej Hajda (2):
drm/i915: call i915_request_await_object from _i915_vma_move_to_active
drm/i915/selftests: add igt_vma_move_to_active_unlocked

Aravind Iddamsetty (1):
drm/i915/mtl: Handle wopcm per-GT and limit calculations.

Ashutosh Dixit (2):
drm/i915/rps: Prefer REG_FIELD_GET in intel_rps_get_cagf
drm/i915/gt: Use RC6 residency types as arguments to residency functions

Badal Nilawar (3):
drm/i915/mtl: Add Wa_14017073508 for SAMedia
drm/i915/mtl: Modify CAGF functions for MTL
drm/i915/mtl: C6 residency and C state type for MTL SAMedia

Chris Wilson (1):
drm/i915/selftests: Reduce oversaturation of request smoketesting

Daniele Ceraolo Spurio (12):
drm/i915/mtl: add initial definitions for GSC CS
drm/i915/mtl: pass the GSC CS info to the GuC
drm/i915/mtl: add GSC CS interrupt support
drm/i915/mtl: add GSC CS reset support
drm/i915/mtl: don't expose GSC command streamer to the user
drm/i915/guc: don't hardcode BCS0 in guc_hang selftest
drm/i915/huc: only load HuC on GTs that have VCS engines
drm/i915/uc: fetch uc firmwares for each GT
drm/i915/uc: use different ggtt pin offsets for uc loads
drm/i915/guc: define media GT GuC send regs
drm/i915/guc: handle interrupts from media GuC
drm/i915/guc: add the GSC CS to the GuC capture list

Don Hiatt (1):
drm/i915: Use GEN12_RPSTAT register for GT freq

Jani Nikula (1):
drm/i915/pxp: use <> instead of "" for headers in include/

John Harrison (3):
drm/i915/guc: Remove excessive line feeds in state dumps
drm/i915/guc: Properly initialise kernel contexts
drm/i915/guc: Don't deadlock busyness stats vs reset

Joonas Lahtinen (1):
Merge drm/drm-next into drm-intel-gt-next

Lucas De Marchi (2):
Documentation/gpu: Fix section in the wrong scope
drm/i915: Update workaround documentation

Matthew Auld (5):
drm/i915/userptr: restore probe_range behaviour
drm/i915/ttm: fix uaf with lmem_userfault_list handling
drm/i915/ttm: add some sanity checks for lmem_userfault_list
drm/i915: use i915_sg_dma_sizes() for all backends
drm/i915/ttm: never purge busy objects

Nirmoy Das (1):
drm/i915: Remove unwanted ghost obj check

Riana Tauro (1):
drm/i915/guc/slpc: Add selftest for slpc tile-tile interaction

Stuart Summers (1):
drm/i915/guc: Add GuC deprivilege feature to MTL

Tvrtko Ursulin (3):
drm/i915: Partial abandonment of legacy DRM logging macros
drm/i915: Simplify internal helper function signature
drm/i915: Fix vma allocator debug

Umesh Nerlige Ramappa (1):
drm/i915/perf: Fix kernel-doc warning

Documentation/gpu/drm-usage-stats.rst | 1 -
Documentation/gpu/i915.rst | 2 +-
drivers/gpu/drm/i915/Makefile | 5 +-
drivers/gpu/drm/i915/gem/i915_gem_context.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 4 +-
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 43 ++++---
drivers/gpu/drm/i915/gem/i915_gem_internal.c | 5 +-
drivers/gpu/drm/i915/gem/i915_gem_mman.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_object.h | 3 +-
drivers/gpu/drm/i915/gem/i915_gem_pages.c | 7 +-
drivers/gpu/drm/i915/gem/i915_gem_phys.c | 9 +-
drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 20 +--
drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 9 +-
.../gpu/drm/i915/gem/selftests/huge_gem_object.c | 2 +-
drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 10 +-
.../drm/i915/gem/selftests/i915_gem_client_blt.c | 22 +---
.../drm/i915/gem/selftests/i915_gem_coherency.c | 4 +-
.../gpu/drm/i915/gem/selftests/i915_gem_context.c | 16 +--
drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 10 +-
drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c | 8 +-
drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.h | 14 +++
drivers/gpu/drm/i915/gt/intel_engine_cs.c | 9 ++
drivers/gpu/drm/i915/gt/intel_engine_types.h | 1 +
drivers/gpu/drm/i915/gt/intel_engine_user.c | 28 ++++-
.../gpu/drm/i915/gt/intel_execlists_submission.c | 13 +-
drivers/gpu/drm/i915/gt/intel_ggtt.c | 2 +-
drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c | 4 +-
drivers/gpu/drm/i915/gt/intel_gt.c | 5 +-
drivers/gpu/drm/i915/gt/intel_gt_irq.c | 104 +++++++++-------
drivers/gpu/drm/i915/gt/intel_gt_pm.c | 27 +++++
drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c | 88 ++++++++++----
drivers/gpu/drm/i915/gt/intel_gt_regs.h | 25 ++--
drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c | 12 +-
drivers/gpu/drm/i915/gt/intel_gt_types.h | 2 +
drivers/gpu/drm/i915/gt/intel_rc6.c | 64 ++++++----
drivers/gpu/drm/i915/gt/intel_rc6.h | 11 +-
drivers/gpu/drm/i915/gt/intel_rc6_types.h | 15 ++-
drivers/gpu/drm/i915/gt/intel_renderstate.c | 4 +-
drivers/gpu/drm/i915/gt/intel_reset.c | 18 ++-
drivers/gpu/drm/i915/gt/intel_reset.h | 1 +
drivers/gpu/drm/i915/gt/intel_rps.c | 57 +++++++--
drivers/gpu/drm/i915/gt/intel_rps.h | 2 +
drivers/gpu/drm/i915/{ => gt}/intel_wopcm.c | 43 +++++--
drivers/gpu/drm/i915/{ => gt}/intel_wopcm.h | 0
drivers/gpu/drm/i915/gt/intel_workarounds.c | 134 ++++++++++++---------
drivers/gpu/drm/i915/gt/intel_workarounds_types.h | 3 +
drivers/gpu/drm/i915/gt/selftest_execlists.c | 14 +--
drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 35 +-----
drivers/gpu/drm/i915/gt/selftest_lrc.c | 33 ++---
drivers/gpu/drm/i915/gt/selftest_mocs.c | 5 +-
drivers/gpu/drm/i915/gt/selftest_rc6.c | 6 +-
drivers/gpu/drm/i915/gt/selftest_rps.c | 8 +-
drivers/gpu/drm/i915/gt/selftest_slpc.c | 70 ++++++++++-
drivers/gpu/drm/i915/gt/selftest_workarounds.c | 26 ++--
drivers/gpu/drm/i915/gt/uc/intel_guc.c | 47 +++++---
drivers/gpu/drm/i915/gt/uc/intel_guc.h | 5 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c | 11 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c | 11 ++
drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h | 7 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c | 13 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h | 2 +
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 15 ++-
drivers/gpu/drm/i915/gt/uc/intel_huc.c | 29 +++++
drivers/gpu/drm/i915/gt/uc/intel_uc.c | 12 +-
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 46 +++++--
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h | 14 +++
.../gpu/drm/i915/gt/uc/selftest_guc_hangcheck.c | 8 +-
drivers/gpu/drm/i915/gvt/dmabuf.c | 2 +-
drivers/gpu/drm/i915/gvt/scheduler.c | 5 +-
drivers/gpu/drm/i915/i915_debugfs.c | 4 +-
drivers/gpu/drm/i915/i915_driver.c | 2 -
drivers/gpu/drm/i915/i915_drv.h | 16 ++-
drivers/gpu/drm/i915/i915_gem.c | 8 +-
drivers/gpu/drm/i915/i915_getparam.c | 2 +-
drivers/gpu/drm/i915/i915_irq.c | 12 +-
drivers/gpu/drm/i915/i915_pci.c | 1 +
drivers/gpu/drm/i915/i915_perf.c | 18 +--
drivers/gpu/drm/i915/i915_perf_types.h | 4 +-
drivers/gpu/drm/i915/i915_pmu.c | 9 +-
drivers/gpu/drm/i915/i915_query.c | 12 +-
drivers/gpu/drm/i915/i915_reg.h | 10 ++
drivers/gpu/drm/i915/i915_sysfs.c | 3 +-
drivers/gpu/drm/i915/i915_vma.c | 21 ++--
drivers/gpu/drm/i915/i915_vma.h | 1 +
drivers/gpu/drm/i915/intel_uncore.c | 21 ++--
.../gpu/drm/i915/pxp/intel_pxp_cmd_interface_42.h | 28 +++++
.../gpu/drm/i915/pxp/intel_pxp_cmd_interface_43.h | 26 ++++
.../gpu/drm/i915/pxp/intel_pxp_cmd_interface_cmn.h | 35 ++++++
drivers/gpu/drm/i915/pxp/intel_pxp_huc.c | 13 +-
drivers/gpu/drm/i915/pxp/intel_pxp_tee.c | 12 +-
drivers/gpu/drm/i915/pxp/intel_pxp_tee_interface.h | 57 ---------
drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 5 +-
drivers/gpu/drm/i915/selftests/i915_request.c | 14 +--
drivers/gpu/drm/i915/selftests/igt_spinner.c | 20 +--
drivers/gpu/drm/i915/selftests/mock_region.c | 2 +-
97 files changed, 1023 insertions(+), 631 deletions(-)
rename drivers/gpu/drm/i915/{ => gt}/intel_wopcm.c (87%)
rename drivers/gpu/drm/i915/{ => gt}/intel_wopcm.h (100%)
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_cmd_interface_42.h
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_cmd_interface_43.h
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_cmd_interface_cmn.h
delete mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_tee_interface.h