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

Tvrtko Ursulin
2022-06-29T10:45:08Z

Hi Dave, Daniel,

This is the first pull request for 5.20 merge window.

A lot of fixes across the board, a few improvements and quite a lot of driver
refactoring to prepare for Ponte Vecchio, and then a bunch of Ponte Vecchio
early enablement on top.

In terms of improvements, we now enable huge pages on Icelake and above
regardless of the IOMMU status. This is after confirming with hardware
architects and measuring the performance regression which we had on older
platforms is gone.

Resume speed on modern integrated platforms has also been improved with around
100ms improvement measured.

DG2 has gained HuC support and some new workarounds.

In terms of fixes, the headline ones are:

* Driver load on DG2 small BAR configurations has been fixed to not crash.

* GuC backend has fixed the EU scheduling priority for DG2 and in general fixed
reset handling, improved error capture and optimised performance of querying
engine busyness.

* Rendering corruption on Haswell and older platforms caused by some recent
refactoring has also been fixed, as was the dma_resv handling in the
relatively new multi-batch execbuf code.

* Temporary and unintended relaxation of the persistent contexts handling in the
protocontext code has been fixed up before it hopefully "escaped" into the
wild.

* Reset handling on Icelake and above has been improved with a new workaround
which should improve the stability in some corner cases.

* Processes which use non-persistent context and abruptly exit will now be
allowed to exit gracefuly without triggering resets and error capture in the
logs.

* A bunch more as mentioned in the tag summary.

On the uapi front we have deprecation of some legacy get params on Xe_HP+ and
media block frequency control exposed in per gt sysfs.

Outside i915 we have a rename in the intel-gtt module and one cross-merge from
drm-intel-next.

Regards,

Tvrtko

drm-intel-gt-next-2022-06-29:
UAPI Changes:

- Expose per tile media freq factor in sysfs (Ashutosh Dixit, Dale B Stimson)
- Document memory residency and Flat-CCS capability of obj (Ramalingam C)
- Disable GETPARAM lookups of I915_PARAM_[SUB]SLICE_MASK on Xe_HP+ (Matt Roper)

Cross-subsystem Changes:

- Rename intel-gtt symbols (Lucas De Marchi)

Core Changes:

Driver Changes:

- Support programming the EU priority in the GuC descriptor (DG2) (Matthew Brost)
- DG2 HuC loading support (Daniele Ceraolo Spurio)
- Fix build error without CONFIG_PM (YueHaibing)
- Enable THP on Icelake and beyond (Tvrtko Ursulin)
- Only setup private tmpfs mount when needed and fix logging (Tvrtko Ursulin)
- Make __guc_reset_context aware of guilty engines (Umesh Nerlige Ramappa)
- DG2 small bar memory probing fixes (Nirmoy Das)
- Remove unnecessary GuC err capture noise (Alan Previn)
- Fix i915_gem_object_ggtt_pin_ww regression on old platforms (Maarten Lankhorst)
- Fix undefined behavior in GuC backend due to shift overflowing the constant (Borislav Petkov)
- New DG2 workarounds (Swathi Dhanavanthri, Anshuman Gupta)
- Report no hwconfig support on ADL-N (Balasubramani Vivekanandan)
- Fix error_state_read ptr + offset use (Alan Previn)
- Expose per tile media freq factor in sysfs (Ashutosh Dixit, Dale B Stimson)
- Fix memory leaks in per-gt sysfs (Ashutosh Dixit)
- Fix dma_resv fence handling in multi-batch execbuf (Nirmoy Das)
- Add extra registers to GPU error dump on Gen11+ (Stuart Summers)
- More PVC+DG2 workarounds (Matt Roper)
- Improve user experience and driver robustness under SIGINT or similar (Tvrtko Ursulin)
- Don't show engine classes not present (Tvrtko Ursulin)
- Improve on suspend / resume time with VT-d enabled (Thomas Hellström)
- Add missing else (katrinzhou)
- Don't leak lmem mapping in vma_evict (Juha-Pekka Heikkila)
- Add smem fallback allocation for dpt (Juha-Pekka Heikkila)
- Tweak the ordering in cpu_write_needs_clflush (Matthew Auld)
- Do not access rq->engine without a reference (Niranjana Vishwanathapura)
- Revert "drm/i915: Hold reference to intel_context over life of i915_request" (Niranjana Vishwanathapura)
- Don't update engine busyness stats too frequently (Alan Previn)
- Add additional steps for Wa_22011802037 for execlist backend (Umesh Nerlige Ramappa)
- Fix a lockdep warning at error capture (Nirmoy Das)

- Ponte Vecchio prep work and new blitter engines (Matt Roper, John Harrison, Lucas De Marchi)
- Read correct RP_STATE_CAP register (PVC) (Matt Roper)
- Define MOCS table for PVC (Ayaz A Siddiqui)
- Driver refactor and support Ponte Vecchio forcewake handling (Matt Roper)
- Remove additional 3D flags from PIPE_CONTROL (Ponte Vecchio) (Stuart Summers)
- XEHPSDV and PVC do not use HuC (Daniele Ceraolo Spurio)
- Extract stepping information from PCI revid (Ponte Vecchio) (Matt Roper)
- Add initial PVC workarounds (Stuart Summers)
- SSEU handling driver refactor and Ponte Vecchio support (Matt Roper)
- GuC depriv applies to PVC (Matt Roper)
- Add register steering (Ponte Vecchio) (Matt Roper)
- Add recommended MMIO setting (Ponte Vecchio) (Matt Roper)

- Move multicast register handling to a dedicated file (Matt Roper)
- Cleanup interface for MCR operations (Matt Roper)
- Extend i915_vma_pin_iomap() (CQ Tang)
- Re-do the intel-gtt split (Lucas De Marchi)
- Correct duplicated/misplaced GT register definitions (Matt Roper)
- Prefer "XEHP_" prefix for registers (Matt Roper)

- Don't use DRM_DEBUG_WARN_ON for unexpected l3bank/mslice config (Tvrtko Ursulin)
- Don't use DRM_DEBUG_WARN_ON for ring unexpectedly not idle (Tvrtko Ursulin)
- Make drop_pages() return bool (Lucas De Marchi)
- Fix CFI violation with show_dynamic_id() (Nathan Chancellor)
- Use i915_probe_error instead of drm_error in GuC code (Vinay Belgaumkar)
- Fix use of static in macro mismatch (Andi Shyti)
- Update tiled blits selftest (Bommu Krishnaiah)
- Future-proof platform checks (Matt Roper)
- Only include what's needed (Jani Nikula)
- remove accidental static from a local variable (Jani Nikula)
- Add global forcewake request to drpc (Vinay Belgaumkar)
- Fix spelling typo in comment (pengfuyuan)
- Increase timeout for live_parallel_switch selftest (Akeem G Abodunrin)
- Use non-blocking H2G for waitboost (Vinay Belgaumkar)
The following changes since commit 5f38c3fb55ce3814b4353320d7a205068a420e48:

drm/i915/pcode: Add a couple of pcode helpers (2022-05-20 09:11:45 +0100)

are available in the Git repository at:

git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-06-29

for you to fetch changes up to a06968563775181690125091f470a8655742dcbf:

drm/i915: Fix a lockdep warning at error capture (2022-06-29 14:52:50 +0530)

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

- Expose per tile media freq factor in sysfs (Ashutosh Dixit, Dale B Stimson)
- Document memory residency and Flat-CCS capability of obj (Ramalingam C)
- Disable GETPARAM lookups of I915_PARAM_[SUB]SLICE_MASK on Xe_HP+ (Matt Roper)

Cross-subsystem Changes:

- Rename intel-gtt symbols (Lucas De Marchi)

Core Changes:

Driver Changes:

- Support programming the EU priority in the GuC descriptor (DG2) (Matthew Brost)
- DG2 HuC loading support (Daniele Ceraolo Spurio)
- Fix build error without CONFIG_PM (YueHaibing)
- Enable THP on Icelake and beyond (Tvrtko Ursulin)
- Only setup private tmpfs mount when needed and fix logging (Tvrtko Ursulin)
- Make __guc_reset_context aware of guilty engines (Umesh Nerlige Ramappa)
- DG2 small bar memory probing fixes (Nirmoy Das)
- Remove unnecessary GuC err capture noise (Alan Previn)
- Fix i915_gem_object_ggtt_pin_ww regression on old platforms (Maarten Lankhorst)
- Fix undefined behavior in GuC backend due to shift overflowing the constant (Borislav Petkov)
- New DG2 workarounds (Swathi Dhanavanthri, Anshuman Gupta)
- Report no hwconfig support on ADL-N (Balasubramani Vivekanandan)
- Fix error_state_read ptr + offset use (Alan Previn)
- Expose per tile media freq factor in sysfs (Ashutosh Dixit, Dale B Stimson)
- Fix memory leaks in per-gt sysfs (Ashutosh Dixit)
- Fix dma_resv fence handling in multi-batch execbuf (Nirmoy Das)
- Add extra registers to GPU error dump on Gen11+ (Stuart Summers)
- More PVC+DG2 workarounds (Matt Roper)
- Improve user experience and driver robustness under SIGINT or similar (Tvrtko Ursulin)
- Don't show engine classes not present (Tvrtko Ursulin)
- Improve on suspend / resume time with VT-d enabled (Thomas Hellström)
- Add missing else (katrinzhou)
- Don't leak lmem mapping in vma_evict (Juha-Pekka Heikkila)
- Add smem fallback allocation for dpt (Juha-Pekka Heikkila)
- Tweak the ordering in cpu_write_needs_clflush (Matthew Auld)
- Do not access rq->engine without a reference (Niranjana Vishwanathapura)
- Revert "drm/i915: Hold reference to intel_context over life of i915_request" (Niranjana Vishwanathapura)
- Don't update engine busyness stats too frequently (Alan Previn)
- Add additional steps for Wa_22011802037 for execlist backend (Umesh Nerlige Ramappa)
- Fix a lockdep warning at error capture (Nirmoy Das)

- Ponte Vecchio prep work and new blitter engines (Matt Roper, John Harrison, Lucas De Marchi)
- Read correct RP_STATE_CAP register (PVC) (Matt Roper)
- Define MOCS table for PVC (Ayaz A Siddiqui)
- Driver refactor and support Ponte Vecchio forcewake handling (Matt Roper)
- Remove additional 3D flags from PIPE_CONTROL (Ponte Vecchio) (Stuart Summers)
- XEHPSDV and PVC do not use HuC (Daniele Ceraolo Spurio)
- Extract stepping information from PCI revid (Ponte Vecchio) (Matt Roper)
- Add initial PVC workarounds (Stuart Summers)
- SSEU handling driver refactor and Ponte Vecchio support (Matt Roper)
- GuC depriv applies to PVC (Matt Roper)
- Add register steering (Ponte Vecchio) (Matt Roper)
- Add recommended MMIO setting (Ponte Vecchio) (Matt Roper)

- Move multicast register handling to a dedicated file (Matt Roper)
- Cleanup interface for MCR operations (Matt Roper)
- Extend i915_vma_pin_iomap() (CQ Tang)
- Re-do the intel-gtt split (Lucas De Marchi)
- Correct duplicated/misplaced GT register definitions (Matt Roper)
- Prefer "XEHP_" prefix for registers (Matt Roper)

- Don't use DRM_DEBUG_WARN_ON for unexpected l3bank/mslice config (Tvrtko Ursulin)
- Don't use DRM_DEBUG_WARN_ON for ring unexpectedly not idle (Tvrtko Ursulin)
- Make drop_pages() return bool (Lucas De Marchi)
- Fix CFI violation with show_dynamic_id() (Nathan Chancellor)
- Use i915_probe_error instead of drm_error in GuC code (Vinay Belgaumkar)
- Fix use of static in macro mismatch (Andi Shyti)
- Update tiled blits selftest (Bommu Krishnaiah)
- Future-proof platform checks (Matt Roper)
- Only include what's needed (Jani Nikula)
- remove accidental static from a local variable (Jani Nikula)
- Add global forcewake request to drpc (Vinay Belgaumkar)
- Fix spelling typo in comment (pengfuyuan)
- Increase timeout for live_parallel_switch selftest (Akeem G Abodunrin)
- Use non-blocking H2G for waitboost (Vinay Belgaumkar)

----------------------------------------------------------------
Akeem G Abodunrin (1):
drm/i915/selftests: Increase timeout for live_parallel_switch

Alan Previn (3):
drm/i915/guc: Remove unnecessary GuC err capture noise
drm/i915/reset: Fix error_state_read ptr + offset use
drm/i915/guc: Don't update engine busyness stats too frequently

Andi Shyti (1):
drm/i915/gt: Fix use of static in macro mismatch

Anshuman Gupta (1):
drm/i915/dg2: Add Wa_14015795083

Ashutosh Dixit (3):
drm/i915/gt: Add media freq factor to per-gt sysfs
drm/i915/pcode: Init pcode on different gt's
drm/i915/gt: Fix memory leaks in per-gt sysfs

Ayaz A Siddiqui (1):
drm/i915/pvc: Define MOCS table for PVC

Balasubramani Vivekanandan (1):
drm/i915/hwconfig: Report no hwconfig support on ADL-N

Bommu Krishnaiah (1):
drm/i915: Update tiled blits selftest

Borislav Petkov (1):
drm/i915/uc: Fix undefined behavior due to shift overflowing the constant

CQ Tang (1):
drm/i915: extend i915_vma_pin_iomap()

Dale B Stimson (1):
drm/i915/gt: Add media RP0/RPn to per-gt sysfs

Daniele Ceraolo Spurio (5):
drm/i915/huc: drop intel_huc_is_authenticated
drm/i915/huc: Add fetch support for gsc-loaded HuC binary
drm/i915/huc: Prepare for GSC-loaded HuC
drm/i915/huc: Don't fail the probe if HuC init fails
drm/i915/guc: XEHPSDV and PVC do not use HuC

Jani Nikula (2):
drm/i915/client: only include what's needed
drm/i915/uc: remove accidental static from a local variable

John Harrison (1):
drm/i915/pvc: Reduce stack usage in reset selftest with extra blitter engine

José Roberto de Souza (7):
drm/i915: Drop has_gt_uc from device info
drm/i915: Drop has_rc6 from device info
drm/i915: Drop has_reset_engine from device info
drm/i915: Drop has_logical_ring_elsq from device info
drm/i915: Drop has_ddi from device info
drm/i915: Drop has_dp_mst from device info
drm/i915: Drop has_psr from device info

Juha-Pekka Heikkila (2):
drm/i915: don't leak lmem mapping in vma_evict
drm/i915/display: Add smem fallback allocation for dpt

Lucas De Marchi (5):
drm/i915/gem: Make drop_pages() return bool
drm/i915/pvc: skip all copy engines from aux table invalidate
drm/i915/pvc: read fuses for link copy engines
agp/intel: Rename intel-gtt symbols
drm/i915/gt: Re-do the intel-gtt split

Maarten Lankhorst (1):
drm/i915: Use i915_gem_object_ggtt_pin_ww for reloc_iomap

Matt Roper (27):
drm/i915/pvc: Read correct RP_STATE_CAP register
drm/i915/gvt: Use intel_engine_mask_t for ring mask
drm/i915/pvc: Engine definitions for new copy engines
drm/i915/pvc: Interrupt support for new copy engines
drm/i915/pvc: Reset support for new copy engines
drm/i915/uncore: Reorganize and document shadow and forcewake tables
drm/i915/pvc: Add forcewake support
drm/i915/pvc: Add new BCS engines to GuC engine list
drm/i915/hwconfig: Future-proof platform checks
drm/i915/pvc: Extract stepping information from PCI revid
drm/i915/xehp: Use separate sseu init function
drm/i915/xehp: Drop GETPARAM lookups of I915_PARAM_[SUB]SLICE_MASK
drm/i915/sseu: Simplify gen11+ SSEU handling
drm/i915/sseu: Don't try to store EU mask internally in UAPI format
drm/i915/sseu: Disassociate internal subslice mask representation from uapi
drm/i915/pvc: Add SSEU changes
drm/i915/pvc: GuC depriv applies to PVC
drm/i915/dg2: Correct DSS check for Wa_1308578152
drm/i915: More PVC+DG2 workarounds
drm/i915/xehp: Correct steering initialization
drm/i915/pvc: Add register steering
drm/i915/pvc: Adjust EU per SS according to HAS_ONE_EU_PER_FUSE_BIT()
drm/i915/pvc: Add recommended MMIO setting
drm/i915/gt: Move multicast register handling to a dedicated file
drm/i915/gt: Cleanup interface for MCR operations
drm/i915: Correct duplicated/misplaced GT register definitions
drm/i915: Prefer "XEHP_" prefix for registers

Matthew Auld (1):
drm/i915: tweak the ordering in cpu_write_needs_clflush

Matthew Brost (1):
drm/i915/guc: Support programming the EU priority in the GuC descriptor

Nathan Chancellor (1):
drm/i915: Fix CFI violation with show_dynamic_id()

Niranjana Vishwanathapura (2):
drm/i915: Do not access rq->engine without a reference
Revert "drm/i915: Hold reference to intel_context over life of i915_request"

Nirmoy Das (5):
drm/i915: return -EIO on lmem setup failure
drm/i915: determine lmem_size properly
drm/i915: gracefully error out on platform with small-bar
drm/i915: Individualize fences before adding to dma_resv obj
drm/i915: Fix a lockdep warning at error capture

Ramalingam C (1):
uapi/drm/i915: Document memory residency and Flat-CCS capability of obj

Stuart Summers (3):
drm/i915/pvc: Remove additional 3D flags from PIPE_CONTROL
drm/i915/pvc: Add initial PVC workarounds
drm/i915: Add extra registers to GPU error dump

Swathi Dhanavanthri (2):
drm/i915/dg2: Add workaround 22014600077
drm/i915/dg2: Extend Wa_22010954014 to DG2-G11 and DG2-G12

Thomas Hellström (1):
drm/i915: Improve on suspend / resume time with VT-d enabled

Tvrtko Ursulin (14):
drm/i915: Don't use DRM_DEBUG_WARN_ON for unexpected l3bank/mslice config
drm/i915: Don't use DRM_DEBUG_WARN_ON for ring unexpectedly not idle
drm/i915: Enable THP on Icelake and beyond
drm/i915: Only setup private tmpfs mount when needed and fix logging
Revert "drm/i915: Drop has_psr from device info"
Revert "drm/i915: Drop has_dp_mst from device info"
Revert "drm/i915: Drop has_ddi from device info"
Revert "drm/i915: Drop has_logical_ring_elsq from device info"
Revert "drm/i915: Drop has_reset_engine from device info"
Revert "drm/i915: Drop has_rc6 from device info"
Revert "drm/i915: Drop has_gt_uc from device info"
Merge tag 'drm-intel-next-2022-05-20' of git://anongit.freedesktop.org/drm/drm-intel into drm-intel-gt-next
drm/i915: Improve user experience and driver robustness under SIGINT or similar
drm/i915/fdinfo: Don't show engine classes not present

Umesh Nerlige Ramappa (2):
i915/guc/reset: Make __guc_reset_context aware of guilty engines
drm/i915/reset: Add additional steps for Wa_22011802037 for execlist backend

Vinay Belgaumkar (3):
drm/i915/guc/rc: Use i915_probe_error instead of drm_error
drm/i915: Add global forcewake request to drpc
drm/i915/guc/slpc: Use non-blocking H2G for waitboost

YueHaibing (1):
drm/i915/gt: Fix build error without CONFIG_PM

katrinzhou (1):
drm/i915/gem: add missing else

pengfuyuan (1):
drm/i915: Fix spelling typo in comment

Documentation/gpu/drm-usage-stats.rst | 112 ++
Documentation/gpu/i915.rst | 40 +
Documentation/gpu/index.rst | 1 +
MAINTAINERS | 1 +
drivers/char/agp/intel-gtt.c | 58 +-
drivers/gpu/drm/i915/Kconfig | 3 +-
drivers/gpu/drm/i915/Makefile | 11 +
drivers/gpu/drm/i915/display/intel_dpt.c | 18 +-
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 | 103 +-
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_domain.c | 6 +-
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 23 +-
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 | 12 +-
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 146 +-
drivers/gpu/drm/i915/gem/i915_gem_stolen.h | 4 -
drivers/gpu/drm/i915/gem/i915_gem_tiling.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 52 +-
drivers/gpu/drm/i915/gem/i915_gem_ttm.h | 1 +
drivers/gpu/drm/i915/gem/i915_gemfs.c | 50 +-
drivers/gpu/drm/i915/gem/i915_gemfs.h | 3 +-
.../drm/i915/gem/selftests/i915_gem_client_blt.c | 250 ++-
.../gpu/drm/i915/gem/selftests/i915_gem_context.c | 2 +-
.../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 | 186 ++-
drivers/gpu/drm/i915/gt/gen8_engine_cs.h | 11 +-
drivers/gpu/drm/i915/gt/gen8_ppgtt.c | 12 +-
drivers/gpu/drm/i915/gt/intel_context.c | 53 +-
drivers/gpu/drm/i915/gt/intel_context.h | 40 +-
drivers/gpu/drm/i915/gt/intel_context_types.h | 28 +-
drivers/gpu/drm/i915/gt/intel_engine.h | 15 +-
drivers/gpu/drm/i915/gt/intel_engine_cs.c | 251 +++-
drivers/gpu/drm/i915/gt/intel_engine_regs.h | 13 +-
drivers/gpu/drm/i915/gt/intel_engine_types.h | 25 +-
drivers/gpu/drm/i915/gt/intel_engine_user.c | 13 +-
.../gpu/drm/i915/gt/intel_execlists_submission.c | 89 +-
drivers/gpu/drm/i915/gt/intel_ggtt.c | 238 ++-
drivers/gpu/drm/i915/gt/intel_ggtt_gmch.c | 132 ++
drivers/gpu/drm/i915/gt/intel_ggtt_gmch.h | 27 +
drivers/gpu/drm/i915/gt/intel_gpu_commands.h | 68 +-
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 | 294 ++--
drivers/gpu/drm/i915/gt/intel_gt.h | 31 +-
drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c | 4 +
drivers/gpu/drm/i915/gt/intel_gt_debugfs.c | 21 +-
drivers/gpu/drm/i915/gt/intel_gt_debugfs.h | 2 +-
drivers/gpu/drm/i915/gt/intel_gt_irq.c | 29 +
drivers/gpu/drm/i915/gt/intel_gt_mcr.c | 497 ++++++
drivers/gpu/drm/i915/gt/intel_gt_mcr.h | 34 +
drivers/gpu/drm/i915/gt/intel_gt_pm.c | 18 +-
drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c | 48 +-
drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.h | 4 +-
drivers/gpu/drm/i915/gt/intel_gt_regs.h | 98 +-
drivers/gpu/drm/i915/gt/intel_gt_sysfs.c | 117 ++
drivers/gpu/drm/i915/gt/intel_gt_sysfs.h | 30 +
drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c | 779 ++++++++++
drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.h | 15 +
drivers/gpu/drm/i915/gt/intel_gt_types.h | 29 +
drivers/gpu/drm/i915/gt/intel_gtt.c | 56 +-
drivers/gpu/drm/i915/gt/intel_gtt.h | 96 +-
drivers/gpu/drm/i915/gt/intel_hwconfig.h | 21 +
drivers/gpu/drm/i915/gt/intel_lrc.c | 114 +-
drivers/gpu/drm/i915/gt/intel_lrc.h | 36 +-
drivers/gpu/drm/i915/gt/intel_migrate.c | 385 ++++-
drivers/gpu/drm/i915/gt/intel_mocs.c | 24 +-
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 | 31 +-
drivers/gpu/drm/i915/gt/intel_reset.c | 9 +-
drivers/gpu/drm/i915/gt/intel_ring_submission.c | 13 +-
drivers/gpu/drm/i915/gt/intel_rps.c | 128 +-
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 | 478 +++---
drivers/gpu/drm/i915/gt/intel_sseu.h | 122 +-
drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c | 60 +-
drivers/gpu/drm/i915/gt/intel_workarounds.c | 201 ++-
drivers/gpu/drm/i915/gt/selftest_execlists.c | 86 +-
drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 9 +-
drivers/gpu/drm/i915/gt/selftest_lrc.c | 63 +-
drivers/gpu/drm/i915/gt/selftest_migrate.c | 259 +++-
drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h | 16 +-
.../gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h | 6 +
.../drm/i915/gt/uc/abi/guc_communication_ctb_abi.h | 2 +-
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/abi/guc_messages_abi.h | 2 +-
drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h | 218 +++
drivers/gpu/drm/i915/gt/uc/intel_guc.c | 52 +-
drivers/gpu/drm/i915/gt/uc/intel_guc.h | 29 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c | 188 ++-
drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c | 1584 ++++++++++++++++++++
drivers/gpu/drm/i915/gt/uc/intel_guc_capture.h | 33 +
drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h | 93 +-
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_rc.c | 5 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h | 3 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c | 114 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h | 1 +
drivers/gpu/drm/i915/gt/uc/intel_guc_slpc_types.h | 3 +
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 661 +++++---
drivers/gpu/drm/i915/gt/uc/intel_huc.c | 97 +-
drivers/gpu/drm/i915/gt/uc/intel_huc.h | 5 +-
drivers/gpu/drm/i915/gt/uc/intel_huc_fw.c | 5 +-
drivers/gpu/drm/i915/gt/uc/intel_uc.c | 28 +-
drivers/gpu/drm/i915/gt/uc/intel_uc.h | 2 +-
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 137 +-
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h | 2 +
drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h | 9 +
drivers/gpu/drm/i915/gt/uc/selftest_guc.c | 2 +-
drivers/gpu/drm/i915/gvt/cmd_parser.c | 2 +-
drivers/gpu/drm/i915/i915_debugfs.c | 12 +-
drivers/gpu/drm/i915/i915_driver.c | 73 +-
drivers/gpu/drm/i915/i915_drm_client.c | 160 ++
drivers/gpu/drm/i915/i915_drm_client.h | 68 +
drivers/gpu/drm/i915/i915_drv.h | 51 +-
drivers/gpu/drm/i915/i915_file_private.h | 3 +
drivers/gpu/drm/i915/i915_gem.c | 89 +-
drivers/gpu/drm/i915/i915_getparam.c | 11 +-
drivers/gpu/drm/i915/i915_gpu_error.c | 324 ++--
drivers/gpu/drm/i915/i915_gpu_error.h | 44 +-
drivers/gpu/drm/i915/i915_params.c | 3 +
drivers/gpu/drm/i915/i915_params.h | 1 +
drivers/gpu/drm/i915/i915_pci.c | 47 +-
drivers/gpu/drm/i915/i915_perf.c | 4 +-
drivers/gpu/drm/i915/i915_perf_types.h | 2 +-
drivers/gpu/drm/i915/i915_query.c | 108 +-
drivers/gpu/drm/i915/i915_reg.h | 46 +-
drivers/gpu/drm/i915/i915_reg_defs.h | 2 -
drivers/gpu/drm/i915/i915_request.c | 57 +-
drivers/gpu/drm/i915/i915_request.h | 2 +
drivers/gpu/drm/i915/i915_sysfs.c | 327 +---
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 | 214 +--
drivers/gpu/drm/i915/i915_vma.h | 15 -
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.c | 1 +
drivers/gpu/drm/i915/intel_device_info.h | 8 +-
drivers/gpu/drm/i915/intel_memory_region.c | 2 +-
drivers/gpu/drm/i915/intel_memory_region.h | 8 +-
drivers/gpu/drm/i915/intel_pm.c | 23 +-
drivers/gpu/drm/i915/intel_region_ttm.c | 7 +-
drivers/gpu/drm/i915/intel_region_ttm.h | 1 +
drivers/gpu/drm/i915/intel_step.c | 70 +-
drivers/gpu/drm/i915/intel_step.h | 4 +-
drivers/gpu/drm/i915/intel_uncore.c | 332 ++--
drivers/gpu/drm/i915/intel_uncore.h | 9 +-
drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 18 +-
drivers/gpu/drm/i915/selftests/intel_uncore.c | 2 +
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/drm/intel-gtt.h | 24 +-
include/linux/mei_aux.h | 19 +
include/uapi/drm/i915_drm.h | 369 ++++-
181 files changed, 10550 insertions(+), 2810 deletions(-)
create mode 100644 Documentation/gpu/drm-usage-stats.rst
create mode 100644 drivers/gpu/drm/i915/gt/intel_ggtt_gmch.c
create mode 100644 drivers/gpu/drm/i915/gt/intel_ggtt_gmch.h
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_mcr.c
create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_mcr.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