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

Tvrtko Ursulin
2022-04-27T10:49:55Z

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