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

Joonas Lahtinen
2021-08-06T10:11:08Z

Quoting Joonas Lahtinen (2021-08-06 13:06:17)
> Hi Dave & Daniel,
>
> Sorry for the big PR in advance. Had the summer vacations and did not
> notice until tool late how many patches were in already before leaving.
>
> As requested, there is a lot of refactoring to increase the use of TTM
> allocator and prep for DRM scheduler. Note that at times the patches trade
> simplicity for performance and revert optimizations not seen as critical.
> So some performance regressions are expected.
>
> As an example is dropping of faster GPU relocation path for older platforms,
> which should be mitigated by updating to the latest UMD versions to regain
> the perf.
>
> This PR drops various bits of uAPI where userspace has dropped the ball after reviews
> have been completed on both sides (Thanks Jason for doing the due-diligence!). [1]
> Due to the complexity of tracing back who used what, I think we could do better in the
> future to avoid such situations to begin with. See below for my suggestion [2].
>
> In addition to the refactoring and uAPI cleanup there is preliminay code for
> ADL-P/XeHP and DG2 platforms. Fixes for ADL-S and removal of CNL code.
> A couple of fixes that have been Cc: stable already. Removing unnecessary
> workarounds per stepping and adding missing for Gen12 iGFX.
>
> I915_MMAP_OFFSET_FIXED is also added to to align with the static/fixed caching
> mode per BO instead of per-mapping mode (for dGFX only). There is GuC firmware
> interface update and backend code major rework that unblock enabling GuC on Gen11
> (not on by default). Then there is the addition of the GuCRC power management
> feature which can be enabled for Gen12+ when submission is enabled.

There is also addition of I915_USERPTR_PROBE with userspace changes in:

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12044

Regards, Joonas

>
> Then there is finally the drm-next backmerge and 3 topic branch merges.
>
> I think that is mostly all. I tried to summarize much in the tag description so
> it should hopefully not be horribly long...
>
> Regards, Joonas
>
> [1] Given that Jason is only human and there is no way to automate this analysis, we
> may have to bring something back as fixes if we find breakage (like with the MMAP IOCTL).
>
> [2] As we first require to merge the kernel code, should we introduce some further rules
> that the userspace has to land their code before the final kernel version release? If
> that is not followed through, we would neuter the new uAPI with as small patch as possible
> in the final release candidate and then remove it in next release. Thoughts?
>
> ***
>
> drm-intel-gt-next-2021-08-06-1:
>
> UAPI Changes:
>
> - Add I915_MMAP_OFFSET_FIXED
>
> On devices with local memory `I915_MMAP_OFFSET_FIXED` is the only valid
> type. On devices without local memory, this caching mode is invalid.
>
> As caching mode when specifying `I915_MMAP_OFFSET_FIXED`, WC or WB will
> be used, depending on the object placement on creation. WB will be used
> when the object can only exist in system memory, WC otherwise.
>
> Userspace: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11888
>
> - Reinstate the mmap ioctl for (already released) integrated Gen12 platforms
>
> Rationale: Otherwise media driver breaks eg. for ADL-P. Long term goal is
> still to sunset the IOCTL even for integrated and require using mmap_offset.
>
> - Reject caching/set_domain IOCTLs on discrete
>
> Expected to become immutable property of the BO
>
> - Disallow changing context parameters after first use on Gen12 and earlier
> - Require setting context parameters at creation on platforms after Gen12
>
> Rationale (for both): Allow less dynamic changes to the context to simplify
> the implementation and avoid user shooting theirselves in the foot.
>
> - Drop I915_CONTEXT_PARAM_RINGSIZE
>
> Userspace PR for compute-driver has not been merged
>
> - Drop I915_CONTEXT_PARAM_NO_ZEROMAP
>
> Userspace PR for libdrm / Beignet was never landed
>
> - Drop CONTEXT_CLONE API
>
> Userspace PR for Mesa was never landed
>
> - Drop getparam support for I915_CONTEXT_PARAM_ENGINES
>
> Only existed for symmetry wrt. setparam, never used.
>
> - Disallow bonding of virtual engines
>
> Drop the prep work, no hardware has been released needing it.
>
> - (Implicit) Disable gpu relocations
>
> Media userspace was the last userspace to still use them. They
> have converted so performance can be regained with an update.
>
> Core Changes:
>
> - Merge topic branch 'topic/i915-ttm-2021-06-11' (from Maarten)
> - Merge topic branch 'topic/revid_steppings' (from Matt R)
> - Merge topic branch 'topic/xehp-dg2-definitions-2021-07-21' (from Matt R)
> - Backmerges drm-next (Rodrigo)
>
> Driver Changes:
>
> - Initial workarounds for ADL-P (Clint)
> - Preliminary code for XeHP/DG2 (Stuart, Umesh, Matt R, Prathap, Ram,
> Venkata, Akeem, Tvrtko, John, Lucas)
> - Fix ADL-S DMA mask size to 39 bits (Tejas)
> - Remove code for CNL (Lucas)
> - Add ADL-P GuC/HuC firmwares (John)
> - Update HuC to 7.9.3 for TGL/ADL-S/RKL (John)
> - Fix -EDEADLK handling regression (Ville)
> - Implement Wa_1508744258 for DG1 and Gen12 iGFX (Jose)
> - Extend Wa_1406941453 to ADL-S (Jose)
> - Drop unnecessary workarounds per stepping for SKL/BXT/ICL (Matt R)
> - Use fuse info to enable SFC on Gen12 (Venkata)
> - Unconditionally flush the pages on acquire on EHL/JSL (Matt A)
> - Probe existence of backing struct pages upon userptr creation (Chris, Matt A)
>
> - Add an intermediate GEM proto-context to delay real context creation (Jason)
> - Implement SINGLE_TIMELINE with a syncobj (Jason)
> - Set the watchdog timeout directly in intel_context_set_gem (Jason)
> - Disallow userspace from creating contexts with too many engines (Jason)
> - Revert "drm/i915/gem: Asynchronous cmdparser" (Jason)
> - Revert "drm/i915: Propagate errors on awaiting already signaled fences" (Jason)
> - Revert "drm/i915: Skip over MI_NOOP when parsing" (Jason)
> - Revert "drm/i915: Shrink the GEM kmem_caches upon idling" (Daniel)
> - Always let TTM handle object migration (Jason)
> - Correct the locking and pin pattern for dma-buf (Thomas H, Michael R, Jason)
> - Migrate to system at dma-buf attach time (Thomas, Michael R)
>
> - MAJOR refactoring of the GuC backend code to allow for enabling on Gen11+
> (Matt B, John, Michal Wa., Fernando, Daniele, Vinay)
> - Update GuC firmware interface to v62.0.0 (John, Michal Wa., Matt B)
> - Add GuCRC feature to hand over the control of HW RC6 to the GuC on
> Gen12+ when GuC submission is enabled (Vinay, Sujaritha, Daniele,
> John, Tvrtko)
> - Use the correct IRQ during resume and eliminate DRM IRQ midlayer (Thomas Z)
> - Add pipelined page migration and clearing (Chris, Thomas H)
> - Use TTM for system memory on discrete (Thomas H)
> - Implement object migration for display vs. dma-buf (Thomas H)
> - Perform execbuffer object locking as a separate step (Thomas H)
> - Add support for explicit L3BANK steering (Matt, Daniele)
> - Remove duplicated call to ops->pread (Daniel)
> - Fix pagefault disabling in the first execbuf slowpath (Daniel)
> - Simplify userptr locking (Thomas H)
> - Improvements to the GuC CTB code (Matt B, John)
> - Make GT workaround upper bounds exclusive (Matt R)
> - Check for nomodeset in i915_init() first (Daniel)
> - Delete now unused gpu reloc code (Daniel)
>
> - Document RFC plans for GuC submission, DRM scheduler and new parallel
> submit uAPI (Matt B)
> - Reintroduce buddy allocator this time with TTM (Matt A)
> - Support forcing page size with LMEM (Matt A)
> - Add i915_sched_engine to abstract a submission queue between backends (Matt B)
> - Use accelerated move in TTM (Ram)
> - Fix memory leaks from TTM backend (Thomas H)
> - Introduce WW transaction helper (Thomas H)
> - Improve debug Kconfig texts a bit (Daniel)
> - Unify user object creation code (Jason)
> - Use a table for i915_init/exit (Jason)
> - Move slabs to module init/exit (Daniel)
> - Remove now unused i915_globals (Daniel)
> - Extract i915_module.c (Daniel)
>
> - Consistently use adl-p/adl-s in WA comments (Jose)
> - Finish INTEL_GEN and friends conversion (Lucas)
> - Correct variable/function namings (Lucas)
> - Code checker fixes (Wan, Matt A)
> - Tracepoint improvements (Matt B)
> - Kerneldoc improvements (Tvrtko, Jason, Matt A, Maarten)
> - Selftest improvements (Chris, Matt A, Tejas, Thomas H, John, Matt B,
> Rahul, Vinay)
> The following changes since commit e73f0f0ee7541171d89f2e2491130c7771ba58d3:
>
> Linux 5.14-rc1 (2021-07-11 15:07:40 -0700)
>
> are available in the Git repository at:
>
> git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2021-08-06-1
>
> for you to fetch changes up to 927dfdd09d8c03ba100ed0c8c3915f8e1d1f5556:
>
> drm/i915/dg2: Add SQIDI steering (2021-08-05 08:07:25 -0700)
>
> ----------------------------------------------------------------
> UAPI Changes:
>
> - Add I915_MMAP_OFFSET_FIXED
>
> On devices with local memory `I915_MMAP_OFFSET_FIXED` is the only valid
> type. On devices without local memory, this caching mode is invalid.
>
> As caching mode when specifying `I915_MMAP_OFFSET_FIXED`, WC or WB will
> be used, depending on the object placement on creation. WB will be used
> when the object can only exist in system memory, WC otherwise.
>
> Userspace: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11888
>
> - Reinstate the mmap ioctl for (already released) integrated Gen12 platforms
>
> Rationale: Otherwise media driver breaks eg. for ADL-P. Long term goal is
> still to sunset the IOCTL even for integrated and require using mmap_offset.
>
> - Reject caching/set_domain IOCTLs on discrete
>
> Expected to become immutable property of the BO
>
> - Disallow changing context parameters after first use on Gen12 and earlier
> - Require setting context parameters at creation on platforms after Gen12
>
> Rationale (for both): Allow less dynamic changes to the context to simplify
> the implementation and avoid user shooting theirselves in the foot.
>
> - Drop I915_CONTEXT_PARAM_RINGSIZE
>
> Userspace PR for compute-driver has not been merged
>
> - Drop I915_CONTEXT_PARAM_NO_ZEROMAP
>
> Userspace PR for libdrm / Beignet was never landed
>
> - Drop CONTEXT_CLONE API
>
> Userspace PR for Mesa was never landed
>
> - Drop getparam support for I915_CONTEXT_PARAM_ENGINES
>
> Only existed for symmetry wrt. setparam, never used.
>
> - Disallow bonding of virtual engines
>
> Drop the prep work, no hardware has been released needing it.
>
> - (Implicit) Disable gpu relocations
>
> Media userspace was the last userspace to still use them. They
> have converted so performance can be regained with an update.
>
> Core Changes:
>
> - Merge topic branch 'topic/i915-ttm-2021-06-11' (from Maarten)
> - Merge topic branch 'topic/revid_steppings' (from Matt R)
> - Merge topic branch 'topic/xehp-dg2-definitions-2021-07-21' (from Matt R)
> - Backmerges drm-next (Rodrigo)
>
> Driver Changes:
>
> - Initial workarounds for ADL-P (Clint)
> - Preliminary code for XeHP/DG2 (Stuart, Umesh, Matt R, Prathap, Ram,
> Venkata, Akeem, Tvrtko, John, Lucas)
> - Fix ADL-S DMA mask size to 39 bits (Tejas)
> - Remove code for CNL (Lucas)
> - Add ADL-P GuC/HuC firmwares (John)
> - Update HuC to 7.9.3 for TGL/ADL-S/RKL (John)
> - Fix -EDEADLK handling regression (Ville)
> - Implement Wa_1508744258 for DG1 and Gen12 iGFX (Jose)
> - Extend Wa_1406941453 to ADL-S (Jose)
> - Drop unnecessary workarounds per stepping for SKL/BXT/ICL (Matt R)
> - Use fuse info to enable SFC on Gen12 (Venkata)
> - Unconditionally flush the pages on acquire on EHL/JSL (Matt A)
> - Probe existence of backing struct pages upon userptr creation (Chris, Matt A)
>
> - Add an intermediate GEM proto-context to delay real context creation (Jason)
> - Implement SINGLE_TIMELINE with a syncobj (Jason)
> - Set the watchdog timeout directly in intel_context_set_gem (Jason)
> - Disallow userspace from creating contexts with too many engines (Jason)
> - Revert "drm/i915/gem: Asynchronous cmdparser" (Jason)
> - Revert "drm/i915: Propagate errors on awaiting already signaled fences" (Jason)
> - Revert "drm/i915: Skip over MI_NOOP when parsing" (Jason)
> - Revert "drm/i915: Shrink the GEM kmem_caches upon idling" (Daniel)
> - Always let TTM handle object migration (Jason)
> - Correct the locking and pin pattern for dma-buf (Thomas H, Michael R, Jason)
> - Migrate to system at dma-buf attach time (Thomas, Michael R)
>
> - MAJOR refactoring of the GuC backend code to allow for enabling on Gen11+
> (Matt B, John, Michal Wa., Fernando, Daniele, Vinay)
> - Update GuC firmware interface to v62.0.0 (John, Michal Wa., Matt B)
> - Add GuCRC feature to hand over the control of HW RC6 to the GuC on
> Gen12+ when GuC submission is enabled (Vinay, Sujaritha, Daniele,
> John, Tvrtko)
> - Use the correct IRQ during resume and eliminate DRM IRQ midlayer (Thomas Z)
> - Add pipelined page migration and clearing (Chris, Thomas H)
> - Use TTM for system memory on discrete (Thomas H)
> - Implement object migration for display vs. dma-buf (Thomas H)
> - Perform execbuffer object locking as a separate step (Thomas H)
> - Add support for explicit L3BANK steering (Matt, Daniele)
> - Remove duplicated call to ops->pread (Daniel)
> - Fix pagefault disabling in the first execbuf slowpath (Daniel)
> - Simplify userptr locking (Thomas H)
> - Improvements to the GuC CTB code (Matt B, John)
> - Make GT workaround upper bounds exclusive (Matt R)
> - Check for nomodeset in i915_init() first (Daniel)
> - Delete now unused gpu reloc code (Daniel)
>
> - Document RFC plans for GuC submission, DRM scheduler and new parallel
> submit uAPI (Matt B)
> - Reintroduce buddy allocator this time with TTM (Matt A)
> - Support forcing page size with LMEM (Matt A)
> - Add i915_sched_engine to abstract a submission queue between backends (Matt B)
> - Use accelerated move in TTM (Ram)
> - Fix memory leaks from TTM backend (Thomas H)
> - Introduce WW transaction helper (Thomas H)
> - Improve debug Kconfig texts a bit (Daniel)
> - Unify user object creation code (Jason)
> - Use a table for i915_init/exit (Jason)
> - Move slabs to module init/exit (Daniel)
> - Remove now unused i915_globals (Daniel)
> - Extract i915_module.c (Daniel)
>
> - Consistently use adl-p/adl-s in WA comments (Jose)
> - Finish INTEL_GEN and friends conversion (Lucas)
> - Correct variable/function namings (Lucas)
> - Code checker fixes (Wan, Matt A)
> - Tracepoint improvements (Matt B)
> - Kerneldoc improvements (Tvrtko, Jason, Matt A, Maarten)
> - Selftest improvements (Chris, Matt A, Tejas, Thomas H, John, Matt B,
> Rahul, Vinay)
>
> ----------------------------------------------------------------
> Anusha Srivatsa (1):
> drm/i915/step: s/<platform>_revid_tbl/<platform>_revids
>
> Chris Wilson (8):
> drm/i915/selftests: Reorder tasklet_disable vs local_bh_disable
> drm/i915/gt: Add an insert_entry for gen8_ppgtt
> drm/i915/gt: Add a routine to iterate over the pagetables of a GTT
> drm/i915/gt: Export the pinned context constructor and destructor
> drm/i915/gt: Pipelined page migration
> drm/i915/gt: Pipelined clear
> drm/i915/gt: Setup a default migration context on the GT
> drm/i915/userptr: Probe existence of backing struct pages upon creation
>
> Clint Taylor (1):
> drm/i915/adl_p: Add initial ADL_P Workarounds
>
> Daniel Vetter (17):
> drm/i915/gem: Remove duplicated call to ops->pread
> drm/i915/eb: Fix pagefault disabling in the first slowpath
> drm/i915: Improve debug Kconfig texts a bit
> drm/i915: Ditch i915 globals shrink infrastructure
> drm/i915: Check for nomodeset in i915_init() first
> drm/i915: move i915_active slab to direct module init/exit
> drm/i915: move i915_buddy slab to direct module init/exit
> drm/i915: move intel_context slab to direct module init/exit
> drm/i915: move gem_context slab to direct module init/exit
> drm/i915: move gem_objects slab to direct module init/exit
> drm/i915: move request slabs to direct module init/exit
> drm/i915: move scheduler slabs to direct module init/exit
> drm/i915: move vma slab to direct module init/exit
> drm/i915: Remove i915_globals
> drm/i915: Extract i915_module.c
> drm/i915: Disable gpu relocations
> drm/i915: delete gpu reloc code
>
> Daniele Ceraolo Spurio (3):
> drm/i915: extract steered reg access to common function
> drm/i915/guc: Unblock GuC submission on Gen11+
> drm/i915/xehp: handle new steering options
>
> Jason Ekstrand (46):
> drm/i915: Drop I915_CONTEXT_PARAM_RINGSIZE
> drm/i915: Stop storing the ring size in the ring pointer (v3)
> drm/i915: Drop I915_CONTEXT_PARAM_NO_ZEROMAP
> drm/i915/gem: Set the watchdog timeout directly in intel_context_set_gem (v2)
> drm/i915/gem: Return void from context_apply_all
> drm/i915: Drop the CONTEXT_CLONE API (v2)
> drm/i915: Implement SINGLE_TIMELINE with a syncobj (v4)
> drm/i915: Drop getparam support for I915_CONTEXT_PARAM_ENGINES
> drm/i915/gem: Disallow bonding of virtual engines (v3)
> drm/i915/gem: Remove engine auto-magic with FENCE_SUBMIT (v2)
> drm/i915/request: Remove the hook from await_execution
> drm/i915/gem: Disallow creating contexts with too many engines
> drm/i915: Stop manually RCU banging in reset_stats_ioctl (v2)
> drm/i915/gem: Add a separate validate_priority helper
> drm/i915: Add gem/i915_gem_context.h to the docs
> drm/i915/gem: Add an intermediate proto_context struct (v5)
> drm/i915/gem: Rework error handling in default_engines
> drm/i915/gem: Optionally set SSEU in intel_context_set_gem
> drm/i915: Add an i915_gem_vm_lookup helper
> drm/i915/gem: Make an alignment check more sensible
> drm/i915/gem: Use the proto-context to handle create parameters (v5)
> drm/i915/gem: Return an error ptr from context_lookup
> drm/i915/gt: Drop i915_address_space::file (v2)
> drm/i915/gem: Delay context creation (v3)
> drm/i915/gem: Don't allow changing the VM on running contexts (v4)
> drm/i915/gem: Don't allow changing the engine set on running contexts (v3)
> drm/i915/selftests: Take a VM in kernel_context()
> i915/gem/selftests: Assign the VM at context creation in igt_shared_ctx_exec
> drm/i915/gem: Roll all of context creation together
> drm/i915: Finalize contexts in GEM_CONTEXT_CREATE on version 13+
> drm/i915: Revert "drm/i915/gem: Asynchronous cmdparser"
> Revert "drm/i915: Propagate errors on awaiting already signaled fences"
> drm/i915: Remove allow_alloc from i915_gem_object_get_sg*
> drm/i915: Drop error handling from dma_fence_work
> Revert "drm/i915: Skip over MI_NOOP when parsing"
> drm/i915: Correct the docs for intel_engine_cmd_parser
> drm/i915: Call i915_globals_exit() after i915_pmu_exit()
> drm/i915: Call i915_globals_exit() if pci_register_device() fails
> drm/i915: Use a table for i915_init/exit (v2)
> drm/i915: Make the kmem slab for i915_buddy_block a global
> drm/i915/gem: Check object_can_migrate from object_migrate
> drm/i915/gem: Refactor placement setup for i915_gem_object_create* (v2)
> drm/i915/gem: Call i915_gem_flush_free_objects() in i915_gem_dumb_create()
> drm/i915/gem: Unify user object creation (v3)
> drm/i915/gem/ttm: Only call __i915_gem_object_set_pages if needed
> drm/i915/gem: Always call obj->ops->migrate unless can_migrate fails
>
> John Harrison (19):
> drm/i915/huc: Update TGL and friends to HuC 7.9.3
> drm/i915/adlp: Add ADL-P GuC/HuC firmware files
> drm/i915/guc: Module load failure test for CT buffer creation
> drm/i915/selftests: Allow for larger engine counts
> drm/i915/xehp: Extra media engines - Part 1 (engine definitions)
> drm/i915/xehp: Extra media engines - Part 2 (interrupts)
> drm/i915/xehp: Extra media engines - Part 3 (reset)
> drm/i915/guc: Make hangcheck work with GuC virtual engines
> drm/i915/guc: Provide mmio list to be saved/restored on engine reset
> drm/i915/guc: Don't complain about reset races
> drm/i915/guc: Enable GuC engine reset
> drm/i915/guc: Fix for error capture after full GPU reset with GuC
> drm/i915/guc: Hook GuC scheduling policies up
> drm/i915/guc: Connect reset modparam updates to GuC policy flags
> drm/i915/guc: Include scheduling policies in the debugfs state dump
> drm/i915/guc: Add golden context to GuC ADS
> drm/i915/selftest: Better error reporting from hangcheck selftest
> drm/i915/selftest: Fix hangcheck self test for GuC submission
> drm/i915/selftest: Bump selftest timeouts for hangcheck
>
> Joonas Lahtinen (1):
> Merge tag 'topic/i915-ttm-2021-06-11' of git://anongit.freedesktop.org/drm/drm-misc into drm-intel-gt-next
>
> José Roberto de Souza (4):
> drm/i915: Settle on "adl-x" in WA comments
> drm/i915: Implement Wa_1508744258
> drm/i915/adl_s: Extend Wa_1406941453
> drm/i915: Extend Wa_1406941453 to adl-p
>
> Lucas De Marchi (14):
> drm/i915/gt: finish INTEL_GEN and friends conversion
> drm/i915: do not abbreviate version in debugfs
> drm/i915: Add release id version
> drm/i915: Add XE_HP initial definitions
> drm/i915/xehpsdv: add initial XeHP SDV definitions
> drm/i915/gt: fix platform prefix
> drm/i915/gt: nuke unused legacy engine hw_id
> drm/i915/gt: rename legacy engine->hw_id to engine->gen6_hw_id
> drm/i915/gt: nuke gen6_hw_id
> drm/i915/gt: remove explicit CNL handling from intel_mocs.c
> drm/i915/gt: remove explicit CNL handling from intel_sseu.c
> drm/i915/gt: rename CNL references in intel_engine.h
> drm/i915/gt: remove GRAPHICS_VER == 10
> drm/i915/xehp: Fix missing sentinel on mcr_ranges_xehp
>
> Maarten Lankhorst (2):
> drm/i915: Fix missing docbook chapters for i915 uapi.
> drm/i915: Add TTM offset argument to mmap.
>
> Matt Roper (29):
> drm/i915: Add GT support for multiple types of multicast steering
> drm/i915: Add support for explicit L3BANK steering
> drm/i915: Make pre-production detection use direct revid comparison
> drm/i915/skl: Use revid->stepping tables
> drm/i915/kbl: Drop pre-production revision from stepping table
> drm/i915/bxt: Use revid->stepping tables
> drm/i915/glk: Use revid->stepping tables
> drm/i915/icl: Use revid->stepping tables
> drm/i915/jsl_ehl: Use revid->stepping tables
> drm/i915/rkl: Use revid->stepping tables
> drm/i915/dg1: Use revid->stepping tables
> drm/i915/cnl: Drop all workarounds
> drm/i915/icl: Drop workarounds that only apply to pre-production steppings
> Merge branch 'topic/revid_steppings' into drm-intel-gt-next
> drm/i915: Fix application of WaInPlaceDecompressionHang
> drm/i915/icl: Drop a couple unnecessary workarounds
> drm/i915: Program DFR enable/disable as a GT workaround
> drm/i915: Make GT workaround upper bounds exclusive
> drm/i915/dg2: add DG2 platform info
> Merge branch 'topic/xehp-dg2-definitions-2021-07-21' into drm-intel-gt-next
> drm/i915/xehp: Define multicast register ranges
> drm/i915/xehp: Xe_HP forcewake support
> drm/i915/xehpsdv: Correct parameters for IS_XEHPSDV_GT_STEP()
> drm/i915/dg2: Add forcewake table
> drm/i915/xehpsdv: Add maximum sseu limits
> drm/i915/dg2: DG2 uses the same sseu limits as XeHP SDV
> drm/i915/xehpsdv: Define steering tables
> drm/i915/dg2: Update steering tables
> drm/i915/dg2: Add SQIDI steering
>
> Matthew Auld (25):
> drm/i915/ttm: add ttm_buddy_man
> drm/i915/ttm: add i915_sg_from_buddy_resource
> drm/i915/ttm: pass along the I915_BO_ALLOC_CONTIGUOUS
> drm/i915/ttm: remove node usage in our naming
> drm/i915/ttm: switch over to ttm_buddy_man
> drm/i915/ttm: restore min_page_size behaviour
> drm/i915/ttm: remove unused function
> drm/i915/selftests: add back the selftest() hook for the buddy
> drm/i915/ttm: fix static warning
> drm/i915/gem: Introduce a selftest for the gem object migrate functionality
> drm/i915: support forcing the page size with lmem
> drm/i915/gtt: ignore min_page_size for paging structures
> drm/i915/selftests: fix smatch warning in igt_check_blocks
> drm/i915/selftests: fix smatch warning in mock_reserve
> drm/i915: use consistent CPU mappings for pin_map users
> drm/i915/uapi: convert drm_i915_gem_caching to kernel doc
> drm/i915/uapi: convert drm_i915_gem_set_domain to kernel doc
> drm/i915/gtt: drop the page table optimisation
> drm/i915/uapi: reject caching ioctls for discrete
> drm/i915/uapi: convert drm_i915_gem_userptr to kernel doc
> drm/i915/uapi: reject set_domain for discrete
> drm/i915: document caching related bits
> drm/i915/ehl: unconditionally flush the pages on acquire
> drm/i915/selftests: prefer the create_user helper
> drm/i915/xehp: Changes to ss/eu definitions
>
> Matthew Brost (52):
> drm/i915: Move priolist to new i915_sched_engine object
> drm/i915: Add i915_sched_engine_is_empty function
> drm/i915: Reset sched_engine.no_priolist immediately after dequeue
> drm/i915: Move active tracking to i915_sched_engine
> drm/i915: Move engine->schedule to i915_sched_engine
> drm/i915: Add kick_backend function to i915_sched_engine
> drm/i915: Update i915_scheduler to operate on i915_sched_engine
> drm/i915: Move submission tasklet to i915_sched_engine
> drm/doc/rfc: i915 GuC submission / DRM scheduler
> drm/doc/rfc: i915 new parallel submission uAPI plan
> drm/i915/guc: Relax CTB response timeout
> drm/i915/guc: Improve error message for unsolicited CT response
> drm/i915/guc: Increase size of CTB buffers
> drm/i915/guc: Add non blocking CTB send function
> drm/i915/guc: Add stall timer to non blocking CTB send function
> drm/i915/guc: Optimize CTB writes and reads
> drm/i915/guc: Add new GuC interface defines and structures
> drm/i915/guc: Remove GuC stage descriptor, add LRC descriptor
> drm/i915/guc: Add LRC descriptor context lookup array
> drm/i915/guc: Implement GuC submission tasklet
> drm/i915/guc: Add bypass tasklet submission path to GuC
> drm/i915/guc: Implement GuC context operations for new inteface
> drm/i915/guc: Insert fence on context when deregistering
> drm/i915/guc: Defer context unpin until scheduling is disabled
> drm/i915/guc: Disable engine barriers with GuC during unpin
> drm/i915/guc: Extend deregistration fence to schedule disable
> drm/i915: Disable preempt busywait when using GuC scheduling
> drm/i915/guc: Ensure request ordering via completion fences
> drm/i915/guc: Disable semaphores when using GuC scheduling
> drm/i915/guc: Ensure G2H response has space in buffer
> drm/i915/guc: Update intel_gt_wait_for_idle to work with GuC
> drm/i915/guc: Update GuC debugfs to support new GuC
> drm/i915/guc: Add trace point for GuC submit
> drm/i915: Add intel_context tracing
> drm/i915/guc: GuC virtual engines
> drm/i915: Hold reference to intel_context over life of i915_request
> drm/i915/guc: Disable bonding extension with GuC submission
> drm/i915/guc: Direct all breadcrumbs for a class to single breadcrumbs
> drm/i915: Add i915_sched_engine destroy vfunc
> drm/i915: Move active request tracking to a vfunc
> drm/i915/guc: Reset implementation for new GuC interface
> drm/i915: Reset GPU immediately if submission is disabled
> drm/i915/guc: Add disable interrupts to guc sanitize
> drm/i915/guc: Suspend/resume implementation for new interface
> drm/i915/guc: Handle context reset notification
> drm/i915/guc: Handle engine reset failure notification
> drm/i915/guc: Enable the timer expired interrupt for GuC
> drm/i915/guc: Capture error state on context reset
> drm/i915/guc: Implement banned contexts for GuC submission
> drm/i915/guc: Support request cancellation
> drm/i915/selftest: Increase some timeouts in live_requests
> drm/i915/guc: Implement GuC priority management
>
> Michal Wajdeczko (3):
> drm/i915/guc: Introduce unified HXG messages
> drm/i915/guc: Update firmware to v62.0.0
> drm/i915/doc: Include GuC ABI documentation
>
> Prathap Kumar Valsan (1):
> drm/i915/xehp: New engine context offsets
>
> Rahul Kumar Singh (2):
> drm/i915/selftest: Fix workarounds selftest for GuC submission
> drm/i915/selftest: Fix MOCS selftest for GuC submission
>
> Ramalingam C (1):
> drm/i915/ttm: accelerated move implementation
>
> Rodrigo Vivi (1):
> Merge drm/drm-next into drm-intel-gt-next
>
> Stuart Summers (1):
> drm/i915/xehp: Handle new device context ID format
>
> Tejas Upadhyay (2):
> drm/i915/selftest: Extend ctx_timestamp ICL workaround to GEN11
> drm/i915/adl_s: Fix dma_mask_size to 39 bit
>
> Thomas Hellström (18):
> drm/i915: Simplify userptr locking
> drm/i915/ttm: Fix memory leaks
> drm/i915/ttm: Calculate the object placement at get_pages time
> drm/i915: Reference objects on the ww object list
> drm/i915: Break out dma_resv ww locking utilities to separate files
> drm/i915: Introduce a ww transaction helper
> drm/i915/gem: Zap the client blt code
> drm/i915/gem: Zap the i915_gem_object_blt code
> drm/i915: Perform execbuffer object locking as a separate step
> drm/i915/ttm: Fix incorrect assumptions about ttm_bo_validate() semantics
> drm/i915: Update object placement flags to be mutable
> drm/i915/ttm: Adjust gem flags and caching settings after a move
> drm/i915/ttm: Use TTM for system memory
> drm/i915: Reinstate the mmap ioctl for some platforms
> drm/i915/gem: Implement object migration
> drm/i915/display: Migrate objects to LMEM if possible for display
> drm/i915/gem: Correct the locking and pin pattern for dma-buf (v8)
> drm/i915/gem: Migrate to system at dma-buf attach time (v7)
>
> Thomas Zimmermann (2):
> drm/i915: Use the correct IRQ during resume
> drm/i915: Drop all references to DRM IRQ midlayer
>
> Tvrtko Ursulin (3):
> drm/i915: Fix busy ioctl commentary
> drm/i915: Document the Virtual Engine uAPI
> drm/i915/xehp: VDBOX/VEBOX fusing registers are enable-based
>
> Venkata Sandeep Dhanalakota (1):
> drm/i915/gen12: Use fuse info to enable SFC
>
> Ville Syrjälä (1):
> drm/i915/gt: Fix -EDEADLK handling regression
>
> Vinay Belgaumkar (14):
> drm/i915/guc/slpc: Initial definitions for SLPC
> drm/i915/guc/slpc: Gate Host RPS when SLPC is enabled
> drm/i915/guc/slpc: Adding SLPC communication interfaces
> drm/i915/guc/slpc: Allocate, initialize and release SLPC
> drm/i915/guc/slpc: Enable SLPC and add related H2G events
> drm/i915/guc/slpc: Remove BUG_ON in guc_submission_disable
> drm/i915/guc/slpc: Add methods to set min/max frequency
> drm/i915/guc/slpc: Add get max/min freq hooks
> drm/i915/guc/slpc: Add debugfs for SLPC info
> drm/i915/guc/slpc: Enable ARAT timer interrupt
> drm/i915/guc/slpc: Cache platform frequency limits
> drm/i915/guc/slpc: Sysfs hooks for SLPC
> drm/i915/guc/slpc: Add SLPC selftest
> drm/i915/guc/rc: Setup and enable GuCRC feature
>
> Wan Jiabing (1):
> drm/i915: Remove duplicate include of intel_region_lmem.h
>
> Documentation/gpu/i915.rst | 15 +
> Documentation/gpu/rfc/i915_parallel_execbuf.h | 122 +
> Documentation/gpu/rfc/i915_scheduler.rst | 148 +
> Documentation/gpu/rfc/index.rst | 4 +
> drivers/gpu/drm/drm_gem.c | 9 -
> drivers/gpu/drm/i915/Kconfig.debug | 6 +
> drivers/gpu/drm/i915/Makefile | 14 +-
> drivers/gpu/drm/i915/display/intel_display.c | 5 +-
> drivers/gpu/drm/i915/display/intel_display_power.c | 2 +-
> drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 6 +-
> drivers/gpu/drm/i915/display/intel_psr.c | 4 +-
> drivers/gpu/drm/i915/gem/i915_gem_clflush.c | 4 +-
> drivers/gpu/drm/i915/gem/i915_gem_client_blt.c | 355 ---
> drivers/gpu/drm/i915/gem/i915_gem_client_blt.h | 21 -
> drivers/gpu/drm/i915/gem/i915_gem_context.c | 2920 +++++++++-----------
> drivers/gpu/drm/i915/gem/i915_gem_context.h | 6 +
> drivers/gpu/drm/i915/gem/i915_gem_context_types.h | 196 +-
> drivers/gpu/drm/i915/gem/i915_gem_create.c | 188 +-
> drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 58 +-
> drivers/gpu/drm/i915/gem/i915_gem_domain.c | 11 +-
> drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 699 +----
> drivers/gpu/drm/i915/gem/i915_gem_internal.c | 4 +-
> drivers/gpu/drm/i915/gem/i915_gem_lmem.c | 160 +-
> drivers/gpu/drm/i915/gem/i915_gem_lmem.h | 12 +-
> drivers/gpu/drm/i915/gem/i915_gem_mman.c | 107 +-
> drivers/gpu/drm/i915/gem/i915_gem_object.c | 350 ++-
> drivers/gpu/drm/i915/gem/i915_gem_object.h | 69 +-
> drivers/gpu/drm/i915/gem/i915_gem_object_blt.c | 461 ---
> drivers/gpu/drm/i915/gem/i915_gem_object_blt.h | 39 -
> drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 255 +-
> drivers/gpu/drm/i915/gem/i915_gem_pages.c | 54 +-
> drivers/gpu/drm/i915/gem/i915_gem_phys.c | 2 +-
> drivers/gpu/drm/i915/gem/i915_gem_region.c | 23 +-
> drivers/gpu/drm/i915/gem/i915_gem_region.h | 1 +
> drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 30 +-
> drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 3 +-
> drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 965 +++++++
> drivers/gpu/drm/i915/gem/i915_gem_ttm.h | 49 +
> drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 117 +-
> drivers/gpu/drm/i915/gem/i915_gem_wait.c | 23 +-
> .../gpu/drm/i915/gem/selftests/huge_gem_object.c | 4 +-
> drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 8 +-
> .../drm/i915/gem/selftests/i915_gem_client_blt.c | 114 +-
> .../gpu/drm/i915/gem/selftests/i915_gem_context.c | 127 +-
> .../gpu/drm/i915/gem/selftests/i915_gem_dmabuf.c | 190 +-
> .../drm/i915/gem/selftests/i915_gem_execbuffer.c | 4 +
> .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c | 243 ++
> drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 164 +-
> .../drm/i915/gem/selftests/i915_gem_object_blt.c | 597 ----
> drivers/gpu/drm/i915/gem/selftests/i915_gem_phys.c | 3 +-
> drivers/gpu/drm/i915/gem/selftests/mock_context.c | 67 +-
> drivers/gpu/drm/i915/gem/selftests/mock_context.h | 4 +-
> drivers/gpu/drm/i915/gt/debugfs_gt_pm.c | 10 +-
> drivers/gpu/drm/i915/gt/gen8_engine_cs.c | 17 +-
> drivers/gpu/drm/i915/gt/gen8_ppgtt.c | 73 +-
> drivers/gpu/drm/i915/gt/intel_breadcrumbs.c | 44 +-
> drivers/gpu/drm/i915/gt/intel_breadcrumbs.h | 16 +-
> drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h | 7 +
> drivers/gpu/drm/i915/gt/intel_context.c | 88 +-
> drivers/gpu/drm/i915/gt/intel_context.h | 56 +-
> drivers/gpu/drm/i915/gt/intel_context_param.c | 63 -
> drivers/gpu/drm/i915/gt/intel_context_param.h | 6 +-
> drivers/gpu/drm/i915/gt/intel_context_types.h | 64 +-
> drivers/gpu/drm/i915/gt/intel_engine.h | 87 +-
> drivers/gpu/drm/i915/gt/intel_engine_cs.c | 420 +--
> drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c | 74 +-
> drivers/gpu/drm/i915/gt/intel_engine_heartbeat.h | 4 +
> drivers/gpu/drm/i915/gt/intel_engine_pm.c | 4 +-
> drivers/gpu/drm/i915/gt/intel_engine_types.h | 93 +-
> drivers/gpu/drm/i915/gt/intel_engine_user.c | 6 +-
> .../gpu/drm/i915/gt/intel_execlists_submission.c | 604 ++--
> .../gpu/drm/i915/gt/intel_execlists_submission.h | 12 +-
> drivers/gpu/drm/i915/gt/intel_ggtt.c | 6 +-
> drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c | 2 +-
> drivers/gpu/drm/i915/gt/intel_gpu_commands.h | 2 +
> drivers/gpu/drm/i915/gt/intel_gt.c | 197 +-
> drivers/gpu/drm/i915/gt/intel_gt.h | 10 +
> drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c | 10 +-
> drivers/gpu/drm/i915/gt/intel_gt_irq.c | 13 +-
> drivers/gpu/drm/i915/gt/intel_gt_pm.c | 11 +-
> drivers/gpu/drm/i915/gt/intel_gt_requests.c | 21 +-
> drivers/gpu/drm/i915/gt/intel_gt_requests.h | 9 +-
> drivers/gpu/drm/i915/gt/intel_gt_types.h | 37 +
> drivers/gpu/drm/i915/gt/intel_gtt.c | 20 +-
> drivers/gpu/drm/i915/gt/intel_gtt.h | 18 +-
> drivers/gpu/drm/i915/gt/intel_lrc.c | 117 +-
> drivers/gpu/drm/i915/gt/intel_lrc_reg.h | 3 +-
> drivers/gpu/drm/i915/gt/intel_migrate.c | 688 +++++
> drivers/gpu/drm/i915/gt/intel_migrate.h | 65 +
> drivers/gpu/drm/i915/gt/intel_migrate_types.h | 15 +
> drivers/gpu/drm/i915/gt/intel_mocs.c | 2 +-
> drivers/gpu/drm/i915/gt/intel_rc6.c | 49 +-
> drivers/gpu/drm/i915/gt/intel_region_lmem.c | 7 +-
> drivers/gpu/drm/i915/gt/intel_renderstate.h | 1 +
> drivers/gpu/drm/i915/gt/intel_reset.c | 56 +-
> drivers/gpu/drm/i915/gt/intel_ring.h | 1 +
> drivers/gpu/drm/i915/gt/intel_ring_submission.c | 70 +-
> drivers/gpu/drm/i915/gt/intel_rps.c | 209 +-
> drivers/gpu/drm/i915/gt/intel_rps.h | 10 +
> drivers/gpu/drm/i915/gt/intel_sseu.c | 126 +-
> drivers/gpu/drm/i915/gt/intel_sseu.h | 10 +-
> drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c | 8 +-
> drivers/gpu/drm/i915/gt/intel_workarounds.c | 498 ++--
> drivers/gpu/drm/i915/gt/intel_workarounds_types.h | 1 +
> drivers/gpu/drm/i915/gt/mock_engine.c | 51 +-
> drivers/gpu/drm/i915/gt/selftest_context.c | 10 +
> .../gpu/drm/i915/gt/selftest_engine_heartbeat.c | 22 +
> .../gpu/drm/i915/gt/selftest_engine_heartbeat.h | 2 +
> drivers/gpu/drm/i915/gt/selftest_engine_pm.c | 4 +-
> drivers/gpu/drm/i915/gt/selftest_execlists.c | 307 +-
> drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 330 ++-
> drivers/gpu/drm/i915/gt/selftest_lrc.c | 6 +-
> drivers/gpu/drm/i915/gt/selftest_migrate.c | 669 +++++
> drivers/gpu/drm/i915/gt/selftest_mocs.c | 52 +-
> drivers/gpu/drm/i915/gt/selftest_reset.c | 2 +-
> drivers/gpu/drm/i915/gt/selftest_slpc.c | 311 +++
> drivers/gpu/drm/i915/gt/selftest_timeline.c | 2 +-
> drivers/gpu/drm/i915/gt/selftest_workarounds.c | 162 +-
> drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h | 129 +-
> .../gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h | 235 ++
> .../drm/i915/gt/uc/abi/guc_communication_ctb_abi.h | 127 +-
> .../i915/gt/uc/abi/guc_communication_mmio_abi.h | 65 +-
> drivers/gpu/drm/i915/gt/uc/abi/guc_messages_abi.h | 213 ++
> drivers/gpu/drm/i915/gt/uc/intel_guc.c | 206 +-
> drivers/gpu/drm/i915/gt/uc/intel_guc.h | 119 +-
> drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c | 487 +++-
> drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h | 4 +
> drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c | 703 +++--
> drivers/gpu/drm/i915/gt/uc/intel_guc_ct.h | 36 +-
> drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.c | 47 +-
> drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h | 167 +-
> drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 29 +-
> drivers/gpu/drm/i915/gt/uc/intel_guc_log.h | 6 +-
> drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c | 80 +
> drivers/gpu/drm/i915/gt/uc/intel_guc_rc.h | 31 +
> drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c | 626 +++++
> drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h | 42 +
> drivers/gpu/drm/i915/gt/uc/intel_guc_slpc_types.h | 29 +
> drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 2895 +++++++++++++++++--
> drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h | 18 +-
> drivers/gpu/drm/i915/gt/uc/intel_uc.c | 126 +-
> drivers/gpu/drm/i915/gt/uc/intel_uc.h | 15 +
> drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 27 +-
> drivers/gpu/drm/i915/gvt/scheduler.c | 7 +-
> drivers/gpu/drm/i915/i915_active.c | 37 +-
> drivers/gpu/drm/i915/i915_active.h | 3 +
> drivers/gpu/drm/i915/i915_buddy.c | 421 +++
> drivers/gpu/drm/i915/i915_buddy.h | 135 +
> drivers/gpu/drm/i915/i915_cmd_parser.c | 203 +-
> drivers/gpu/drm/i915/i915_debugfs_params.c | 32 +
> drivers/gpu/drm/i915/i915_drv.c | 9 +-
> drivers/gpu/drm/i915/i915_drv.h | 228 +-
> drivers/gpu/drm/i915/i915_gem.c | 63 +-
> drivers/gpu/drm/i915/i915_gem.h | 12 -
> drivers/gpu/drm/i915/i915_gem_evict.c | 1 +
> drivers/gpu/drm/i915/i915_gem_ww.c | 63 +
> drivers/gpu/drm/i915/i915_gem_ww.h | 50 +
> drivers/gpu/drm/i915/i915_getparam.c | 7 +-
> drivers/gpu/drm/i915/i915_globals.c | 160 --
> drivers/gpu/drm/i915/i915_globals.h | 37 -
> drivers/gpu/drm/i915/i915_gpu_error.c | 27 +-
> drivers/gpu/drm/i915/i915_module.c | 113 +
> drivers/gpu/drm/i915/i915_pci.c | 129 +-
> drivers/gpu/drm/i915/i915_pci.h | 8 +
> drivers/gpu/drm/i915/i915_perf.c | 36 +-
> drivers/gpu/drm/i915/i915_perf.h | 2 +-
> drivers/gpu/drm/i915/i915_pmu.c | 6 +-
> drivers/gpu/drm/i915/i915_pmu.h | 4 +-
> drivers/gpu/drm/i915/i915_reg.h | 48 +-
> drivers/gpu/drm/i915/i915_request.c | 307 +-
> drivers/gpu/drm/i915/i915_request.h | 38 +-
> drivers/gpu/drm/i915/i915_scatterlist.c | 80 +
> drivers/gpu/drm/i915/i915_scatterlist.h | 5 +
> drivers/gpu/drm/i915/i915_scheduler.c | 220 +-
> drivers/gpu/drm/i915/i915_scheduler.h | 54 +-
> drivers/gpu/drm/i915/i915_scheduler_types.h | 111 +
> drivers/gpu/drm/i915/i915_sw_fence_work.c | 5 +-
> drivers/gpu/drm/i915/i915_sw_fence_work.h | 2 +-
> drivers/gpu/drm/i915/i915_sysfs.c | 83 +-
> drivers/gpu/drm/i915/i915_trace.h | 201 +-
> drivers/gpu/drm/i915/i915_ttm_buddy_manager.c | 258 ++
> drivers/gpu/drm/i915/i915_ttm_buddy_manager.h | 56 +
> drivers/gpu/drm/i915/i915_vma.c | 34 +-
> drivers/gpu/drm/i915/i915_vma.h | 3 +
> drivers/gpu/drm/i915/intel_device_info.c | 16 +-
> drivers/gpu/drm/i915/intel_device_info.h | 12 +-
> drivers/gpu/drm/i915/intel_memory_region.c | 63 +-
> drivers/gpu/drm/i915/intel_memory_region.h | 30 +-
> drivers/gpu/drm/i915/intel_pm.c | 22 +-
> drivers/gpu/drm/i915/intel_region_ttm.c | 150 +-
> drivers/gpu/drm/i915/intel_region_ttm.h | 23 +-
> drivers/gpu/drm/i915/intel_step.c | 134 +-
> drivers/gpu/drm/i915/intel_step.h | 5 +
> drivers/gpu/drm/i915/intel_uncore.c | 422 ++-
> drivers/gpu/drm/i915/intel_uncore.h | 20 +-
> drivers/gpu/drm/i915/selftests/i915_buddy.c | 787 ++++++
> .../gpu/drm/i915/selftests/i915_live_selftests.h | 5 +-
> .../gpu/drm/i915/selftests/i915_mock_selftests.h | 2 +-
> .../gpu/drm/i915/selftests/i915_perf_selftests.h | 2 +-
> drivers/gpu/drm/i915/selftests/i915_request.c | 4 +-
> drivers/gpu/drm/i915/selftests/i915_selftest.c | 4 +-
> drivers/gpu/drm/i915/selftests/igt_flush_test.c | 2 +-
> drivers/gpu/drm/i915/selftests/igt_live_test.c | 2 +-
> drivers/gpu/drm/i915/selftests/igt_mmap.c | 25 +-
> drivers/gpu/drm/i915/selftests/igt_mmap.h | 12 +-
> .../gpu/drm/i915/selftests/intel_memory_region.c | 257 +-
> .../drm/i915/selftests/intel_scheduler_helpers.c | 88 +
> .../drm/i915/selftests/intel_scheduler_helpers.h | 33 +
> drivers/gpu/drm/i915/selftests/intel_uncore.c | 2 +
> drivers/gpu/drm/i915/selftests/mock_gem_device.c | 3 +-
> drivers/gpu/drm/i915/selftests/mock_gtt.c | 1 -
> drivers/gpu/drm/i915/selftests/mock_region.c | 29 +-
> include/drm/drm_vma_manager.h | 2 +-
> include/uapi/drm/i915_drm.h | 498 +++-
> 214 files changed, 18965 insertions(+), 8462 deletions(-)
> create mode 100644 Documentation/gpu/rfc/i915_parallel_execbuf.h
> create mode 100644 Documentation/gpu/rfc/i915_scheduler.rst
> delete mode 100644 drivers/gpu/drm/i915/gem/i915_gem_client_blt.c
> delete mode 100644 drivers/gpu/drm/i915/gem/i915_gem_client_blt.h
> delete mode 100644 drivers/gpu/drm/i915/gem/i915_gem_object_blt.c
> delete mode 100644 drivers/gpu/drm/i915/gem/i915_gem_object_blt.h
> create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_ttm.c
> create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_ttm.h
> create mode 100644 drivers/gpu/drm/i915/gem/selftests/i915_gem_migrate.c
> delete mode 100644 drivers/gpu/drm/i915/gem/selftests/i915_gem_object_blt.c
> delete mode 100644 drivers/gpu/drm/i915/gt/intel_context_param.c
> create mode 100644 drivers/gpu/drm/i915/gt/intel_migrate.c
> create mode 100644 drivers/gpu/drm/i915/gt/intel_migrate.h
> create mode 100644 drivers/gpu/drm/i915/gt/intel_migrate_types.h
> create mode 100644 drivers/gpu/drm/i915/gt/selftest_migrate.c
> create mode 100644 drivers/gpu/drm/i915/gt/selftest_slpc.c
> create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h
> create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c
> create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_rc.h
> create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c
> create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h
> create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc_types.h
> create mode 100644 drivers/gpu/drm/i915/i915_buddy.c
> create mode 100644 drivers/gpu/drm/i915/i915_buddy.h
> create mode 100644 drivers/gpu/drm/i915/i915_gem_ww.c
> create mode 100644 drivers/gpu/drm/i915/i915_gem_ww.h
> delete mode 100644 drivers/gpu/drm/i915/i915_globals.c
> delete mode 100644 drivers/gpu/drm/i915/i915_globals.h
> create mode 100644 drivers/gpu/drm/i915/i915_module.c
> create mode 100644 drivers/gpu/drm/i915/i915_pci.h
> create mode 100644 drivers/gpu/drm/i915/i915_ttm_buddy_manager.c
> create mode 100644 drivers/gpu/drm/i915/i915_ttm_buddy_manager.h
> create mode 100644 drivers/gpu/drm/i915/selftests/i915_buddy.c
> create mode 100644 drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.c
> create mode 100644 drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.h