mbox series

[PULL] drm-intel-gt-next

Message ID Ymkfy8FjsG2JrodK@tursulin-mobl2 (mailing list archive)
State New, archived
Headers show
Series [PULL] drm-intel-gt-next | expand

Pull-request

git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-04-27

Message

Tvrtko Ursulin April 27, 2022, 10:49 a.m. UTC
Hi Dave, Daniel,

Here goes the first drm-intel-gt-next PR towards 5.19.

A lot of stuff here across the board in terms of new features, new platform
support and bug fixes. For bug fixes the most interesting are:

 * a fix for out of bounds kernel access in mmap ops due incorrect object bound
   checking;
 * a fix for a GPU hang triggered by usage, of multiple media engines on
   Tigerlake and above;
 * correcting the sequence for doing engine resets on Tigerlake;
 * fix for split frame workloads in GuC mode;
 * fix for mmap of prime imported local memory objects;
 * fix for a VM refcounting bug;
 * fix fbdev setup to avoid potential out of bounds access.

Another two nice user visible improvements are one in frame buffer pinning logic
which enables Weston to reach 60fps on 8K displays and resurrection of the
ability to monitor per client GPU usage using intel_gpu_top (consuming data
exported via proc fdinfo). The latter contains a common DRM format specification
and is hopeful of gaining more wide spread adoption in the future.

GuC backend has finally achieved feature parity in terms of being able to
provide error capture state after GPU hangs. The captured data is compatible
with existing error parsing tools (IGT and Mesa) and also contains a new GuC
log segment which does not currently have an open source parser.

Also in the GuC area there was a bunch of refactoring to prepare for new
firmware API and also lay the ground work for supporting new platforms like DG2.

For the latter a buch of GuC based workarounds were added, together with support
for small PCI BAR setups, eviction of compressed objects and general platform
bring-up like code refactoring to deal with steered register writes.

DG2 also needs two new bits of UAPI. One is the hwconfig query which is a new
way of obtaining a binary table describing the GPU configuration directly from
the firmware blob. Second is a new query enabling query of geometry subslices
needed to support the fact geometry and compute slice configuration is no longer
uniform.

Also on the UAPI front there is sysfs support for multi-tile platforms which
exports the existing controls such as frequency and similar but duplicated for
each tile.

Graphics System Controller (GSC) support was added for discrete platforms as
well, which is required both for firmware management and protected media path.
Access to this is via the existing MEI character device.

Work has also started refactoring the codebase to allow driver builds outside
x86.

Finally, there were two drm-next backmerges to unblock feature development.

Regards,

Tvrtko

drm-intel-gt-next-2022-04-27:
UAPI Changes:

- GuC hwconfig support and query (John Harrison, Rodrigo Vivi, Tvrtko Ursulin)
- Sysfs support for multi-tile devices (Andi Shyti, Sujaritha Sundaresan)
- Per client GPU utilisation via fdinfo (Tvrtko Ursulin, Ashutosh Dixit)
- Add DRM_I915_QUERY_GEOMETRY_SUBSLICES (Matt Atwood)

Cross-subsystem Changes:

- Add GSC as a MEI auxiliary device (Tomas Winkler, Alexander Usyskin)

Core Changes:

- Document fdinfo format specification (Tvrtko Ursulin)

Driver Changes:

- Fix prime_mmap to work when using LMEM (Gwan-gyeong Mun)
- Fix vm open count and remove vma refcount (Thomas Hellström)
- Fixup setting screen_size (Matthew Auld)
- Opportunistically apply ALLOC_CONTIGIOUS (Matthew Auld)
- Limit where we apply TTM_PL_FLAG_CONTIGUOUS (Matthew Auld)
- Drop aux table invalidation on FlatCCS platforms (Matt Roper)
- Add missing boundary check in vm_access (Mastan Katragadda)
- Update topology dumps for Xe_HP (Matt Roper)
- Add support for steered register writes (Matt Roper)
- Add steering info to GuC register save/restore list (Daniele Ceraolo Spurio)
- Small PCI BAR enabling (Matthew Auld, Akeem G Abodunrin, CQ Tang)
- Add preemption changes for Wa_14015141709 (Akeem G Abodunrin)
- Add logical mapping for video decode engines (Matthew Brost)
- Don't evict unmappable VMAs when pinning with PIN_MAPPABLE (v2) (Vivek Kasireddy)
- GuC error capture support (Alan Previn, Daniele Ceraolo Spurio)
- avoid concurrent writes to aux_inv (Fei Yang)
- Add Wa_22014226127 (José Roberto de Souza)
- Sunset igpu legacy mmap support based on GRAPHICS_VER_FULL (Matt Roper)
- Evict and restore of compressed objects (Ramalingam C)
- Update to GuC version 70.1.1 (John Harrison)
- Add Wa_22011802037 force cs halt (Tilak Tangudu)
- Enable Wa_22011802037 for gen12 GuC based platforms (Umesh Nerlige Ramappa)
- GuC based workarounds for DG2 (Vinay Belgaumkar, John Harrison, Matthew Brost, José Roberto de Souza)
- consider min_page_size when migrating (Matthew Auld)

- Prep work for next GuC firmware release (John Harrison)
- Support platforms with CCS engines but no RCS (Matt Roper, Stuart Summers)
- Don't overallocate subslice storage (Matt Roper)
- Reduce stack usage in debugfs due to SSEU (John Harrison)
- Report steering details in debugfs (Matt Roper)
- Refactor some x86-ism out to prepare for non-x86 builds (Michael Cheng)
- add lmem_size modparam (CQ Tang)
- Refactor for non-x86 driver builds (Casey Bowman)
- Centralize computation of freq caps (Ashutosh Dixit)

- Update dma_buf_ops.unmap_dma_buf callback to use drm_gem_unmap_dma_buf() (Gwan-gyeong Mun)
- Limit the async bind to bind_async_flags (Matthew Auld)
- Stop checking for NULL vma->obj (Matthew Auld)
- Reduce overzealous alignment constraints for GGTT (Matthew Auld)
- Remove GEN12_SFC_DONE_MAX from register defs header (Matt Roper)
- Fix renamed struct field (Lucas De Marchi)
- Do not return '0' if there is nothing to return (Andi Shyti)
- fix i915_reg_t initialization (Jani Nikula)
- move the migration sanity check (Matthew Auld)
- handle more rounding in selftests (Matthew Auld)
- Perf and i915 query kerneldoc updates (Matt Roper)
- Use i915_probe_error instead of drm_err (Vinay Belgaumkar)
- sanity check object size in the buddy allocator (Matthew Auld)
- fixup selftests min_alignment usage (Matthew Auld)
- tweak selftests misaligned_case (Matthew Auld)
The following changes since commit c54b39a565227538c52ead2349eb17d54aadd6f7:

  Merge tag 'drm-intel-next-2022-04-13-1' of git://anongit.freedesktop.org/drm/drm-intel into drm-next (2022-04-14 12:03:09 +1000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-04-27

for you to fetch changes up to f15856d7de914595d0daa2c706f53a693b48e228:

  drm/i915/dg2: add gsc with special gsc bar offsets (2022-04-21 11:34:39 -0700)

----------------------------------------------------------------
UAPI Changes:

- GuC hwconfig support and query (John Harrison, Rodrigo Vivi, Tvrtko Ursulin)
- Sysfs support for multi-tile devices (Andi Shyti, Sujaritha Sundaresan)
- Per client GPU utilisation via fdinfo (Tvrtko Ursulin, Ashutosh Dixit)
- Add DRM_I915_QUERY_GEOMETRY_SUBSLICES (Matt Atwood)

Cross-subsystem Changes:

- Add GSC as a MEI auxiliary device (Tomas Winkler, Alexander Usyskin)

Core Changes:

- Document fdinfo format specification (Tvrtko Ursulin)

Driver Changes:

- Fix prime_mmap to work when using LMEM (Gwan-gyeong Mun)
- Fix vm open count and remove vma refcount (Thomas Hellström)
- Fixup setting screen_size (Matthew Auld)
- Opportunistically apply ALLOC_CONTIGIOUS (Matthew Auld)
- Limit where we apply TTM_PL_FLAG_CONTIGUOUS (Matthew Auld)
- Drop aux table invalidation on FlatCCS platforms (Matt Roper)
- Add missing boundary check in vm_access (Mastan Katragadda)
- Update topology dumps for Xe_HP (Matt Roper)
- Add support for steered register writes (Matt Roper)
- Add steering info to GuC register save/restore list (Daniele Ceraolo Spurio)
- Small PCI BAR enabling (Matthew Auld, Akeem G Abodunrin, CQ Tang)
- Add preemption changes for Wa_14015141709 (Akeem G Abodunrin)
- Add logical mapping for video decode engines (Matthew Brost)
- Don't evict unmappable VMAs when pinning with PIN_MAPPABLE (v2) (Vivek Kasireddy)
- GuC error capture support (Alan Previn, Daniele Ceraolo Spurio)
- avoid concurrent writes to aux_inv (Fei Yang)
- Add Wa_22014226127 (José Roberto de Souza)
- Sunset igpu legacy mmap support based on GRAPHICS_VER_FULL (Matt Roper)
- Evict and restore of compressed objects (Ramalingam C)
- Update to GuC version 70.1.1 (John Harrison)
- Add Wa_22011802037 force cs halt (Tilak Tangudu)
- Enable Wa_22011802037 for gen12 GuC based platforms (Umesh Nerlige Ramappa)
- GuC based workarounds for DG2 (Vinay Belgaumkar, John Harrison, Matthew Brost, José Roberto de Souza)
- consider min_page_size when migrating (Matthew Auld)

- Prep work for next GuC firmware release (John Harrison)
- Support platforms with CCS engines but no RCS (Matt Roper, Stuart Summers)
- Don't overallocate subslice storage (Matt Roper)
- Reduce stack usage in debugfs due to SSEU (John Harrison)
- Report steering details in debugfs (Matt Roper)
- Refactor some x86-ism out to prepare for non-x86 builds (Michael Cheng)
- add lmem_size modparam (CQ Tang)
- Refactor for non-x86 driver builds (Casey Bowman)
- Centralize computation of freq caps (Ashutosh Dixit)

- Update dma_buf_ops.unmap_dma_buf callback to use drm_gem_unmap_dma_buf() (Gwan-gyeong Mun)
- Limit the async bind to bind_async_flags (Matthew Auld)
- Stop checking for NULL vma->obj (Matthew Auld)
- Reduce overzealous alignment constraints for GGTT (Matthew Auld)
- Remove GEN12_SFC_DONE_MAX from register defs header (Matt Roper)
- Fix renamed struct field (Lucas De Marchi)
- Do not return '0' if there is nothing to return (Andi Shyti)
- fix i915_reg_t initialization (Jani Nikula)
- move the migration sanity check (Matthew Auld)
- handle more rounding in selftests (Matthew Auld)
- Perf and i915 query kerneldoc updates (Matt Roper)
- Use i915_probe_error instead of drm_err (Vinay Belgaumkar)
- sanity check object size in the buddy allocator (Matthew Auld)
- fixup selftests min_alignment usage (Matthew Auld)
- tweak selftests misaligned_case (Matthew Auld)

----------------------------------------------------------------
Akeem G Abodunrin (2):
      drm/i915/stolen: don't treat small BAR as an error
      drm/i915/dg2: Add preemption changes for Wa_14015141709

Alan Previn (13):
      drm/i915/guc: Update GuC ADS size for error capture lists
      drm/i915/guc: Add XE_LP static registers for GuC error capture.
      drm/i915/guc: Add XE_LP steered register lists support
      drm/i915/guc: Add DG2 registers for GuC error state capture.
      drm/i915/guc: Add Gen9 registers for GuC error state capture.
      drm/i915/guc: Add GuC's error state capture output structures.
      drm/i915/guc: Update GuC-log relay function names
      drm/i915/guc: Add capture region into intel_guc_log
      drm/i915/guc: Check sizing of guc_capture output
      drm/i915/guc: Extract GuC error capture lists on G2H notification.
      drm/i915/guc: Pre-allocate output nodes for extraction
      drm/i915/guc: Plumb GuC-capture into gpu_coredump
      drm/i915/guc: Print the GuC error capture output register list.

Alexander Usyskin (2):
      mei: gsc: setup char driver alive in spite of firmware handshake failure
      mei: gsc: retrieve the firmware version

Andi Shyti (6):
      drm/i915: Rename INTEL_REGION_LMEM with INTEL_REGION_LMEM_0
      drm/i915/gt: add gt_is_root() helper
      drm/i915/gt: create per-tile sysfs interface
      drm/i915/gt: Create per-tile RC6 sysfs interface
      drm/i915/gt: Create per-tile RPS sysfs interfaces
      drm/i915/debugfs: Do not return '0' if there is nothing to return

Ashutosh Dixit (2):
      drm/i915/rps: Centralize computation of freq caps
      drm/i915: Don't show engine information in fdinfo with GuC submission

CQ Tang (2):
      drm/i915/display: Check mappable aperture when pinning preallocated vma
      drm/i915: add lmem_size modparam

Casey Bowman (2):
      drm/i915/gt: Split intel-gtt functions by arch
      drm/i915: Require INTEL_GTT to depend on X86

Daniele Ceraolo Spurio (2):
      drm/i915/guc: add steering info to GuC register save/restore list
      drm/i915/guc: Correctly free guc capture struct on error

Fei Yang (1):
      drm/i915: avoid concurrent writes to aux_inv

Gwan-gyeong Mun (2):
      drm/i915/dmabuf: Update dma_buf_ops.unmap_dma_buf callback to use drm_gem_unmap_dma_buf()
      drm/i915/dmabuf: Fix prime_mmap to work when using LMEM

Jani Nikula (1):
      drm/i915/gt: fix i915_reg_t initialization

John Harrison (13):
      drm/i915/guc: Do not conflate lrc_desc with GuC id for registration
      drm/i915/guc: Add an explicit 'submission_initialized' flag
      drm/i915/guc: Better name for context id limit
      drm/i915/guc: Split guc_lrc_desc_pin apart
      drm/i915/guc: Move lrc desc setup to where it is needed
      drm/i915/guc: Rename desc_idx to ctx_id
      drm/i915/guc: Drop obsolete H2G definitions
      drm/i915/guc: Fix potential invalid pointer dereferences when decoding G2Hs
      drm/i915: Reduce stack usage in debugfs due to SSEU
      drm/i915/guc: Add fetch of hwconfig blob
      drm/i915/guc: Update to GuC version 70.1.1
      drm/i915/guc: Enable GuC based workarounds for DG2
      drm/i915/dg2: Enable Wa_22012727170/Wa_22012727685

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

José Roberto de Souza (2):
      drm/i915/dg2: Add Wa_22014226127
      drm/i915/dg2: Add workaround 18019627453

Lucas De Marchi (1):
      drm/i915: Fix renamed struct field

Mastan Katragadda (1):
      drm/i915/gem: add missing boundary check in vm_access

Matt Atwood (1):
      drm/i915/uapi: Add DRM_I915_QUERY_GEOMETRY_SUBSLICES

Matt Roper (11):
      drm/i915/xehp: Support platforms with CCS engines but no RCS
      drm/i915/xehp: Drop aux table invalidation on FlatCCS platforms
      drm/i915/gt: Remove GEN12_SFC_DONE_MAX from register defs header
      drm/i915/sseu: Don't overallocate subslice storage
      drm/i915/xehp: Update topology dumps for Xe_HP
      drm/i915: Report steering details in debugfs
      drm/i915: Add support for steered register writes
      drm/i915: Sunset igpu legacy mmap support based on GRAPHICS_VER_FULL
      drm/i915/doc: Convert drm_i915_query_topology_info comment to kerneldoc
      drm/i915/doc: Convert perf UAPI comments to kerneldoc
      drm/i915/doc: Link query items to their uapi structs

Matthew Auld (17):
      drm/i915/fbdev: fixup setting screen_size
      drm/i915: limit the async bind to bind_async_flags
      drm/i915: stop checking for NULL vma->obj
      drm/i915/gtt: reduce overzealous alignment constraints for GGTT
      drm/i915: opportunistically apply ALLOC_CONTIGIOUS
      drm/i915/lmem: don't treat small BAR as an error
      drm/i915/stolen: consider I915_BO_ALLOC_GPU_ONLY
      drm/i915: add i915_gem_object_create_region_at()
      drm/i915/ttm: wire up the object offset
      drm/i915: fixup the initial fb base on DGFX
      drm/i915/ttm: limit where we apply TTM_PL_FLAG_CONTIGUOUS
      drm/i915/migrate: move the sanity check
      drm/i915/selftests: handle more rounding
      drm/i915: consider min_page_size when migrating
      drm/i915/buddy: sanity check the size
      drm/i915/selftests: fixup min_alignment usage
      drm/i915/selftests: tweak the misaligned_case

Matthew Brost (2):
      drm/i915: Add logical mapping for video decode engines
      drm/i915/dg2: Enable Wa_14014475959 - RCS / CCS context exit

Michael Cheng (5):
      drm/i915/gt: Re-work intel_write_status_page
      drm/i915/gt: Drop invalidate_csb_entries
      drm/i915/gt: Re-work reset_csb
      drm/i915/: Re-work clflush_write32
      drm/i915/gt: replace cache_clflush_range

Ramalingam C (9):
      drm/i915/gt: use engine instance directly for offset
      drm/i915/gt: Use XY_FAST_COLOR_BLT to clear obj on graphics ver 12+
      drm/i915/gt: Optimize the migration and clear loop
      drm/i915/gt: Pass the -EINVAL when emit_pte doesn't update any PTE
      drm/i915/gt: Clear compress metadata for Flat-ccs objects
      drm/i915/selftest_migrate: Consider the possible roundup of size
      drm/i915/selftest_migrate: Check CCS meta data clear
      drm/i915/gem: Add extra pages in ttm_tt for ccs data
      drm/i915/migrate: Evict and restore the flatccs capable lmem obj

Rodrigo Vivi (3):
      drm/i915/uapi: Add query for hwconfig blob
      drm/i915/hwconfig: Add DG2 support
      Merge drm/drm-next into drm-intel-gt-next

Stuart Summers (1):
      drm/i915: Add RCS mask to GuC ADS params

Sujaritha Sundaresan (1):
      drm/i915/gt: Add sysfs throttle frequency interfaces

Thomas Hellström (3):
      drm/i915: Remove the vm open count
      drm/i915: Remove the vma refcount
      drm/i915/gem: Remove some unnecessary code

Tilak Tangudu (1):
      drm/i915: Add Wa_22011802037 force cs halt

Tomas Winkler (4):
      drm/i915/gsc: add gsc as a mei auxiliary device
      mei: add support for graphics system controller (gsc) devices
      mei: gsc: add runtime pm handlers
      drm/i915/dg2: add gsc with special gsc bar offsets

Tvrtko Ursulin (11):
      drm/i915: Prepare for multiple GTs
      drm/i915/uapi: Document DRM_I915_QUERY_HWCONFIG_BLOB
      drm/i915: Explicitly track DRM clients
      drm/i915: Make GEM contexts track DRM clients
      drm/i915: Track runtime spent in closed and unreachable GEM contexts
      drm/i915: Track all user contexts per client
      drm/i915: Track context current active time
      drm: Document fdinfo format specification
      drm/i915: Count engine instances per uabi class
      drm/i915: Expose client engine utilisation via fdinfo
      drm/i915: Fixup kerneldoc in struct i915_gem_context

Umesh Nerlige Ramappa (1):
      drm/i915/guc: Enable Wa_22011802037 for gen12 GuC based platforms

Vinay Belgaumkar (2):
      drm/i915/guc/slpc: Use i915_probe_error instead of drm_err
      drm/i915/guc: Apply Wa_16011777198

Vivek Kasireddy (1):
      drm/i915/gem: Don't evict unmappable VMAs when pinning with PIN_MAPPABLE (v2)

 Documentation/gpu/drm-usage-stats.rst              |  112 ++
 Documentation/gpu/i915.rst                         |   28 +
 Documentation/gpu/index.rst                        |    1 +
 MAINTAINERS                                        |    1 +
 drivers/gpu/drm/i915/Kconfig                       |    3 +-
 drivers/gpu/drm/i915/Makefile                      |   10 +
 drivers/gpu/drm/i915/display/intel_dpt.c           |    2 +-
 drivers/gpu/drm/i915/display/intel_fb.c            |    2 +-
 drivers/gpu/drm/i915/display/intel_fb_pin.c        |    2 +-
 drivers/gpu/drm/i915/display/intel_fbdev.c         |    4 +-
 drivers/gpu/drm/i915/display/intel_plane_initial.c |   56 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |   70 +-
 drivers/gpu/drm/i915/gem/i915_gem_context_types.h  |    6 +
 drivers/gpu/drm/i915/gem/i915_gem_create.c         |    2 +-
 drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c         |   15 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |   14 +-
 drivers/gpu/drm/i915/gem/i915_gem_lmem.c           |    4 +-
 drivers/gpu/drm/i915/gem/i915_gem_mman.c           |    2 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |    3 +
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |    2 +
 drivers/gpu/drm/i915/gem/i915_gem_region.c         |   50 +-
 drivers/gpu/drm/i915/gem/i915_gem_region.h         |    7 +
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |    1 +
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |  144 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.h         |    4 -
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |   52 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm.h            |    1 +
 .../gpu/drm/i915/gem/selftests/i915_gem_dmabuf.c   |    6 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c  |   12 +-
 drivers/gpu/drm/i915/gem/selftests/mock_context.c  |    5 +-
 drivers/gpu/drm/i915/gt/gen6_ppgtt.c               |    2 +-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           |  113 +-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.h           |    4 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |   12 +-
 drivers/gpu/drm/i915/gt/intel_context.c            |   29 +-
 drivers/gpu/drm/i915/gt/intel_context.h            |   15 +-
 drivers/gpu/drm/i915/gt/intel_context_types.h      |   24 +-
 drivers/gpu/drm/i915/gt/intel_engine.h             |   13 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   40 +-
 drivers/gpu/drm/i915/gt/intel_engine_regs.h        |    1 +
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |   13 +-
 drivers/gpu/drm/i915/gt/intel_engine_user.c        |   11 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |   49 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |  693 +-------
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |   29 +
 drivers/gpu/drm/i915/gt/intel_gsc.c                |  224 +++
 drivers/gpu/drm/i915/gt/intel_gsc.h                |   37 +
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  223 ++-
 drivers/gpu/drm/i915/gt/intel_gt.h                 |   41 +-
 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c     |    4 +
 drivers/gpu/drm/i915/gt/intel_gt_debugfs.c         |   20 +-
 drivers/gpu/drm/i915/gt/intel_gt_debugfs.h         |    2 +-
 drivers/gpu/drm/i915/gt/intel_gt_gmch.c            |  654 ++++++++
 drivers/gpu/drm/i915/gt/intel_gt_gmch.h            |   46 +
 drivers/gpu/drm/i915/gt/intel_gt_irq.c             |   13 +
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |   18 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c      |   40 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.h      |    4 +-
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |   21 +
 drivers/gpu/drm/i915/gt/intel_gt_sysfs.c           |  122 ++
 drivers/gpu/drm/i915/gt/intel_gt_sysfs.h           |   34 +
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c        |  601 +++++++
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.h        |   15 +
 drivers/gpu/drm/i915/gt/intel_gt_types.h           |   18 +
 drivers/gpu/drm/i915/gt/intel_gtt.c                |   56 +-
 drivers/gpu/drm/i915/gt/intel_gtt.h                |   65 +-
 drivers/gpu/drm/i915/gt/intel_hwconfig.h           |   21 +
 drivers/gpu/drm/i915/gt/intel_lrc.c                |   39 +-
 drivers/gpu/drm/i915/gt/intel_lrc.h                |   27 +-
 drivers/gpu/drm/i915/gt/intel_migrate.c            |  390 ++++-
 drivers/gpu/drm/i915/gt/intel_ppgtt.c              |    2 +-
 drivers/gpu/drm/i915/gt/intel_rc6.c                |    8 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c        |   10 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |    7 +-
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    |    2 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                |  126 +-
 drivers/gpu/drm/i915/gt/intel_rps.h                |    6 +-
 drivers/gpu/drm/i915/gt/intel_rps_types.h          |   15 +
 drivers/gpu/drm/i915/gt/intel_sseu.c               |   54 +-
 drivers/gpu/drm/i915/gt/intel_sseu.h               |   50 +-
 drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c       |   30 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |   21 +-
 drivers/gpu/drm/i915/gt/selftest_execlists.c       |   86 +-
 drivers/gpu/drm/i915/gt/selftest_lrc.c             |   10 +-
 drivers/gpu/drm/i915/gt/selftest_migrate.c         |  259 ++-
 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h   |   14 +-
 drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h    |    4 +
 drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h      |   15 +
 drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h      |  218 +++
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |   48 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |   19 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |  185 ++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c     | 1657 ++++++++++++++++++++
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.h     |   33 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |   92 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.c    |  164 ++
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |  125 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.h         |    7 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        |   56 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  645 +++++---
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |   30 +-
 drivers/gpu/drm/i915/gt/uc/selftest_guc.c          |    2 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |   12 +-
 drivers/gpu/drm/i915/i915_driver.c                 |   37 +-
 drivers/gpu/drm/i915/i915_drm_client.c             |  158 ++
 drivers/gpu/drm/i915/i915_drm_client.h             |   68 +
 drivers/gpu/drm/i915/i915_drv.h                    |   25 +
 drivers/gpu/drm/i915/i915_file_private.h           |    3 +
 drivers/gpu/drm/i915/i915_gem.c                    |   89 +-
 drivers/gpu/drm/i915/i915_gpu_error.c              |  297 ++--
 drivers/gpu/drm/i915/i915_gpu_error.h              |   37 +-
 drivers/gpu/drm/i915/i915_params.c                 |    3 +
 drivers/gpu/drm/i915/i915_params.h                 |    1 +
 drivers/gpu/drm/i915/i915_pci.c                    |    4 +-
 drivers/gpu/drm/i915/i915_query.c                  |   94 +-
 drivers/gpu/drm/i915/i915_reg.h                    |   18 +
 drivers/gpu/drm/i915/i915_reg_defs.h               |    2 -
 drivers/gpu/drm/i915/i915_sysfs.c                  |  310 +---
 drivers/gpu/drm/i915/i915_sysfs.h                  |    3 +
 drivers/gpu/drm/i915/i915_ttm_buddy_manager.c      |    4 +-
 drivers/gpu/drm/i915/i915_vma.c                    |   98 +-
 drivers/gpu/drm/i915/i915_vma.h                    |   14 -
 drivers/gpu/drm/i915/i915_vma_resource.c           |    2 +-
 drivers/gpu/drm/i915/i915_vma_resource.h           |    6 +
 drivers/gpu/drm/i915/i915_vma_types.h              |    8 +-
 drivers/gpu/drm/i915/intel_device_info.h           |    2 +
 drivers/gpu/drm/i915/intel_memory_region.c         |    2 +-
 drivers/gpu/drm/i915/intel_memory_region.h         |    8 +-
 drivers/gpu/drm/i915/intel_region_ttm.c            |    7 +-
 drivers/gpu/drm/i915/intel_region_ttm.h            |    1 +
 drivers/gpu/drm/i915/intel_uncore.c                |   86 +-
 drivers/gpu/drm/i915/intel_uncore.h                |    7 +-
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |   18 +-
 drivers/gpu/drm/i915/selftests/mock_gem_device.c   |   13 +-
 drivers/gpu/drm/i915/selftests/mock_region.c       |    4 +
 drivers/misc/mei/Kconfig                           |   14 +
 drivers/misc/mei/Makefile                          |    3 +
 drivers/misc/mei/bus-fixup.c                       |   25 +
 drivers/misc/mei/gsc-me.c                          |  259 +++
 drivers/misc/mei/hw-me.c                           |   29 +-
 drivers/misc/mei/hw-me.h                           |    2 +
 include/linux/mei_aux.h                            |   19 +
 include/uapi/drm/i915_drm.h                        |  291 +++-
 143 files changed, 8161 insertions(+), 2326 deletions(-)
 create mode 100644 Documentation/gpu/drm-usage-stats.rst
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gsc.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gsc.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_gmch.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_gmch.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_sysfs.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_sysfs.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_hwconfig.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.c
 create mode 100644 drivers/gpu/drm/i915/i915_drm_client.c
 create mode 100644 drivers/gpu/drm/i915/i915_drm_client.h
 create mode 100644 drivers/misc/mei/gsc-me.c
 create mode 100644 include/linux/mei_aux.h