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