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

Joonas Lahtinen
2021-10-08T09:27:24Z

Hi Dave & Daniel,

Here goes the first PR towards 5.16.

As for the big things, this adds encrypted PXP (Protected Xe Path)
support for Gen12 integrated. Take a look at the "drm/i915/pxp: add
PXP documentation" for further details and the Mesa changes for how
the uAPI will look like.

Then adds DG1 PCI IDs (GuC is enabled by default) still behind
force_probe, but not anymore behind the FAKE_LMEM compile time
protection. There is of course immensive amount of rework and new
code that lead to this.

Suspend timeout is increased by factor of 2.5 to account for GuC
submission added overhead. Ultimately this should lead to simpler
kernel scheduler code that will converge towards drm/sched.

Then there are the many of the other changes that trade previously made
code (micro-)optimizations for code simplicity, so some performance
regressions are expected.

Removes ADL-S force_probe protection. Enables transparent hugepages when
IOMMU is enabled (and then only), to offset the perf hit caused by
IOMMU. That is greater than some of the perf hit from THP itself. Keeps
adding support for Xe HP/Xe HP SDV.

Backmerges drm-next at 5.15-rc1 and merges the tip/locking/wwmutex branch.
Also includes patches for the MEI subsystem that go together with the PXP
changes.

Regards, Joonas

***

drm-intel-gt-next-2021-10-08:

UAPI Changes:

- Add uAPI for using PXP protected objects

Mesa changes: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8064

- Add PCI IDs and LMEM discovery/placement uAPI for DG1

Mesa changes: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11584

- Disable engine bonding on Gen12+ except TGL, RKL and ADL-S

Cross-subsystem Changes:

- Merges 'tip/locking/wwmutex' branch (core kernel tip)
- "mei: pxp: export pavp client to me client bus"

Core Changes:

- Update ttm_move_memcpy for async use (Thomas)

Driver Changes:

- Add PXP (Protected Xe Path) support for Gen12 integrated (Daniele,
Sean, Anshuman)
See "drm/i915/pxp: add PXP documentation" for details!
- Enable GuC submission by default on DG1 (Matt B)
- Remove force_probe protection for ADL-S (Raviteja)
- Add base support for XeHP/XeHP SDV (Matt R, Stuart, Lucas)
- Handle DRI_PRIME=1 on Intel igfx + Intel dgfx hybrid graphics setup (Tvrtko)
- Use Transparent Hugepages when IOMMU is enabled (Tvrtko, Chris)
- Implement LMEM backup and restore for suspend / resume (Thomas)
- Report INSTDONE_GEOM values in error state for DG2 (Matt R)
- Add DG2-specific shadow register table (Matt R)
- Update Gen11/Gen12/XeHP shadow register tables (Matt R)
- Maintain backward-compatible nested batch behavior on TGL+ (Matt R)
- Add new LRI reg offsets for DG2 (Akeem)
- Initialize unused MOCS entries to device specific values (Ayaz)
- Track and use the correct UC MOCS index on Gen12 (Ayaz)
- Add separate MOCS table for Gen12 devices other than TGL/RKL (Ayaz)
- Simplify the locking and eliminate some RCU usage (Daniel)
- Add some flushing for the 64K GTT path (Matt A)
- Mark GPU wedging on driver unregister unrecoverable (Janusz)

- Major rework in the GuC codebase, simplify locking and add docs (Matt B)
- Add DG1 GuC/HuC firmwares (Daniele, Matt B)
- Remember to call i915_sw_fence_fini on guc_state.blocked (Matt A)
- Use "gt" forcewake domain name for error messages instead of "blitter" (Matt R)
- Drop now duplicate LMEM uAPI RFC kerneldoc section (Daniel)
- Fix early tracepoints for requests (Matt A)
- Use locked access to ctx->engines in set_priority (Daniel)
- Convert gen6/gen7/gen8 read operations to fwtable (Matt R)
- Drop gen11/gen12 specific mmio write handlers (Matt R)
- Drop gen11 specific mmio read handlers (Matt R)
- Use designated initializers for init/exit table (Kees)
- Fix syncmap memory leak (Matt B)
- Add pretty printing for buddy allocator state debug (Matt A)
- Fix potential error pointer dereference in pinned_context() (Dan)
- Remove IS_ACTIVE macro (Lucas)
- Static code checker fixes (Nathan)
- Clean up disabled warnings (Nathan)
- Increase timeout in i915_gem_contexts selftests 5x for GuC submission (Matt B)
- Ensure wa_init_finish() is called for ctx workaround list (Matt R)
- Initialize L3CC table in mocs init (Sreedhar, Ayaz, Ram)
- Get PM ref before accessing HW register (Vinay)
- Move __i915_gem_free_object to ttm_bo_destroy (Maarten)
- Deduplicate frequency dump on debugfs (Lucas)
- Make wa list per-gt (Venkata)
- Do not define dummy vma in stack (Venkata)
- Take pinning into account in __i915_gem_object_is_lmem (Matt B, Thomas)
- Do not report currently active engine when describing objects (Tvrtko)
- Fix pdfdocs build error by removing nested grid from GuC docs (Akira)
- Remove false warning from the rps worker (Tejas)
- Flush buffer pools on driver remove (Janusz)
- Fix runtime pm handling in i915_gem_shrink (Maarten)
- Rework TTM object initialization slightly (Thomas)
- Use fixed offset for PTEs location (Michal Wa)
- Verify result from CTB (de)register action and improve error messages (Michal Wa)
- Fix bug in user proto-context creation that leaked contexts (Matt B)

- Re-use Gen11 forcewake read functions on Gen12 (Matt R)
- Make shadow tables range-based (Matt R)
- Ditch the i915_gem_ww_ctx loop member (Thomas, Maarten)
- Use NULL instead of 0 where appropriate (Ville)
- Rename pci/debugfs functions to respect file prefix (Jani, Lucas)
- Drop guc_communication_enabled (Daniele)
- Selftest fixes (Thomas, Daniel, Matt A, Maarten)
- Clean up inconsistent indenting (Colin)
- Use direction definition DMA_BIDIRECTIONAL instead of
PCI_DMA_BIDIRECTIONAL (Cai)
- Add "intel_" as prefix in set_mocs_index() (Ayaz)

The following changes since commit 6880fa6c56601bb8ed59df6c30fd390cc5f6dd8f:

Linux 5.15-rc1 (2021-09-12 16:28:37 -0700)

are available in the Git repository at:

git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2021-10-08

for you to fetch changes up to 1a839e016e4964b5c8384e5d82e5e5ac02a23f52:

drm/i915: remove IS_ACTIVE (2021-10-07 11:04:05 -0700)

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

- Add uAPI for using PXP protected objects

Mesa changes: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8064

- Add PCI IDs and LMEM discovery/placement uAPI for DG1

Mesa changes: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11584

- Disable engine bonding on Gen12+ except TGL, RKL and ADL-S

Cross-subsystem Changes:

- Merges 'tip/locking/wwmutex' branch (core kernel tip)
- "mei: pxp: export pavp client to me client bus"

Core Changes:

- Update ttm_move_memcpy for async use (Thomas)

Driver Changes:

- Enable GuC submission by default on DG1 (Matt B)
- Add PXP (Protected Xe Path) support for Gen12 integrated (Daniele,
Sean, Anshuman)
See "drm/i915/pxp: add PXP documentation" for details!
- Remove force_probe protection for ADL-S (Raviteja)
- Add base support for XeHP/XeHP SDV (Matt R, Stuart, Lucas)
- Handle DRI_PRIME=1 on Intel igfx + Intel dgfx hybrid graphics setup (Tvrtko)
- Use Transparent Hugepages when IOMMU is enabled (Tvrtko, Chris)
- Implement LMEM backup and restore for suspend / resume (Thomas)
- Report INSTDONE_GEOM values in error state for DG2 (Matt R)
- Add DG2-specific shadow register table (Matt R)
- Update Gen11/Gen12/XeHP shadow register tables (Matt R)
- Maintain backward-compatible nested batch behavior on TGL+ (Matt R)
- Add new LRI reg offsets for DG2 (Akeem)
- Initialize unused MOCS entries to device specific values (Ayaz)
- Track and use the correct UC MOCS index on Gen12 (Ayaz)
- Add separate MOCS table for Gen12 devices other than TGL/RKL (Ayaz)
- Simplify the locking and eliminate some RCU usage (Daniel)
- Add some flushing for the 64K GTT path (Matt A)
- Mark GPU wedging on driver unregister unrecoverable (Janusz)

- Major rework in the GuC codebase, simplify locking and add docs (Matt B)
- Add DG1 GuC/HuC firmwares (Daniele, Matt B)
- Remember to call i915_sw_fence_fini on guc_state.blocked (Matt A)
- Use "gt" forcewake domain name for error messages instead of "blitter" (Matt R)
- Drop now duplicate LMEM uAPI RFC kerneldoc section (Daniel)
- Fix early tracepoints for requests (Matt A)
- Use locked access to ctx->engines in set_priority (Daniel)
- Convert gen6/gen7/gen8 read operations to fwtable (Matt R)
- Drop gen11/gen12 specific mmio write handlers (Matt R)
- Drop gen11 specific mmio read handlers (Matt R)
- Use designated initializers for init/exit table (Kees)
- Fix syncmap memory leak (Matt B)
- Add pretty printing for buddy allocator state debug (Matt A)
- Fix potential error pointer dereference in pinned_context() (Dan)
- Remove IS_ACTIVE macro (Lucas)
- Static code checker fixes (Nathan)
- Clean up disabled warnings (Nathan)
- Increase timeout in i915_gem_contexts selftests 5x for GuC submission (Matt B)
- Ensure wa_init_finish() is called for ctx workaround list (Matt R)
- Initialize L3CC table in mocs init (Sreedhar, Ayaz, Ram)
- Get PM ref before accessing HW register (Vinay)
- Move __i915_gem_free_object to ttm_bo_destroy (Maarten)
- Deduplicate frequency dump on debugfs (Lucas)
- Make wa list per-gt (Venkata)
- Do not define dummy vma in stack (Venkata)
- Take pinning into account in __i915_gem_object_is_lmem (Matt B, Thomas)
- Do not report currently active engine when describing objects (Tvrtko)
- Fix pdfdocs build error by removing nested grid from GuC docs (Akira)
- Remove false warning from the rps worker (Tejas)
- Flush buffer pools on driver remove (Janusz)
- Fix runtime pm handling in i915_gem_shrink (Maarten)
- Rework TTM object initialization slightly (Thomas)
- Use fixed offset for PTEs location (Michal Wa)
- Verify result from CTB (de)register action and improve error messages (Michal Wa)
- Fix bug in user proto-context creation that leaked contexts (Matt B)

- Re-use Gen11 forcewake read functions on Gen12 (Matt R)
- Make shadow tables range-based (Matt R)
- Ditch the i915_gem_ww_ctx loop member (Thomas, Maarten)
- Use NULL instead of 0 where appropriate (Ville)
- Rename pci/debugfs functions to respect file prefix (Jani, Lucas)
- Drop guc_communication_enabled (Daniele)
- Selftest fixes (Thomas, Daniel, Matt A, Maarten)
- Clean up inconsistent indenting (Colin)
- Use direction definition DMA_BIDIRECTIONAL instead of
PCI_DMA_BIDIRECTIONAL (Cai)
- Add "intel_" as prefix in set_mocs_index() (Ayaz)

----------------------------------------------------------------
Akeem G Abodunrin (1):
drm/i915/dg2: Add new LRI reg offsets

Akira Yokosawa (1):
drm/i915/guc, docs: Fix pdfdocs build error by removing nested grid

Anshuman Gupta (2):
drm/i915/pxp: Add plane decryption support
drm/i915/pxp: black pixels on pxp disabled

Ayaz A Siddiqui (6):
drm/i915/gt: Add support of mocs propagation
drm/i915/gt: Set CMD_CCTL to UC for Gen12 Onward
drm/i915/gt: Set BLIT_CCTL reg to un-cached
drm/i915/gt: Initialize unused MOCS entries with device specific values
drm/i915/gt: Add separate MOCS table for Gen12 devices other than TGL/RKL
drm/i915/gt: Add "intel_" as prefix in set_mocs_index()

Cai Huoqing (1):
drm/i915: Use direction definition DMA_BIDIRECTIONAL instead of PCI_DMA_BIDIRECTIONAL

Colin Ian King (1):
drm/i915: clean up inconsistent indenting

Dan Carpenter (1):
drm/i915/gt: Potential error pointer dereference in pinned_context()

Daniel Vetter (14):
drm/doc/rfc: drop lmem uapi section
drm/i915: Use locked access to ctx->engines in set_priority
drm/i915: Actually delete gpu reloc selftests
drm/i915: Release i915_gem_context from a worker
drm/i915: Release ctx->syncobj on final put, not on ctx close
drm/i915: Keep gem ctx->vm alive until the final put
drm/i915: Drop code to handle set-vm races from execbuf
drm/i915: Rename i915_gem_context_get_vm_rcu to i915_gem_context_get_eb_vm
drm/i915: Use i915_gem_context_get_eb_vm in ctx_getparam
drm/i915: Add i915_gem_context_is_full_ppgtt
drm/i915: Use i915_gem_context_get_eb_vm in intel_context_set_gem
drm/i915: Drop __rcu from gem_context->vm
drm/i915: use xa_lock/unlock for fpriv->vm_xa lookups
drm/i915: Stop rcu support for i915_address_space

Daniele Ceraolo Spurio (12):
drm/i915/guc: drop guc_communication_enabled
drm/i915/guc: put all guc objects in lmem when available
drm/i915/guc: Add DG1 GuC / HuC firmware defs
drm/i915/pxp: Define PXP component interface
drm/i915/pxp: define PXP device flag and kconfig
drm/i915/pxp: allocate a vcs context for pxp usage
drm/i915/pxp: set KCR reg init
drm/i915/pxp: interfaces for using protected objects
drm/i915/pxp: start the arb session on demand
drm/i915/pxp: add pxp debugfs
drm/i915/pxp: add PXP documentation
drm/i915/pxp: enable PXP for integrated Gen12

Huang, Sean Z (5):
drm/i915/pxp: Implement funcs to create the TEE channel
drm/i915/pxp: Create the arbitrary session after boot
drm/i915/pxp: Implement arb session teardown
drm/i915/pxp: Implement PXP irq handler
drm/i915/pxp: Enable PXP power management

Jani Nikula (1):
drm/i915/pci: rename functions to have i915_pci prefix

Janusz Krzysztofik (2):
drm/i915: Mark GPU wedging on driver unregister unrecoverable
drm/i915: Flush buffer pools on driver remove

Joonas Lahtinen (2):
Merge drm/drm-next into drm-intel-gt-next
Merge remote-tracking branch 'tip/locking/wwmutex' into drm-intel-gt-next

Kees Cook (1):
drm/i915: Use designated initializers for init/exit table

Lucas De Marchi (8):
drm/i915/xehpsdv: factor out function to read RP_STATE_CAP
drm/i915/dg1: remove __maybe_unused leftover
drm/i915/xehpsdv: Define MOCS table for XeHP SDV
drm/i915: rename debugfs_gt files
drm/i915: rename debugfs_engines files
drm/i915: rename debugfs_gt_pm files
drm/i915: deduplicate frequency dump on debugfs
drm/i915: remove IS_ACTIVE

Maarten Lankhorst (5):
drm/i915: Add pci ids and uapi for DG1
drm/i915: Add mmap lock around vma_lookup() in the mman selftest.
drm/i915: Move __i915_gem_free_object to ttm_bo_destroy
kernel/locking: Add context to ww_mutex_trylock()
drm/i915: Fix runtime pm handling in i915_gem_shrink

Matt Roper (21):
drm/i915: correct name of GT forcewake domain in error messages
drm/i915: Re-use gen11 forcewake read functions on gen12
drm/i915: Make shadow tables range-based
drm/i915/gen11: Update shadowed register table
drm/i915/gen12: Update shadowed register table
drm/i915/xehp: Xe_HP shadowed registers are a strict superset of gen12
drm/i915/xehp: Loop over all gslices for INSTDONE processing
drm/i915/dg2: Report INSTDONE_GEOM values in error state
drm/i915/xehpsdv: Read correct RP_STATE_CAP register
drm/i915/dg2: Maintain backward-compatible nested batch behavior
drm/i915: Ensure wa_init_finish() is called for ctx workaround list
drm/i915/dg2: Define MOCS table for DG2
drm/i915/xehp: Check new fuse bits for SFC availability
drm/i915: Check SFC fusing before recording/dumping SFC_DONE
drm/i915/uncore: Convert gen6/gen7 read operations to fwtable
drm/i915/uncore: Associate shadow table with uncore
drm/i915/uncore: Replace gen8 write functions with general fwtable
drm/i915/uncore: Drop gen11/gen12 mmio write handlers
drm/i915/uncore: Drop gen11 mmio read handlers
drm/i915/dg2: Add DG2-specific shadow register table
drm/i915/uncore: fwtable read handlers are now used on all forcewake platforms

Matthew Auld (7):
drm/i915/buddy: add some pretty printing
drm/i915/debugfs: hook up ttm_resource_manager_debug
drm/i915/gtt: add some flushing for the 64K GTT path
drm/i915/selftests: fixup igt_shrink_thp
drm/i915/request: fix early tracepoints
drm/i915/selftests: exercise shmem_writeback with THP
drm/i915: remember to call i915_sw_fence_fini

Matthew Brost (29):
drm/i915: Disable bonding on gen12+ platforms
drm/i915: Fix syncmap memory leak
drm/i915/selftests: Increase timeout in i915_gem_contexts selftests
drm/i915/guc: Fix blocked context accounting
drm/i915/guc: Fix outstanding G2H accounting
drm/i915/guc: Unwind context requests in reverse order
drm/i915/guc: Don't drop ce->guc_active.lock when unwinding context
drm/i915/guc: Process all G2H message at once in work queue
drm/i915/guc: Workaround reset G2H is received after schedule done G2H
Revert "drm/i915/gt: Propagate change in error status to children on unhold"
drm/i915/guc: Kick tasklet after queuing a request
drm/i915/guc: Don't enable scheduling on a banned context, guc_id invalid, not registered
drm/i915/guc: Copy whole golden context, set engine state size of subset
drm/i915/selftests: Add initial GuC selftest for scrubbing lost G2H
drm/i915/guc: Take context ref when cancelling request
drm/i915/guc: Don't touch guc_state.sched_state without a lock
drm/i915/guc: Reset LRC descriptor if register returns -ENODEV
drm/i915/guc: Release submit fence from an irq_work
drm/i915/guc: Move guc_blocked fence to struct guc_state
drm/i915/guc: Rework and simplify locking
drm/i915/guc: Proper xarray usage for contexts_lookup
drm/i915/guc: Drop pin count check trick between sched_disable and re-pin
drm/i915/guc: Move GuC priority fields in context under guc_active
drm/i915/guc: Move fields protected by guc->contexts_lock into sub structure
drm/i915/guc: Drop guc_active move everything into guc_state
drm/i915/guc: Add GuC kernel doc
drm/i915/guc: Enable GuC submission by default on DG1
drm/i915: Take pinning into account in __i915_gem_object_is_lmem
drm/i915: Fix bug in user proto-context creation that leaked contexts

Michal Wajdeczko (5):
drm/i915: Use fixed offset for PTEs location
drm/i915/guc: Verify result from CTB (de)register action
drm/i915/guc: Print error name on CTB (de)registration failure
drm/i915/guc: Print error name on CTB send failure
drm/i915/guc: Move and improve error message for missed CTB reply

Nathan Chancellor (5):
drm/i915/selftest: Fix use of err in igt_reset_{fail, nop}_engine()
drm/i915/selftests: Do not use import_obj uninitialized
drm/i915/selftests: Always initialize err in igt_dmabuf_import_same_driver_lmem()
drm/i915: Enable -Wsometimes-uninitialized
drm/i915: Clean up disabled warnings

Sreedhar Telukuntla (1):
drm/i915/gt: Initialize L3CC table in mocs init

Stuart Summers (1):
drm/i915/xehpsdv: Add compute DSS type

Tejas Upadhyay (1):
drm/i915: Remove warning from the rps worker

Thomas Hellström (13):
drm/i915: Ditch the i915_gem_ww_ctx loop member
drm/i915/ttm: Reorganize the ttm move code somewhat
drm/ttm, drm/i915: Update ttm_move_memcpy for async use
drm/i915/gem: Fix the mman selftest
drm/i915/gem: Fix a lockdep warning the __i915_gem_is_lmem() function
drm/i915/ttm: Implement a function to copy the contents of two TTM-based objects
drm/i915/gem: Implement a function to process all gem objects of a region
drm/i915/gt: Increase suspend timeout
drm/i915 Implement LMEM backup and restore for suspend / resume
drm/i915/gt: Register the migrate contexts with their engines
drm/i915: Don't back up pinned LMEM context images and rings during suspend
drm/i915: Reduce the number of objects subject to memcpy recover
drm/i915/ttm: Rework object initialization slightly

Tvrtko Ursulin (3):
drm/i915: Use Transparent Hugepages when IOMMU is enabled
drm/i915/debugfs: Do not report currently active engine when describing objects
drm/i915: Handle Intel igfx + Intel dgfx hybrid graphics setup

Venkata Sandeep Dhanalakota (2):
drm/i915: Make wa list per-gt
drm/i915: Do not define vma on stack

Ville Syrjälä (1):
drm/i915: s/0/NULL/

Vinay Belgaumkar (1):
drm/i915: Get PM ref before accessing HW register

Vitaly Lubart (1):
mei: pxp: export pavp client to me client bus

ravitejax (1):
drm/i915/adl_s: Remove require_force_probe protection

Documentation/gpu/i915.rst | 10 +
drivers/gpu/drm/drm_modeset_lock.c | 2 +-
drivers/gpu/drm/i915/Kconfig | 11 +
drivers/gpu/drm/i915/Makefile | 28 +-
drivers/gpu/drm/i915/display/intel_display.c | 34 +
drivers/gpu/drm/i915/display/intel_display_types.h | 6 +
drivers/gpu/drm/i915/display/skl_universal_plane.c | 49 +-
drivers/gpu/drm/i915/gem/i915_gem_context.c | 298 +++----
drivers/gpu/drm/i915/gem/i915_gem_context.h | 19 +-
drivers/gpu/drm/i915/gem/i915_gem_context_types.h | 42 +-
drivers/gpu/drm/i915/gem/i915_gem_create.c | 75 +-
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 26 +-
drivers/gpu/drm/i915/gem/i915_gem_lmem.c | 33 +-
drivers/gpu/drm/i915/gem/i915_gem_lmem.h | 4 +
drivers/gpu/drm/i915/gem/i915_gem_mman.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_object.c | 44 +-
drivers/gpu/drm/i915/gem/i915_gem_object.h | 28 +-
drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 30 +-
drivers/gpu/drm/i915/gem/i915_gem_pm.c | 91 ++
drivers/gpu/drm/i915/gem/i915_gem_pm.h | 1 +
drivers/gpu/drm/i915/gem/i915_gem_region.c | 70 ++
drivers/gpu/drm/i915/gem/i915_gem_region.h | 37 +
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 7 +-
drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 195 +++--
drivers/gpu/drm/i915/gem/i915_gem_ttm.h | 14 +
drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.c | 206 +++++
drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.h | 26 +
drivers/gpu/drm/i915/gem/i915_gemfs.c | 22 +-
drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 41 +-
.../gpu/drm/i915/gem/selftests/i915_gem_context.c | 36 +-
.../gpu/drm/i915/gem/selftests/i915_gem_dmabuf.c | 7 +-
.../drm/i915/gem/selftests/i915_gem_execbuffer.c | 190 -----
drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 28 +-
drivers/gpu/drm/i915/gem/selftests/mock_context.c | 5 +-
drivers/gpu/drm/i915/gt/debugfs_engines.h | 14 -
drivers/gpu/drm/i915/gt/debugfs_gt_pm.h | 14 -
drivers/gpu/drm/i915/gt/gen6_ppgtt.c | 2 +-
drivers/gpu/drm/i915/gt/gen8_ppgtt.c | 7 +-
drivers/gpu/drm/i915/gt/gen8_ppgtt.h | 4 +-
drivers/gpu/drm/i915/gt/intel_context.c | 20 +-
drivers/gpu/drm/i915/gt/intel_context_types.h | 88 +-
drivers/gpu/drm/i915/gt/intel_engine.h | 6 +-
drivers/gpu/drm/i915/gt/intel_engine_cs.c | 84 +-
drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c | 2 +-
drivers/gpu/drm/i915/gt/intel_engine_pm.c | 23 +
drivers/gpu/drm/i915/gt/intel_engine_pm.h | 2 +
drivers/gpu/drm/i915/gt/intel_engine_types.h | 24 +-
.../gpu/drm/i915/gt/intel_execlists_submission.c | 10 +-
drivers/gpu/drm/i915/gt/intel_ggtt.c | 23 +-
drivers/gpu/drm/i915/gt/intel_gpu_commands.h | 22 +-
drivers/gpu/drm/i915/gt/intel_gt.c | 22 +-
drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.c | 2 -
.../i915/gt/{debugfs_gt.c => intel_gt_debugfs.c} | 18 +-
.../i915/gt/{debugfs_gt.h => intel_gt_debugfs.h} | 14 +-
...ebugfs_engines.c => intel_gt_engines_debugfs.c} | 10 +-
drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.h | 14 +
drivers/gpu/drm/i915/gt/intel_gt_irq.c | 7 +
drivers/gpu/drm/i915/gt/intel_gt_pm.c | 22 +-
.../gt/{debugfs_gt_pm.c => intel_gt_pm_debugfs.c} | 153 ++--
drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.h | 16 +
drivers/gpu/drm/i915/gt/intel_gt_types.h | 12 +
drivers/gpu/drm/i915/gt/intel_gtt.c | 9 +-
drivers/gpu/drm/i915/gt/intel_gtt.h | 11 +-
drivers/gpu/drm/i915/gt/intel_lrc.c | 88 +-
drivers/gpu/drm/i915/gt/intel_migrate.c | 2 +-
drivers/gpu/drm/i915/gt/intel_mocs.c | 176 +++-
drivers/gpu/drm/i915/gt/intel_mocs.h | 1 +
drivers/gpu/drm/i915/gt/intel_ppgtt.c | 13 +-
drivers/gpu/drm/i915/gt/intel_region_lmem.c | 4 +-
drivers/gpu/drm/i915/gt/intel_ring.c | 3 +-
drivers/gpu/drm/i915/gt/intel_ring_submission.c | 5 +-
drivers/gpu/drm/i915/gt/intel_rps.c | 29 +-
drivers/gpu/drm/i915/gt/intel_rps.h | 1 +
drivers/gpu/drm/i915/gt/intel_sseu.c | 65 +-
drivers/gpu/drm/i915/gt/intel_sseu.h | 11 +-
drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c | 10 +-
drivers/gpu/drm/i915/gt/intel_workarounds.c | 262 ++++--
drivers/gpu/drm/i915/gt/intel_workarounds.h | 2 +-
drivers/gpu/drm/i915/gt/mock_engine.c | 2 +
.../gpu/drm/i915/gt/selftest_engine_heartbeat.c | 4 +-
drivers/gpu/drm/i915/gt/selftest_execlists.c | 16 +-
drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 10 +-
drivers/gpu/drm/i915/gt/selftest_workarounds.c | 2 +-
.../drm/i915/gt/uc/abi/guc_communication_ctb_abi.h | 10 +-
.../i915/gt/uc/abi/guc_communication_mmio_abi.h | 10 +-
drivers/gpu/drm/i915/gt/uc/intel_guc.c | 10 +-
drivers/gpu/drm/i915/gt/uc/intel_guc.h | 75 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c | 26 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c | 36 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.c | 18 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c | 13 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c | 8 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 916 +++++++++++++--------
drivers/gpu/drm/i915/gt/uc/intel_huc.c | 14 +-
drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.c | 6 +-
drivers/gpu/drm/i915/gt/uc/intel_uc.c | 13 +-
drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c | 6 +-
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 93 ++-
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h | 9 +
drivers/gpu/drm/i915/gt/uc/selftest_guc.c | 127 +++
drivers/gpu/drm/i915/gvt/gtt.c | 17 +-
drivers/gpu/drm/i915/gvt/kvmgt.c | 4 +-
drivers/gpu/drm/i915/gvt/scheduler.c | 2 +-
drivers/gpu/drm/i915/i915_buddy.c | 45 +
drivers/gpu/drm/i915/i915_buddy.h | 8 +
drivers/gpu/drm/i915/i915_config.c | 2 +-
drivers/gpu/drm/i915/i915_debugfs.c | 242 +-----
drivers/gpu/drm/i915/i915_drv.c | 8 +-
drivers/gpu/drm/i915/i915_drv.h | 13 +-
drivers/gpu/drm/i915/i915_gem.c | 2 -
drivers/gpu/drm/i915/i915_gem_gtt.c | 4 +-
drivers/gpu/drm/i915/i915_gem_ww.h | 25 +-
drivers/gpu/drm/i915/i915_gpu_error.c | 42 +-
drivers/gpu/drm/i915/i915_module.c | 4 +-
drivers/gpu/drm/i915/i915_pci.c | 10 +-
drivers/gpu/drm/i915/i915_pci.h | 12 +-
drivers/gpu/drm/i915/i915_query.c | 3 -
drivers/gpu/drm/i915/i915_reg.h | 84 +-
drivers/gpu/drm/i915/i915_request.c | 25 +-
drivers/gpu/drm/i915/i915_request.h | 26 +-
drivers/gpu/drm/i915/i915_trace.h | 14 +-
drivers/gpu/drm/i915/i915_ttm_buddy_manager.c | 20 +-
drivers/gpu/drm/i915/i915_utils.h | 13 -
drivers/gpu/drm/i915/intel_device_info.h | 1 +
drivers/gpu/drm/i915/intel_memory_region.c | 12 +
drivers/gpu/drm/i915/intel_memory_region.h | 4 +
drivers/gpu/drm/i915/intel_uncore.c | 375 ++++-----
drivers/gpu/drm/i915/intel_uncore.h | 13 +
drivers/gpu/drm/i915/pxp/intel_pxp.c | 299 +++++++
drivers/gpu/drm/i915/pxp/intel_pxp.h | 64 ++
drivers/gpu/drm/i915/pxp/intel_pxp_cmd.c | 141 ++++
drivers/gpu/drm/i915/pxp/intel_pxp_cmd.h | 15 +
drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c | 78 ++
drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.h | 21 +
drivers/gpu/drm/i915/pxp/intel_pxp_irq.c | 101 +++
drivers/gpu/drm/i915/pxp/intel_pxp_irq.h | 32 +
drivers/gpu/drm/i915/pxp/intel_pxp_pm.c | 46 ++
drivers/gpu/drm/i915/pxp/intel_pxp_pm.h | 24 +
drivers/gpu/drm/i915/pxp/intel_pxp_session.c | 175 ++++
drivers/gpu/drm/i915/pxp/intel_pxp_session.h | 15 +
drivers/gpu/drm/i915/pxp/intel_pxp_tee.c | 172 ++++
drivers/gpu/drm/i915/pxp/intel_pxp_tee.h | 17 +
drivers/gpu/drm/i915/pxp/intel_pxp_tee_interface.h | 36 +
drivers/gpu/drm/i915/pxp/intel_pxp_types.h | 83 ++
drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 8 +-
.../gpu/drm/i915/selftests/i915_live_selftests.h | 1 +
drivers/gpu/drm/i915/selftests/i915_vma.c | 4 +-
.../drm/i915/selftests/intel_scheduler_helpers.c | 12 +
.../drm/i915/selftests/intel_scheduler_helpers.h | 2 +
drivers/gpu/drm/i915/selftests/intel_uncore.c | 34 +-
drivers/gpu/drm/ttm/ttm_bo_util.c | 19 +-
drivers/misc/mei/Kconfig | 2 +
drivers/misc/mei/Makefile | 1 +
drivers/misc/mei/pxp/Kconfig | 13 +
drivers/misc/mei/pxp/Makefile | 7 +
drivers/misc/mei/pxp/mei_pxp.c | 229 ++++++
drivers/misc/mei/pxp/mei_pxp.h | 18 +
drivers/regulator/core.c | 2 +-
include/drm/i915_component.h | 1 +
include/drm/i915_pxp_tee_interface.h | 42 +
include/drm/ttm/ttm_bo_driver.h | 2 +-
include/linux/dma-resv.h | 2 +-
include/linux/ww_mutex.h | 15 +-
include/uapi/drm/i915_drm.h | 97 +++
kernel/locking/mutex.c | 41 +
kernel/locking/test-ww_mutex.c | 86 +-
kernel/locking/ww_rt_mutex.c | 25 +
lib/locking-selftest.c | 2 +-
168 files changed, 5515 insertions(+), 1967 deletions(-)
create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.c
create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.h
delete mode 100644 drivers/gpu/drm/i915/gem/selftests/i915_gem_execbuffer.c
delete mode 100644 drivers/gpu/drm/i915/gt/debugfs_engines.h
delete mode 100644 drivers/gpu/drm/i915/gt/debugfs_gt_pm.h
rename drivers/gpu/drm/i915/gt/{debugfs_gt.c => intel_gt_debugfs.c} (67%)
rename drivers/gpu/drm/i915/gt/{debugfs_gt.h => intel_gt_debugfs.h} (71%)
rename drivers/gpu/drm/i915/gt/{debugfs_engines.c => intel_gt_engines_debugfs.c} (70%)
create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.h
rename drivers/gpu/drm/i915/gt/{debugfs_gt_pm.c => intel_gt_pm_debugfs.c} (83%)
create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.h
create mode 100644 drivers/gpu/drm/i915/gt/uc/selftest_guc.c
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp.c
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp.h
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_cmd.c
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_cmd.h
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.h
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_irq.c
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_irq.h
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_pm.c
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_pm.h
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_session.c
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_session.h
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_tee.c
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_tee.h
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_tee_interface.h
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_types.h
create mode 100644 drivers/misc/mei/pxp/Kconfig
create mode 100644 drivers/misc/mei/pxp/Makefile
create mode 100644 drivers/misc/mei/pxp/mei_pxp.c
create mode 100644 drivers/misc/mei/pxp/mei_pxp.h
create mode 100644 include/drm/i915_pxp_tee_interface.h