Message ID | Yg4i2aCZvvee5Eai@jlahtine-mobl.ger.corp.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [PULL] drm-intel-gt-next | expand |
On Thu, 17 Feb 2022 at 20:26, Joonas Lahtinen <joonas.lahtinen@linux.intel.com> wrote: > > Hi Dave & Daniel, > > Here is the first drm-intel-gt-next feature PR towards v5.18. Am I missing some previous drm-intel pull? /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_workarounds.c: In function ‘rcs_engine_wa_init’: /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_workarounds.c:2051:40: error: ‘XEHP_DIS_BBL_SYSPIPE’ undeclared (first use in this function) 2051 | wa_masked_en(wal, GEN9_ROW_CHICKEN4, XEHP_DIS_BBL_SYSPIPE); | ^~~~~~~~~~~~~~~~~~~~ /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_workarounds.c:2051:40: note: each undeclared identifier is reported only once for each function it appears in Dave. > > For DG2 adds subplatform G12, missing workarounds and fixes GuC > loading on ARM64. C0/D0 stepping info added for RPL-S. > > For uAPI enables support for simple parallel submission with > execlists which was previously enabled only for GuC. > > Further fixes for PMU metrics when GuC is enabled, better error > reporting for GuC loading failures. Fix for PXP unbind splat. > Updates to GuC version 69.0.3 with improvements to GT reset > scenarios. > > The rest is mostly refactoring of the memory management code, > as highlights introduction of async unbinding/migration and > removal of short-term pinning in execbuf. > > Then a few selftest and coding style fixes. > > Regards, Joonas > > *** > > drm-intel-gt-next-2022-02-17: > > UAPI Changes: > > - Weak parallel submission support for execlists > > Minimal implementation of the parallel submission support for > execlists backend that was previously only implemented for GuC. > Support one sibling non-virtual engine. > > Core Changes: > > - Two backmerges of drm/drm-next for header file renames/changes and > i915_regs reorganization > > Driver Changes: > > - Add new DG2 subplatform: DG2-G12 (Matt R) > - Add new DG2 workarounds (Matt R, Ram, Bruce) > - Handle pre-programmed WOPCM registers for DG2+ (Daniele) > - Update guc shim control programming on XeHP SDV+ (Daniele) > - Add RPL-S C0/D0 stepping information (Anusha) > - Improve GuC ADS initialization to work on ARM64 on dGFX (Lucas) > > - Fix KMD and GuC race on accessing PMU busyness (Umesh) > - Use PM timestamp instead of RING TIMESTAMP for reference in PMU with GuC (Umesh) > - Report error on invalid reset notification from GuC (John) > - Avoid WARN splat by holding RPM wakelock during PXP unbind (Juston) > - Fixes to parallel submission implementation (Matt B.) > - Improve GuC loading status check/error reports (John) > - Tweak TTM LRU priority hint selection (Matt A.) > - Align the plane_vma to min_page_size of stolen mem (Ram) > > - Introduce vma resources and implement async unbinding (Thomas) > - Use struct vma_resource instead of struct vma_snapshot (Thomas) > - Return some TTM accel move errors instead of trying memcpy move (Thomas) > - Fix a race between vma / object destruction and unbinding (Thomas) > - Remove short-term pins from execbuf (Maarten) > - Update to GuC version 69.0.3 (John, Michal Wa.) > - Improvements to GT reset paths in GuC backend (Matt B.) > - Use shrinker_release_pages instead of writeback in shmem object hooks (Matt A., Tvrtko) > - Use trylock instead of blocking lock when freeing GEM objects (Maarten) > - Allocate intel_engine_coredump_alloc with ALLOW_FAIL (Matt B.) > - Fixes to object unmapping and purging (Matt A) > - Check for wedged device in GuC backend (John) > - Avoid lockdep splat by locking dpt_obj around set_cache_level (Maarten) > - Allow dead vm to unbind vma's without lock (Maarten) > - s/engine->i915/i915/ for DG2 engine workarounds (Matt R) > > - Use to_gt() helper for GGTT accesses (Michal Wi.) > - Selftest improvements (Matt B., Thomas, Ram) > - Coding style and compiler warning fixes (Matt B., Jasmine, Andi, Colin, Gustavo, Dan) > > The following changes since commit 53dbee4926d3706ca9e03f3928fa85b5ec3bc0cc: > > Merge tag 'drm-misc-next-2022-01-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2022-02-01 19:02:41 +1000) > > are available in the Git repository at: > > git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-02-17 > > for you to fetch changes up to 154cfae6158141b18d65abb0db679bb51a8294e7: > > drm/i915/dg2: Add Wa_22011100796 (2022-02-11 17:11:44 +0530) > > ---------------------------------------------------------------- > UAPI Changes: > > - Weak parallel submission support for execlists > > Minimal implementation of the parallel submission support for > execlists backend that was previously only implemented for GuC. > Support one sibling non-virtual engine. > > Core Changes: > > - Two backmerges of drm/drm-next for header file renames/changes and > i915_regs reorganization > > Driver Changes: > > - Add new DG2 subplatform: DG2-G12 (Matt R) > - Add new DG2 workarounds (Matt R, Ram, Bruce) > - Handle pre-programmed WOPCM registers for DG2+ (Daniele) > - Update guc shim control programming on XeHP SDV+ (Daniele) > - Add RPL-S C0/D0 stepping information (Anusha) > - Improve GuC ADS initialization to work on ARM64 on dGFX (Lucas) > > - Fix KMD and GuC race on accessing PMU busyness (Umesh) > - Use PM timestamp instead of RING TIMESTAMP for reference in PMU with GuC (Umesh) > - Report error on invalid reset notification from GuC (John) > - Avoid WARN splat by holding RPM wakelock during PXP unbind (Juston) > - Fixes to parallel submission implementation (Matt B.) > - Improve GuC loading status check/error reports (John) > - Tweak TTM LRU priority hint selection (Matt A.) > - Align the plane_vma to min_page_size of stolen mem (Ram) > > - Introduce vma resources and implement async unbinding (Thomas) > - Use struct vma_resource instead of struct vma_snapshot (Thomas) > - Return some TTM accel move errors instead of trying memcpy move (Thomas) > - Fix a race between vma / object destruction and unbinding (Thomas) > - Remove short-term pins from execbuf (Maarten) > - Update to GuC version 69.0.3 (John, Michal Wa.) > - Improvements to GT reset paths in GuC backend (Matt B.) > - Use shrinker_release_pages instead of writeback in shmem object hooks (Matt A., Tvrtko) > - Use trylock instead of blocking lock when freeing GEM objects (Maarten) > - Allocate intel_engine_coredump_alloc with ALLOW_FAIL (Matt B.) > - Fixes to object unmapping and purging (Matt A) > - Check for wedged device in GuC backend (John) > - Avoid lockdep splat by locking dpt_obj around set_cache_level (Maarten) > - Allow dead vm to unbind vma's without lock (Maarten) > - s/engine->i915/i915/ for DG2 engine workarounds (Matt R) > > - Use to_gt() helper for GGTT accesses (Michal Wi.) > - Selftest improvements (Matt B., Thomas, Ram) > - Coding style and compiler warning fixes (Matt B., Jasmine, Andi, Colin, Gustavo, Dan) > > ---------------------------------------------------------------- > Andi Shyti (2): > drm/i915: Remove unused i915->ggtt > drm/i915: fix header file inclusion for might_alloc() > > Anusha Srivatsa (1): > drm/i915/rpl-s: Add stepping info > > Bruce Chang (1): > drm/i915/dg2: Add Wa_22011100796 > > Colin Ian King (1): > i915: make array flex_regs static const > > Dan Carpenter (1): > drm/i915: delete shadow "ret" variable > > Daniele Ceraolo Spurio (2): > drm/i915/wopcm: Handle pre-programmed WOPCM registers > drm/i915/guc: Update guc shim control programming on newer platforms > > Gustavo A. R. Silva (1): > drm/i915/guc: Use struct_size() helper in kmalloc() > > Jasmine Newsome (1): > drm/i915/gem: Use local pointer ttm for __i915_ttm_move > > John Harrison (5): > drm/i915/guc: Report error on invalid reset notification > drm/i915/guc: Check for wedged before doing stuff > drm/i915/guc: Temporarily bump the GuC load timeout > drm/i915/guc: Update to GuC version 69.0.3 > drm/i915/guc: Improve GuC loading status check/error reports > > Joonas Lahtinen (1): > Merge drm/drm-next into drm-intel-gt-next > > Juston Li (1): > drm/i915/pxp: Hold RPM wakelock during PXP unbind > > Lucas De Marchi (2): > drm/i915/guc: Prepare for error propagation > drm/i915/guc: Use a single pass to calculate regset > > Maarten Lankhorst (8): > drm/i915: Call i915_gem_evict_vm in vm_fault_gtt to prevent new ENOSPC errors, v2. > drm/i915: Add locking to i915_gem_evict_vm(), v3. > drm/i915: Add object locking to i915_gem_evict_for_node and i915_gem_evict_something, v2. > drm/i915: Add i915_vma_unbind_unlocked, and take obj lock for i915_vma_unbind, v2. > drm/i915: Remove support for unlocked i915_vma unbind > drm/i915: Remove short-term pins from execbuf, v6. > drm/i915: Lock dpt_obj around set_cache_level, v2. > drm/i915: Allow dead vm to unbind vma's without lock. > > Matt Roper (4): > drm/i915/dg2: Add Wa_18018781329 > drm/i915/dg2: Add Wa_14015227452 > drm/i915/dg2: s/engine->i915/i915/ for engine workarounds > drm/i915: Introduce G12 subplatform of DG2 > > Matthew Auld (7): > drm/i915: remove writeback hook > drm/i915: clean up shrinker_release_pages > drm/i915: don't call free_mmap_offset when purging > drm/i915/ttm: only fault WILLNEED objects > drm/i915/ttm: add unmap_virtual callback > drm/i915/ttm: ensure we unmap when purging > drm/i915/ttm: tweak priority hint selection > > Matthew Brost (11): > drm/i915/execlists: Weak parallel submission support for execlists > drm/i915: Fix possible uninitialized variable in parallel extension > drm/i915: Increment composite fence seqno > drm/i915/selftests: Add a cancel request selftest that triggers a reset > drm/i915/guc: Remove hacks for reset and schedule disable G2H being received out of order > drm/i915: Allocate intel_engine_coredump_alloc with ALLOW_FAIL > drm/i915/guc: Add work queue to trigger a GT reset > drm/i915/guc: Flush G2H handler during a GT reset > drm/i915: Lock timeline mutex directly in error path of eb_pin_timeline > drm/i915/guc: Ensure multi-lrc fini breadcrumb math is correct > drm/i915/selftests: Use less in contexts steal guc id test > > Michał Winiarski (5): > drm/i915/gt: Use to_gt() helper for GGTT accesses > drm/i915: Use to_gt() helper for GGTT accesses > drm/i915/gem: Use to_gt() helper for GGTT accesses > drm/i915/display: Use to_gt() helper for GGTT accesses > drm/i915/selftests: Use to_gt() helper for GGTT accesses > > Ramalingam C (3): > drm/i915/dg2: Add Wa_22011450934 > drm/i915: align the plane_vma to min_page_size of stolen mem > drm/i915: More gt idling time with guc submission > > Thomas Hellström (9): > drm/i915: Initial introduction of vma resources > drm/i915: Use the vma resource as argument for gtt binding / unbinding > drm/i915: Don't pin the object pages during pending vma binds > drm/i915: Use vma resources for async unbinding > drm/i915: Asynchronous migration selftest > drm/i915: Use struct vma_resource instead of struct vma_snapshot > drm/i915: Fix vma resource freeing > drm/i915: Fix a race between vma / object destruction and unbinding > drm/i915/ttm: Return some errors instead of trying memcpy move > > Tvrtko Ursulin (1): > Merge drm/drm-next into drm-intel-gt-next > > Umesh Nerlige Ramappa (2): > drm/i915/pmu: Use PM timestamp instead of RING TIMESTAMP for reference > drm/i915/pmu: Fix KMD and GuC race on accessing busyness > > Documentation/gpu/i915.rst | 1 + > drivers/gpu/drm/i915/Makefile | 2 +- > drivers/gpu/drm/i915/display/intel_dpt.c | 33 +- > drivers/gpu/drm/i915/display/intel_fb_pin.c | 8 +- > drivers/gpu/drm/i915/display/intel_fbc.c | 2 +- > drivers/gpu/drm/i915/display/intel_fbdev.c | 2 +- > drivers/gpu/drm/i915/display/intel_plane_initial.c | 7 +- > drivers/gpu/drm/i915/gem/i915_gem_context.c | 11 +- > drivers/gpu/drm/i915/gem/i915_gem_context.h | 2 +- > drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 248 ++++++------ > drivers/gpu/drm/i915/gem/i915_gem_mman.c | 36 +- > drivers/gpu/drm/i915/gem/i915_gem_object.c | 18 + > drivers/gpu/drm/i915/gem/i915_gem_object.h | 4 +- > drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 51 ++- > drivers/gpu/drm/i915/gem/i915_gem_pages.c | 10 - > drivers/gpu/drm/i915/gem/i915_gem_pm.c | 2 +- > drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 17 +- > drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 30 +- > drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 8 +- > drivers/gpu/drm/i915/gem/i915_gem_tiling.c | 15 +- > drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 16 +- > drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c | 27 +- > drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 39 +- > .../drm/i915/gem/selftests/i915_gem_client_blt.c | 4 +- > .../gpu/drm/i915/gem/selftests/i915_gem_context.c | 2 +- > .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c | 192 +++++++++- > drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 25 +- > .../gpu/drm/i915/gem/selftests/i915_gem_object.c | 2 +- > drivers/gpu/drm/i915/gt/gen6_ppgtt.c | 19 +- > drivers/gpu/drm/i915/gt/gen8_ppgtt.c | 37 +- > drivers/gpu/drm/i915/gt/intel_context.c | 4 +- > drivers/gpu/drm/i915/gt/intel_engine_cs.c | 9 +- > .../gpu/drm/i915/gt/intel_execlists_submission.c | 38 ++ > drivers/gpu/drm/i915/gt/intel_ggtt.c | 133 ++++--- > drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c | 7 +- > drivers/gpu/drm/i915/gt/intel_gt.c | 7 +- > drivers/gpu/drm/i915/gt/intel_gt.h | 2 +- > drivers/gpu/drm/i915/gt/intel_gtt.c | 4 + > drivers/gpu/drm/i915/gt/intel_gtt.h | 19 +- > drivers/gpu/drm/i915/gt/intel_lrc.c | 32 ++ > drivers/gpu/drm/i915/gt/intel_ppgtt.c | 22 +- > drivers/gpu/drm/i915/gt/intel_region_lmem.c | 4 +- > drivers/gpu/drm/i915/gt/intel_reset.c | 9 + > drivers/gpu/drm/i915/gt/intel_workarounds.c | 39 +- > drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 2 +- > drivers/gpu/drm/i915/gt/selftest_reset.c | 2 +- > drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h | 80 ++-- > drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h | 23 ++ > drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h | 82 ++++ > drivers/gpu/drm/i915/gt/uc/intel_guc.c | 126 ++++++- > drivers/gpu/drm/i915/gt/uc/intel_guc.h | 25 ++ > drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c | 204 +++++++--- > drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c | 143 +++---- > drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c | 38 +- > drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h | 37 +- > drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 31 +- > drivers/gpu/drm/i915/gt/uc/intel_guc_log.h | 3 + > drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h | 7 +- > drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 262 +++++++++---- > drivers/gpu/drm/i915/gt/uc/intel_huc.c | 1 + > drivers/gpu/drm/i915/gt/uc/intel_uc.c | 31 +- > drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 43 ++- > drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h | 2 +- > drivers/gpu/drm/i915/gt/uc/selftest_guc.c | 2 +- > drivers/gpu/drm/i915/gvt/aperture_gm.c | 2 +- > drivers/gpu/drm/i915/gvt/dmabuf.c | 2 +- > drivers/gpu/drm/i915/i915_debugfs.c | 7 +- > drivers/gpu/drm/i915/i915_driver.c | 10 +- > drivers/gpu/drm/i915/i915_drv.h | 32 +- > drivers/gpu/drm/i915/i915_gem.c | 37 +- > drivers/gpu/drm/i915/i915_gem_evict.c | 101 ++++- > drivers/gpu/drm/i915/i915_gem_gtt.c | 16 +- > drivers/gpu/drm/i915/i915_gem_gtt.h | 4 + > drivers/gpu/drm/i915/i915_getparam.c | 2 +- > drivers/gpu/drm/i915/i915_gpu_error.c | 89 ++--- > drivers/gpu/drm/i915/i915_module.c | 3 + > drivers/gpu/drm/i915/i915_pci.c | 1 + > drivers/gpu/drm/i915/i915_perf.c | 8 +- > drivers/gpu/drm/i915/i915_reg.h | 12 +- > drivers/gpu/drm/i915/i915_request.c | 12 +- > drivers/gpu/drm/i915/i915_request.h | 6 +- > drivers/gpu/drm/i915/i915_vgpu.c | 2 +- > drivers/gpu/drm/i915/i915_vma.c | 376 +++++++++++++----- > drivers/gpu/drm/i915/i915_vma.h | 34 +- > drivers/gpu/drm/i915/i915_vma_resource.c | 418 +++++++++++++++++++++ > drivers/gpu/drm/i915/i915_vma_resource.h | 234 ++++++++++++ > drivers/gpu/drm/i915/i915_vma_snapshot.c | 134 ------- > drivers/gpu/drm/i915/i915_vma_snapshot.h | 112 ------ > drivers/gpu/drm/i915/i915_vma_types.h | 19 +- > drivers/gpu/drm/i915/intel_device_info.h | 4 +- > drivers/gpu/drm/i915/intel_step.c | 15 + > drivers/gpu/drm/i915/intel_wopcm.c | 42 ++- > drivers/gpu/drm/i915/selftests/i915_gem.c | 8 +- > drivers/gpu/drm/i915/selftests/i915_gem_evict.c | 28 +- > drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 209 +++++++---- > drivers/gpu/drm/i915/selftests/i915_request.c | 119 +++++- > drivers/gpu/drm/i915/selftests/i915_vma.c | 30 +- > drivers/gpu/drm/i915/selftests/igt_flush_test.c | 2 +- > drivers/gpu/drm/i915/selftests/mock_gem_device.c | 11 +- > drivers/gpu/drm/i915/selftests/mock_gtt.c | 21 +- > drivers/gpu/drm/i915/selftests/mock_gtt.h | 3 +- > 101 files changed, 3149 insertions(+), 1359 deletions(-) > create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h > create mode 100644 drivers/gpu/drm/i915/i915_vma_resource.c > create mode 100644 drivers/gpu/drm/i915/i915_vma_resource.h > delete mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.c > delete mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.h
On Mon, 21 Feb 2022, Dave Airlie <airlied@gmail.com> wrote: > On Thu, 17 Feb 2022 at 20:26, Joonas Lahtinen > <joonas.lahtinen@linux.intel.com> wrote: >> >> Hi Dave & Daniel, >> >> Here is the first drm-intel-gt-next feature PR towards v5.18. > > Am I missing some previous drm-intel pull? > > /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_workarounds.c: > In function ‘rcs_engine_wa_init’: > /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_workarounds.c:2051:40: > error: ‘XEHP_DIS_BBL_SYSPIPE’ undeclared (first use in this function) > 2051 | wa_masked_en(wal, GEN9_ROW_CHICKEN4, XEHP_DIS_BBL_SYSPIPE); > | ^~~~~~~~~~~~~~~~~~~~ > /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_workarounds.c:2051:40: > note: each undeclared identifier is reported only once for each > function it appears in There's apparently a silent conflict between changes in drm-intel-next and drm-intel-gt-next. There's a fixup patch in drm-rerere: fixups/drm-intel-gt-next.patch. We opted to sync the branches via drm-next pulls and backmerges, but I'm afraid that means you'd have to use the fixups when merging. I guess we failed to communicate that. The alternative would've been cross-merges within drm-intel. BR, Jani. > > Dave. >> >> For DG2 adds subplatform G12, missing workarounds and fixes GuC >> loading on ARM64. C0/D0 stepping info added for RPL-S. >> >> For uAPI enables support for simple parallel submission with >> execlists which was previously enabled only for GuC. >> >> Further fixes for PMU metrics when GuC is enabled, better error >> reporting for GuC loading failures. Fix for PXP unbind splat. >> Updates to GuC version 69.0.3 with improvements to GT reset >> scenarios. >> >> The rest is mostly refactoring of the memory management code, >> as highlights introduction of async unbinding/migration and >> removal of short-term pinning in execbuf. >> >> Then a few selftest and coding style fixes. >> >> Regards, Joonas >> >> *** >> >> drm-intel-gt-next-2022-02-17: >> >> UAPI Changes: >> >> - Weak parallel submission support for execlists >> >> Minimal implementation of the parallel submission support for >> execlists backend that was previously only implemented for GuC. >> Support one sibling non-virtual engine. >> >> Core Changes: >> >> - Two backmerges of drm/drm-next for header file renames/changes and >> i915_regs reorganization >> >> Driver Changes: >> >> - Add new DG2 subplatform: DG2-G12 (Matt R) >> - Add new DG2 workarounds (Matt R, Ram, Bruce) >> - Handle pre-programmed WOPCM registers for DG2+ (Daniele) >> - Update guc shim control programming on XeHP SDV+ (Daniele) >> - Add RPL-S C0/D0 stepping information (Anusha) >> - Improve GuC ADS initialization to work on ARM64 on dGFX (Lucas) >> >> - Fix KMD and GuC race on accessing PMU busyness (Umesh) >> - Use PM timestamp instead of RING TIMESTAMP for reference in PMU with GuC (Umesh) >> - Report error on invalid reset notification from GuC (John) >> - Avoid WARN splat by holding RPM wakelock during PXP unbind (Juston) >> - Fixes to parallel submission implementation (Matt B.) >> - Improve GuC loading status check/error reports (John) >> - Tweak TTM LRU priority hint selection (Matt A.) >> - Align the plane_vma to min_page_size of stolen mem (Ram) >> >> - Introduce vma resources and implement async unbinding (Thomas) >> - Use struct vma_resource instead of struct vma_snapshot (Thomas) >> - Return some TTM accel move errors instead of trying memcpy move (Thomas) >> - Fix a race between vma / object destruction and unbinding (Thomas) >> - Remove short-term pins from execbuf (Maarten) >> - Update to GuC version 69.0.3 (John, Michal Wa.) >> - Improvements to GT reset paths in GuC backend (Matt B.) >> - Use shrinker_release_pages instead of writeback in shmem object hooks (Matt A., Tvrtko) >> - Use trylock instead of blocking lock when freeing GEM objects (Maarten) >> - Allocate intel_engine_coredump_alloc with ALLOW_FAIL (Matt B.) >> - Fixes to object unmapping and purging (Matt A) >> - Check for wedged device in GuC backend (John) >> - Avoid lockdep splat by locking dpt_obj around set_cache_level (Maarten) >> - Allow dead vm to unbind vma's without lock (Maarten) >> - s/engine->i915/i915/ for DG2 engine workarounds (Matt R) >> >> - Use to_gt() helper for GGTT accesses (Michal Wi.) >> - Selftest improvements (Matt B., Thomas, Ram) >> - Coding style and compiler warning fixes (Matt B., Jasmine, Andi, Colin, Gustavo, Dan) >> >> The following changes since commit 53dbee4926d3706ca9e03f3928fa85b5ec3bc0cc: >> >> Merge tag 'drm-misc-next-2022-01-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2022-02-01 19:02:41 +1000) >> >> are available in the Git repository at: >> >> git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-02-17 >> >> for you to fetch changes up to 154cfae6158141b18d65abb0db679bb51a8294e7: >> >> drm/i915/dg2: Add Wa_22011100796 (2022-02-11 17:11:44 +0530) >> >> ---------------------------------------------------------------- >> UAPI Changes: >> >> - Weak parallel submission support for execlists >> >> Minimal implementation of the parallel submission support for >> execlists backend that was previously only implemented for GuC. >> Support one sibling non-virtual engine. >> >> Core Changes: >> >> - Two backmerges of drm/drm-next for header file renames/changes and >> i915_regs reorganization >> >> Driver Changes: >> >> - Add new DG2 subplatform: DG2-G12 (Matt R) >> - Add new DG2 workarounds (Matt R, Ram, Bruce) >> - Handle pre-programmed WOPCM registers for DG2+ (Daniele) >> - Update guc shim control programming on XeHP SDV+ (Daniele) >> - Add RPL-S C0/D0 stepping information (Anusha) >> - Improve GuC ADS initialization to work on ARM64 on dGFX (Lucas) >> >> - Fix KMD and GuC race on accessing PMU busyness (Umesh) >> - Use PM timestamp instead of RING TIMESTAMP for reference in PMU with GuC (Umesh) >> - Report error on invalid reset notification from GuC (John) >> - Avoid WARN splat by holding RPM wakelock during PXP unbind (Juston) >> - Fixes to parallel submission implementation (Matt B.) >> - Improve GuC loading status check/error reports (John) >> - Tweak TTM LRU priority hint selection (Matt A.) >> - Align the plane_vma to min_page_size of stolen mem (Ram) >> >> - Introduce vma resources and implement async unbinding (Thomas) >> - Use struct vma_resource instead of struct vma_snapshot (Thomas) >> - Return some TTM accel move errors instead of trying memcpy move (Thomas) >> - Fix a race between vma / object destruction and unbinding (Thomas) >> - Remove short-term pins from execbuf (Maarten) >> - Update to GuC version 69.0.3 (John, Michal Wa.) >> - Improvements to GT reset paths in GuC backend (Matt B.) >> - Use shrinker_release_pages instead of writeback in shmem object hooks (Matt A., Tvrtko) >> - Use trylock instead of blocking lock when freeing GEM objects (Maarten) >> - Allocate intel_engine_coredump_alloc with ALLOW_FAIL (Matt B.) >> - Fixes to object unmapping and purging (Matt A) >> - Check for wedged device in GuC backend (John) >> - Avoid lockdep splat by locking dpt_obj around set_cache_level (Maarten) >> - Allow dead vm to unbind vma's without lock (Maarten) >> - s/engine->i915/i915/ for DG2 engine workarounds (Matt R) >> >> - Use to_gt() helper for GGTT accesses (Michal Wi.) >> - Selftest improvements (Matt B., Thomas, Ram) >> - Coding style and compiler warning fixes (Matt B., Jasmine, Andi, Colin, Gustavo, Dan) >> >> ---------------------------------------------------------------- >> Andi Shyti (2): >> drm/i915: Remove unused i915->ggtt >> drm/i915: fix header file inclusion for might_alloc() >> >> Anusha Srivatsa (1): >> drm/i915/rpl-s: Add stepping info >> >> Bruce Chang (1): >> drm/i915/dg2: Add Wa_22011100796 >> >> Colin Ian King (1): >> i915: make array flex_regs static const >> >> Dan Carpenter (1): >> drm/i915: delete shadow "ret" variable >> >> Daniele Ceraolo Spurio (2): >> drm/i915/wopcm: Handle pre-programmed WOPCM registers >> drm/i915/guc: Update guc shim control programming on newer platforms >> >> Gustavo A. R. Silva (1): >> drm/i915/guc: Use struct_size() helper in kmalloc() >> >> Jasmine Newsome (1): >> drm/i915/gem: Use local pointer ttm for __i915_ttm_move >> >> John Harrison (5): >> drm/i915/guc: Report error on invalid reset notification >> drm/i915/guc: Check for wedged before doing stuff >> drm/i915/guc: Temporarily bump the GuC load timeout >> drm/i915/guc: Update to GuC version 69.0.3 >> drm/i915/guc: Improve GuC loading status check/error reports >> >> Joonas Lahtinen (1): >> Merge drm/drm-next into drm-intel-gt-next >> >> Juston Li (1): >> drm/i915/pxp: Hold RPM wakelock during PXP unbind >> >> Lucas De Marchi (2): >> drm/i915/guc: Prepare for error propagation >> drm/i915/guc: Use a single pass to calculate regset >> >> Maarten Lankhorst (8): >> drm/i915: Call i915_gem_evict_vm in vm_fault_gtt to prevent new ENOSPC errors, v2. >> drm/i915: Add locking to i915_gem_evict_vm(), v3. >> drm/i915: Add object locking to i915_gem_evict_for_node and i915_gem_evict_something, v2. >> drm/i915: Add i915_vma_unbind_unlocked, and take obj lock for i915_vma_unbind, v2. >> drm/i915: Remove support for unlocked i915_vma unbind >> drm/i915: Remove short-term pins from execbuf, v6. >> drm/i915: Lock dpt_obj around set_cache_level, v2. >> drm/i915: Allow dead vm to unbind vma's without lock. >> >> Matt Roper (4): >> drm/i915/dg2: Add Wa_18018781329 >> drm/i915/dg2: Add Wa_14015227452 >> drm/i915/dg2: s/engine->i915/i915/ for engine workarounds >> drm/i915: Introduce G12 subplatform of DG2 >> >> Matthew Auld (7): >> drm/i915: remove writeback hook >> drm/i915: clean up shrinker_release_pages >> drm/i915: don't call free_mmap_offset when purging >> drm/i915/ttm: only fault WILLNEED objects >> drm/i915/ttm: add unmap_virtual callback >> drm/i915/ttm: ensure we unmap when purging >> drm/i915/ttm: tweak priority hint selection >> >> Matthew Brost (11): >> drm/i915/execlists: Weak parallel submission support for execlists >> drm/i915: Fix possible uninitialized variable in parallel extension >> drm/i915: Increment composite fence seqno >> drm/i915/selftests: Add a cancel request selftest that triggers a reset >> drm/i915/guc: Remove hacks for reset and schedule disable G2H being received out of order >> drm/i915: Allocate intel_engine_coredump_alloc with ALLOW_FAIL >> drm/i915/guc: Add work queue to trigger a GT reset >> drm/i915/guc: Flush G2H handler during a GT reset >> drm/i915: Lock timeline mutex directly in error path of eb_pin_timeline >> drm/i915/guc: Ensure multi-lrc fini breadcrumb math is correct >> drm/i915/selftests: Use less in contexts steal guc id test >> >> Michał Winiarski (5): >> drm/i915/gt: Use to_gt() helper for GGTT accesses >> drm/i915: Use to_gt() helper for GGTT accesses >> drm/i915/gem: Use to_gt() helper for GGTT accesses >> drm/i915/display: Use to_gt() helper for GGTT accesses >> drm/i915/selftests: Use to_gt() helper for GGTT accesses >> >> Ramalingam C (3): >> drm/i915/dg2: Add Wa_22011450934 >> drm/i915: align the plane_vma to min_page_size of stolen mem >> drm/i915: More gt idling time with guc submission >> >> Thomas Hellström (9): >> drm/i915: Initial introduction of vma resources >> drm/i915: Use the vma resource as argument for gtt binding / unbinding >> drm/i915: Don't pin the object pages during pending vma binds >> drm/i915: Use vma resources for async unbinding >> drm/i915: Asynchronous migration selftest >> drm/i915: Use struct vma_resource instead of struct vma_snapshot >> drm/i915: Fix vma resource freeing >> drm/i915: Fix a race between vma / object destruction and unbinding >> drm/i915/ttm: Return some errors instead of trying memcpy move >> >> Tvrtko Ursulin (1): >> Merge drm/drm-next into drm-intel-gt-next >> >> Umesh Nerlige Ramappa (2): >> drm/i915/pmu: Use PM timestamp instead of RING TIMESTAMP for reference >> drm/i915/pmu: Fix KMD and GuC race on accessing busyness >> >> Documentation/gpu/i915.rst | 1 + >> drivers/gpu/drm/i915/Makefile | 2 +- >> drivers/gpu/drm/i915/display/intel_dpt.c | 33 +- >> drivers/gpu/drm/i915/display/intel_fb_pin.c | 8 +- >> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +- >> drivers/gpu/drm/i915/display/intel_fbdev.c | 2 +- >> drivers/gpu/drm/i915/display/intel_plane_initial.c | 7 +- >> drivers/gpu/drm/i915/gem/i915_gem_context.c | 11 +- >> drivers/gpu/drm/i915/gem/i915_gem_context.h | 2 +- >> drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 248 ++++++------ >> drivers/gpu/drm/i915/gem/i915_gem_mman.c | 36 +- >> drivers/gpu/drm/i915/gem/i915_gem_object.c | 18 + >> drivers/gpu/drm/i915/gem/i915_gem_object.h | 4 +- >> drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 51 ++- >> drivers/gpu/drm/i915/gem/i915_gem_pages.c | 10 - >> drivers/gpu/drm/i915/gem/i915_gem_pm.c | 2 +- >> drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 17 +- >> drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 30 +- >> drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 8 +- >> drivers/gpu/drm/i915/gem/i915_gem_tiling.c | 15 +- >> drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 16 +- >> drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c | 27 +- >> drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 39 +- >> .../drm/i915/gem/selftests/i915_gem_client_blt.c | 4 +- >> .../gpu/drm/i915/gem/selftests/i915_gem_context.c | 2 +- >> .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c | 192 +++++++++- >> drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 25 +- >> .../gpu/drm/i915/gem/selftests/i915_gem_object.c | 2 +- >> drivers/gpu/drm/i915/gt/gen6_ppgtt.c | 19 +- >> drivers/gpu/drm/i915/gt/gen8_ppgtt.c | 37 +- >> drivers/gpu/drm/i915/gt/intel_context.c | 4 +- >> drivers/gpu/drm/i915/gt/intel_engine_cs.c | 9 +- >> .../gpu/drm/i915/gt/intel_execlists_submission.c | 38 ++ >> drivers/gpu/drm/i915/gt/intel_ggtt.c | 133 ++++--- >> drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c | 7 +- >> drivers/gpu/drm/i915/gt/intel_gt.c | 7 +- >> drivers/gpu/drm/i915/gt/intel_gt.h | 2 +- >> drivers/gpu/drm/i915/gt/intel_gtt.c | 4 + >> drivers/gpu/drm/i915/gt/intel_gtt.h | 19 +- >> drivers/gpu/drm/i915/gt/intel_lrc.c | 32 ++ >> drivers/gpu/drm/i915/gt/intel_ppgtt.c | 22 +- >> drivers/gpu/drm/i915/gt/intel_region_lmem.c | 4 +- >> drivers/gpu/drm/i915/gt/intel_reset.c | 9 + >> drivers/gpu/drm/i915/gt/intel_workarounds.c | 39 +- >> drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 2 +- >> drivers/gpu/drm/i915/gt/selftest_reset.c | 2 +- >> drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h | 80 ++-- >> drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h | 23 ++ >> drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h | 82 ++++ >> drivers/gpu/drm/i915/gt/uc/intel_guc.c | 126 ++++++- >> drivers/gpu/drm/i915/gt/uc/intel_guc.h | 25 ++ >> drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c | 204 +++++++--- >> drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c | 143 +++---- >> drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c | 38 +- >> drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h | 37 +- >> drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 31 +- >> drivers/gpu/drm/i915/gt/uc/intel_guc_log.h | 3 + >> drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h | 7 +- >> drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 262 +++++++++---- >> drivers/gpu/drm/i915/gt/uc/intel_huc.c | 1 + >> drivers/gpu/drm/i915/gt/uc/intel_uc.c | 31 +- >> drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 43 ++- >> drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h | 2 +- >> drivers/gpu/drm/i915/gt/uc/selftest_guc.c | 2 +- >> drivers/gpu/drm/i915/gvt/aperture_gm.c | 2 +- >> drivers/gpu/drm/i915/gvt/dmabuf.c | 2 +- >> drivers/gpu/drm/i915/i915_debugfs.c | 7 +- >> drivers/gpu/drm/i915/i915_driver.c | 10 +- >> drivers/gpu/drm/i915/i915_drv.h | 32 +- >> drivers/gpu/drm/i915/i915_gem.c | 37 +- >> drivers/gpu/drm/i915/i915_gem_evict.c | 101 ++++- >> drivers/gpu/drm/i915/i915_gem_gtt.c | 16 +- >> drivers/gpu/drm/i915/i915_gem_gtt.h | 4 + >> drivers/gpu/drm/i915/i915_getparam.c | 2 +- >> drivers/gpu/drm/i915/i915_gpu_error.c | 89 ++--- >> drivers/gpu/drm/i915/i915_module.c | 3 + >> drivers/gpu/drm/i915/i915_pci.c | 1 + >> drivers/gpu/drm/i915/i915_perf.c | 8 +- >> drivers/gpu/drm/i915/i915_reg.h | 12 +- >> drivers/gpu/drm/i915/i915_request.c | 12 +- >> drivers/gpu/drm/i915/i915_request.h | 6 +- >> drivers/gpu/drm/i915/i915_vgpu.c | 2 +- >> drivers/gpu/drm/i915/i915_vma.c | 376 +++++++++++++----- >> drivers/gpu/drm/i915/i915_vma.h | 34 +- >> drivers/gpu/drm/i915/i915_vma_resource.c | 418 +++++++++++++++++++++ >> drivers/gpu/drm/i915/i915_vma_resource.h | 234 ++++++++++++ >> drivers/gpu/drm/i915/i915_vma_snapshot.c | 134 ------- >> drivers/gpu/drm/i915/i915_vma_snapshot.h | 112 ------ >> drivers/gpu/drm/i915/i915_vma_types.h | 19 +- >> drivers/gpu/drm/i915/intel_device_info.h | 4 +- >> drivers/gpu/drm/i915/intel_step.c | 15 + >> drivers/gpu/drm/i915/intel_wopcm.c | 42 ++- >> drivers/gpu/drm/i915/selftests/i915_gem.c | 8 +- >> drivers/gpu/drm/i915/selftests/i915_gem_evict.c | 28 +- >> drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 209 +++++++---- >> drivers/gpu/drm/i915/selftests/i915_request.c | 119 +++++- >> drivers/gpu/drm/i915/selftests/i915_vma.c | 30 +- >> drivers/gpu/drm/i915/selftests/igt_flush_test.c | 2 +- >> drivers/gpu/drm/i915/selftests/mock_gem_device.c | 11 +- >> drivers/gpu/drm/i915/selftests/mock_gtt.c | 21 +- >> drivers/gpu/drm/i915/selftests/mock_gtt.h | 3 +- >> 101 files changed, 3149 insertions(+), 1359 deletions(-) >> create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h >> create mode 100644 drivers/gpu/drm/i915/i915_vma_resource.c >> create mode 100644 drivers/gpu/drm/i915/i915_vma_resource.h >> delete mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.c >> delete mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.h
On Mon, Feb 21, 2022 at 11:21:35AM +0200, Jani Nikula wrote: >On Mon, 21 Feb 2022, Dave Airlie <airlied@gmail.com> wrote: >> On Thu, 17 Feb 2022 at 20:26, Joonas Lahtinen >> <joonas.lahtinen@linux.intel.com> wrote: >>> >>> Hi Dave & Daniel, >>> >>> Here is the first drm-intel-gt-next feature PR towards v5.18. >> >> Am I missing some previous drm-intel pull? >> >> /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_workarounds.c: >> In function ‘rcs_engine_wa_init’: >> /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_workarounds.c:2051:40: >> error: ‘XEHP_DIS_BBL_SYSPIPE’ undeclared (first use in this function) >> 2051 | wa_masked_en(wal, GEN9_ROW_CHICKEN4, XEHP_DIS_BBL_SYSPIPE); >> | ^~~~~~~~~~~~~~~~~~~~ >> /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_workarounds.c:2051:40: >> note: each undeclared identifier is reported only once for each >> function it appears in > >There's apparently a silent conflict between changes in drm-intel-next >and drm-intel-gt-next. There's a fixup patch in drm-rerere: >fixups/drm-intel-gt-next.patch. yeah, with all header refactors landing in drm-intel-next there were quite a few conflict lately. Just taking fixups/drm-intel-gt-next.patch doesn't fix it though as we'd need to follow the merge order drm-tip is doing, i.e. first get a pull request for drm-intel-next in, and then drm-intel-gt-next. Or the octopus merge For this merge only I believe the fixup is: git show 064030837c5b:fixups/drm-intel-gt-next.patch | patch -p1 with 064030837c5b being the commit in drm-rerere. Cc'ing Matt Roper Lucas De Marchi > >We opted to sync the branches via drm-next pulls and backmerges, but I'm >afraid that means you'd have to use the fixups when merging. I guess we >failed to communicate that. The alternative would've been cross-merges >within drm-intel. > > >BR, >Jani. > > >> >> Dave. >>> >>> For DG2 adds subplatform G12, missing workarounds and fixes GuC >>> loading on ARM64. C0/D0 stepping info added for RPL-S. >>> >>> For uAPI enables support for simple parallel submission with >>> execlists which was previously enabled only for GuC. >>> >>> Further fixes for PMU metrics when GuC is enabled, better error >>> reporting for GuC loading failures. Fix for PXP unbind splat. >>> Updates to GuC version 69.0.3 with improvements to GT reset >>> scenarios. >>> >>> The rest is mostly refactoring of the memory management code, >>> as highlights introduction of async unbinding/migration and >>> removal of short-term pinning in execbuf. >>> >>> Then a few selftest and coding style fixes. >>> >>> Regards, Joonas >>> >>> *** >>> >>> drm-intel-gt-next-2022-02-17: >>> >>> UAPI Changes: >>> >>> - Weak parallel submission support for execlists >>> >>> Minimal implementation of the parallel submission support for >>> execlists backend that was previously only implemented for GuC. >>> Support one sibling non-virtual engine. >>> >>> Core Changes: >>> >>> - Two backmerges of drm/drm-next for header file renames/changes and >>> i915_regs reorganization >>> >>> Driver Changes: >>> >>> - Add new DG2 subplatform: DG2-G12 (Matt R) >>> - Add new DG2 workarounds (Matt R, Ram, Bruce) >>> - Handle pre-programmed WOPCM registers for DG2+ (Daniele) >>> - Update guc shim control programming on XeHP SDV+ (Daniele) >>> - Add RPL-S C0/D0 stepping information (Anusha) >>> - Improve GuC ADS initialization to work on ARM64 on dGFX (Lucas) >>> >>> - Fix KMD and GuC race on accessing PMU busyness (Umesh) >>> - Use PM timestamp instead of RING TIMESTAMP for reference in PMU with GuC (Umesh) >>> - Report error on invalid reset notification from GuC (John) >>> - Avoid WARN splat by holding RPM wakelock during PXP unbind (Juston) >>> - Fixes to parallel submission implementation (Matt B.) >>> - Improve GuC loading status check/error reports (John) >>> - Tweak TTM LRU priority hint selection (Matt A.) >>> - Align the plane_vma to min_page_size of stolen mem (Ram) >>> >>> - Introduce vma resources and implement async unbinding (Thomas) >>> - Use struct vma_resource instead of struct vma_snapshot (Thomas) >>> - Return some TTM accel move errors instead of trying memcpy move (Thomas) >>> - Fix a race between vma / object destruction and unbinding (Thomas) >>> - Remove short-term pins from execbuf (Maarten) >>> - Update to GuC version 69.0.3 (John, Michal Wa.) >>> - Improvements to GT reset paths in GuC backend (Matt B.) >>> - Use shrinker_release_pages instead of writeback in shmem object hooks (Matt A., Tvrtko) >>> - Use trylock instead of blocking lock when freeing GEM objects (Maarten) >>> - Allocate intel_engine_coredump_alloc with ALLOW_FAIL (Matt B.) >>> - Fixes to object unmapping and purging (Matt A) >>> - Check for wedged device in GuC backend (John) >>> - Avoid lockdep splat by locking dpt_obj around set_cache_level (Maarten) >>> - Allow dead vm to unbind vma's without lock (Maarten) >>> - s/engine->i915/i915/ for DG2 engine workarounds (Matt R) >>> >>> - Use to_gt() helper for GGTT accesses (Michal Wi.) >>> - Selftest improvements (Matt B., Thomas, Ram) >>> - Coding style and compiler warning fixes (Matt B., Jasmine, Andi, Colin, Gustavo, Dan) >>> >>> The following changes since commit 53dbee4926d3706ca9e03f3928fa85b5ec3bc0cc: >>> >>> Merge tag 'drm-misc-next-2022-01-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2022-02-01 19:02:41 +1000) >>> >>> are available in the Git repository at: >>> >>> git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-02-17 >>> >>> for you to fetch changes up to 154cfae6158141b18d65abb0db679bb51a8294e7: >>> >>> drm/i915/dg2: Add Wa_22011100796 (2022-02-11 17:11:44 +0530) >>> >>> ---------------------------------------------------------------- >>> UAPI Changes: >>> >>> - Weak parallel submission support for execlists >>> >>> Minimal implementation of the parallel submission support for >>> execlists backend that was previously only implemented for GuC. >>> Support one sibling non-virtual engine. >>> >>> Core Changes: >>> >>> - Two backmerges of drm/drm-next for header file renames/changes and >>> i915_regs reorganization >>> >>> Driver Changes: >>> >>> - Add new DG2 subplatform: DG2-G12 (Matt R) >>> - Add new DG2 workarounds (Matt R, Ram, Bruce) >>> - Handle pre-programmed WOPCM registers for DG2+ (Daniele) >>> - Update guc shim control programming on XeHP SDV+ (Daniele) >>> - Add RPL-S C0/D0 stepping information (Anusha) >>> - Improve GuC ADS initialization to work on ARM64 on dGFX (Lucas) >>> >>> - Fix KMD and GuC race on accessing PMU busyness (Umesh) >>> - Use PM timestamp instead of RING TIMESTAMP for reference in PMU with GuC (Umesh) >>> - Report error on invalid reset notification from GuC (John) >>> - Avoid WARN splat by holding RPM wakelock during PXP unbind (Juston) >>> - Fixes to parallel submission implementation (Matt B.) >>> - Improve GuC loading status check/error reports (John) >>> - Tweak TTM LRU priority hint selection (Matt A.) >>> - Align the plane_vma to min_page_size of stolen mem (Ram) >>> >>> - Introduce vma resources and implement async unbinding (Thomas) >>> - Use struct vma_resource instead of struct vma_snapshot (Thomas) >>> - Return some TTM accel move errors instead of trying memcpy move (Thomas) >>> - Fix a race between vma / object destruction and unbinding (Thomas) >>> - Remove short-term pins from execbuf (Maarten) >>> - Update to GuC version 69.0.3 (John, Michal Wa.) >>> - Improvements to GT reset paths in GuC backend (Matt B.) >>> - Use shrinker_release_pages instead of writeback in shmem object hooks (Matt A., Tvrtko) >>> - Use trylock instead of blocking lock when freeing GEM objects (Maarten) >>> - Allocate intel_engine_coredump_alloc with ALLOW_FAIL (Matt B.) >>> - Fixes to object unmapping and purging (Matt A) >>> - Check for wedged device in GuC backend (John) >>> - Avoid lockdep splat by locking dpt_obj around set_cache_level (Maarten) >>> - Allow dead vm to unbind vma's without lock (Maarten) >>> - s/engine->i915/i915/ for DG2 engine workarounds (Matt R) >>> >>> - Use to_gt() helper for GGTT accesses (Michal Wi.) >>> - Selftest improvements (Matt B., Thomas, Ram) >>> - Coding style and compiler warning fixes (Matt B., Jasmine, Andi, Colin, Gustavo, Dan) >>> >>> ---------------------------------------------------------------- >>> Andi Shyti (2): >>> drm/i915: Remove unused i915->ggtt >>> drm/i915: fix header file inclusion for might_alloc() >>> >>> Anusha Srivatsa (1): >>> drm/i915/rpl-s: Add stepping info >>> >>> Bruce Chang (1): >>> drm/i915/dg2: Add Wa_22011100796 >>> >>> Colin Ian King (1): >>> i915: make array flex_regs static const >>> >>> Dan Carpenter (1): >>> drm/i915: delete shadow "ret" variable >>> >>> Daniele Ceraolo Spurio (2): >>> drm/i915/wopcm: Handle pre-programmed WOPCM registers >>> drm/i915/guc: Update guc shim control programming on newer platforms >>> >>> Gustavo A. R. Silva (1): >>> drm/i915/guc: Use struct_size() helper in kmalloc() >>> >>> Jasmine Newsome (1): >>> drm/i915/gem: Use local pointer ttm for __i915_ttm_move >>> >>> John Harrison (5): >>> drm/i915/guc: Report error on invalid reset notification >>> drm/i915/guc: Check for wedged before doing stuff >>> drm/i915/guc: Temporarily bump the GuC load timeout >>> drm/i915/guc: Update to GuC version 69.0.3 >>> drm/i915/guc: Improve GuC loading status check/error reports >>> >>> Joonas Lahtinen (1): >>> Merge drm/drm-next into drm-intel-gt-next >>> >>> Juston Li (1): >>> drm/i915/pxp: Hold RPM wakelock during PXP unbind >>> >>> Lucas De Marchi (2): >>> drm/i915/guc: Prepare for error propagation >>> drm/i915/guc: Use a single pass to calculate regset >>> >>> Maarten Lankhorst (8): >>> drm/i915: Call i915_gem_evict_vm in vm_fault_gtt to prevent new ENOSPC errors, v2. >>> drm/i915: Add locking to i915_gem_evict_vm(), v3. >>> drm/i915: Add object locking to i915_gem_evict_for_node and i915_gem_evict_something, v2. >>> drm/i915: Add i915_vma_unbind_unlocked, and take obj lock for i915_vma_unbind, v2. >>> drm/i915: Remove support for unlocked i915_vma unbind >>> drm/i915: Remove short-term pins from execbuf, v6. >>> drm/i915: Lock dpt_obj around set_cache_level, v2. >>> drm/i915: Allow dead vm to unbind vma's without lock. >>> >>> Matt Roper (4): >>> drm/i915/dg2: Add Wa_18018781329 >>> drm/i915/dg2: Add Wa_14015227452 >>> drm/i915/dg2: s/engine->i915/i915/ for engine workarounds >>> drm/i915: Introduce G12 subplatform of DG2 >>> >>> Matthew Auld (7): >>> drm/i915: remove writeback hook >>> drm/i915: clean up shrinker_release_pages >>> drm/i915: don't call free_mmap_offset when purging >>> drm/i915/ttm: only fault WILLNEED objects >>> drm/i915/ttm: add unmap_virtual callback >>> drm/i915/ttm: ensure we unmap when purging >>> drm/i915/ttm: tweak priority hint selection >>> >>> Matthew Brost (11): >>> drm/i915/execlists: Weak parallel submission support for execlists >>> drm/i915: Fix possible uninitialized variable in parallel extension >>> drm/i915: Increment composite fence seqno >>> drm/i915/selftests: Add a cancel request selftest that triggers a reset >>> drm/i915/guc: Remove hacks for reset and schedule disable G2H being received out of order >>> drm/i915: Allocate intel_engine_coredump_alloc with ALLOW_FAIL >>> drm/i915/guc: Add work queue to trigger a GT reset >>> drm/i915/guc: Flush G2H handler during a GT reset >>> drm/i915: Lock timeline mutex directly in error path of eb_pin_timeline >>> drm/i915/guc: Ensure multi-lrc fini breadcrumb math is correct >>> drm/i915/selftests: Use less in contexts steal guc id test >>> >>> Michał Winiarski (5): >>> drm/i915/gt: Use to_gt() helper for GGTT accesses >>> drm/i915: Use to_gt() helper for GGTT accesses >>> drm/i915/gem: Use to_gt() helper for GGTT accesses >>> drm/i915/display: Use to_gt() helper for GGTT accesses >>> drm/i915/selftests: Use to_gt() helper for GGTT accesses >>> >>> Ramalingam C (3): >>> drm/i915/dg2: Add Wa_22011450934 >>> drm/i915: align the plane_vma to min_page_size of stolen mem >>> drm/i915: More gt idling time with guc submission >>> >>> Thomas Hellström (9): >>> drm/i915: Initial introduction of vma resources >>> drm/i915: Use the vma resource as argument for gtt binding / unbinding >>> drm/i915: Don't pin the object pages during pending vma binds >>> drm/i915: Use vma resources for async unbinding >>> drm/i915: Asynchronous migration selftest >>> drm/i915: Use struct vma_resource instead of struct vma_snapshot >>> drm/i915: Fix vma resource freeing >>> drm/i915: Fix a race between vma / object destruction and unbinding >>> drm/i915/ttm: Return some errors instead of trying memcpy move >>> >>> Tvrtko Ursulin (1): >>> Merge drm/drm-next into drm-intel-gt-next >>> >>> Umesh Nerlige Ramappa (2): >>> drm/i915/pmu: Use PM timestamp instead of RING TIMESTAMP for reference >>> drm/i915/pmu: Fix KMD and GuC race on accessing busyness >>> >>> Documentation/gpu/i915.rst | 1 + >>> drivers/gpu/drm/i915/Makefile | 2 +- >>> drivers/gpu/drm/i915/display/intel_dpt.c | 33 +- >>> drivers/gpu/drm/i915/display/intel_fb_pin.c | 8 +- >>> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +- >>> drivers/gpu/drm/i915/display/intel_fbdev.c | 2 +- >>> drivers/gpu/drm/i915/display/intel_plane_initial.c | 7 +- >>> drivers/gpu/drm/i915/gem/i915_gem_context.c | 11 +- >>> drivers/gpu/drm/i915/gem/i915_gem_context.h | 2 +- >>> drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 248 ++++++------ >>> drivers/gpu/drm/i915/gem/i915_gem_mman.c | 36 +- >>> drivers/gpu/drm/i915/gem/i915_gem_object.c | 18 + >>> drivers/gpu/drm/i915/gem/i915_gem_object.h | 4 +- >>> drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 51 ++- >>> drivers/gpu/drm/i915/gem/i915_gem_pages.c | 10 - >>> drivers/gpu/drm/i915/gem/i915_gem_pm.c | 2 +- >>> drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 17 +- >>> drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 30 +- >>> drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 8 +- >>> drivers/gpu/drm/i915/gem/i915_gem_tiling.c | 15 +- >>> drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 16 +- >>> drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c | 27 +- >>> drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 39 +- >>> .../drm/i915/gem/selftests/i915_gem_client_blt.c | 4 +- >>> .../gpu/drm/i915/gem/selftests/i915_gem_context.c | 2 +- >>> .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c | 192 +++++++++- >>> drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 25 +- >>> .../gpu/drm/i915/gem/selftests/i915_gem_object.c | 2 +- >>> drivers/gpu/drm/i915/gt/gen6_ppgtt.c | 19 +- >>> drivers/gpu/drm/i915/gt/gen8_ppgtt.c | 37 +- >>> drivers/gpu/drm/i915/gt/intel_context.c | 4 +- >>> drivers/gpu/drm/i915/gt/intel_engine_cs.c | 9 +- >>> .../gpu/drm/i915/gt/intel_execlists_submission.c | 38 ++ >>> drivers/gpu/drm/i915/gt/intel_ggtt.c | 133 ++++--- >>> drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c | 7 +- >>> drivers/gpu/drm/i915/gt/intel_gt.c | 7 +- >>> drivers/gpu/drm/i915/gt/intel_gt.h | 2 +- >>> drivers/gpu/drm/i915/gt/intel_gtt.c | 4 + >>> drivers/gpu/drm/i915/gt/intel_gtt.h | 19 +- >>> drivers/gpu/drm/i915/gt/intel_lrc.c | 32 ++ >>> drivers/gpu/drm/i915/gt/intel_ppgtt.c | 22 +- >>> drivers/gpu/drm/i915/gt/intel_region_lmem.c | 4 +- >>> drivers/gpu/drm/i915/gt/intel_reset.c | 9 + >>> drivers/gpu/drm/i915/gt/intel_workarounds.c | 39 +- >>> drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 2 +- >>> drivers/gpu/drm/i915/gt/selftest_reset.c | 2 +- >>> drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h | 80 ++-- >>> drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h | 23 ++ >>> drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h | 82 ++++ >>> drivers/gpu/drm/i915/gt/uc/intel_guc.c | 126 ++++++- >>> drivers/gpu/drm/i915/gt/uc/intel_guc.h | 25 ++ >>> drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c | 204 +++++++--- >>> drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c | 143 +++---- >>> drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c | 38 +- >>> drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h | 37 +- >>> drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 31 +- >>> drivers/gpu/drm/i915/gt/uc/intel_guc_log.h | 3 + >>> drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h | 7 +- >>> drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 262 +++++++++---- >>> drivers/gpu/drm/i915/gt/uc/intel_huc.c | 1 + >>> drivers/gpu/drm/i915/gt/uc/intel_uc.c | 31 +- >>> drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 43 ++- >>> drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h | 2 +- >>> drivers/gpu/drm/i915/gt/uc/selftest_guc.c | 2 +- >>> drivers/gpu/drm/i915/gvt/aperture_gm.c | 2 +- >>> drivers/gpu/drm/i915/gvt/dmabuf.c | 2 +- >>> drivers/gpu/drm/i915/i915_debugfs.c | 7 +- >>> drivers/gpu/drm/i915/i915_driver.c | 10 +- >>> drivers/gpu/drm/i915/i915_drv.h | 32 +- >>> drivers/gpu/drm/i915/i915_gem.c | 37 +- >>> drivers/gpu/drm/i915/i915_gem_evict.c | 101 ++++- >>> drivers/gpu/drm/i915/i915_gem_gtt.c | 16 +- >>> drivers/gpu/drm/i915/i915_gem_gtt.h | 4 + >>> drivers/gpu/drm/i915/i915_getparam.c | 2 +- >>> drivers/gpu/drm/i915/i915_gpu_error.c | 89 ++--- >>> drivers/gpu/drm/i915/i915_module.c | 3 + >>> drivers/gpu/drm/i915/i915_pci.c | 1 + >>> drivers/gpu/drm/i915/i915_perf.c | 8 +- >>> drivers/gpu/drm/i915/i915_reg.h | 12 +- >>> drivers/gpu/drm/i915/i915_request.c | 12 +- >>> drivers/gpu/drm/i915/i915_request.h | 6 +- >>> drivers/gpu/drm/i915/i915_vgpu.c | 2 +- >>> drivers/gpu/drm/i915/i915_vma.c | 376 +++++++++++++----- >>> drivers/gpu/drm/i915/i915_vma.h | 34 +- >>> drivers/gpu/drm/i915/i915_vma_resource.c | 418 +++++++++++++++++++++ >>> drivers/gpu/drm/i915/i915_vma_resource.h | 234 ++++++++++++ >>> drivers/gpu/drm/i915/i915_vma_snapshot.c | 134 ------- >>> drivers/gpu/drm/i915/i915_vma_snapshot.h | 112 ------ >>> drivers/gpu/drm/i915/i915_vma_types.h | 19 +- >>> drivers/gpu/drm/i915/intel_device_info.h | 4 +- >>> drivers/gpu/drm/i915/intel_step.c | 15 + >>> drivers/gpu/drm/i915/intel_wopcm.c | 42 ++- >>> drivers/gpu/drm/i915/selftests/i915_gem.c | 8 +- >>> drivers/gpu/drm/i915/selftests/i915_gem_evict.c | 28 +- >>> drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 209 +++++++---- >>> drivers/gpu/drm/i915/selftests/i915_request.c | 119 +++++- >>> drivers/gpu/drm/i915/selftests/i915_vma.c | 30 +- >>> drivers/gpu/drm/i915/selftests/igt_flush_test.c | 2 +- >>> drivers/gpu/drm/i915/selftests/mock_gem_device.c | 11 +- >>> drivers/gpu/drm/i915/selftests/mock_gtt.c | 21 +- >>> drivers/gpu/drm/i915/selftests/mock_gtt.h | 3 +- >>> 101 files changed, 3149 insertions(+), 1359 deletions(-) >>> create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h >>> create mode 100644 drivers/gpu/drm/i915/i915_vma_resource.c >>> create mode 100644 drivers/gpu/drm/i915/i915_vma_resource.h >>> delete mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.c >>> delete mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.h > >-- >Jani Nikula, Intel Open Source Graphics Center
On Tue, 2022-02-22 at 11:44 -0800, Lucas De Marchi wrote: > On Mon, Feb 21, 2022 at 11:21:35AM +0200, Jani Nikula wrote: > > On Mon, 21 Feb 2022, Dave Airlie <airlied@gmail.com> wrote: > > > On Thu, 17 Feb 2022 at 20:26, Joonas Lahtinen > > > <joonas.lahtinen@linux.intel.com> wrote: > > > > > > > > Hi Dave & Daniel, > > > > > > > > Here is the first drm-intel-gt-next feature PR towards v5.18. > > > > > > Am I missing some previous drm-intel pull? > > > > > > /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_ > > > workarounds.c: > > > In function ‘rcs_engine_wa_init’: > > > /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_ > > > workarounds.c:2051:40: > > > error: ‘XEHP_DIS_BBL_SYSPIPE’ undeclared (first use in this > > > function) > > > 2051 | wa_masked_en(wal, GEN9_ROW_CHICKEN4, > > > XEHP_DIS_BBL_SYSPIPE); > > > | > > > ^~~~~~~~~~~~~~~~~~~~ > > > /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_ > > > workarounds.c:2051:40: > > > note: each undeclared identifier is reported only once for each > > > function it appears in > > > > There's apparently a silent conflict between changes in drm-intel- > > next > > and drm-intel-gt-next. There's a fixup patch in drm-rerere: > > fixups/drm-intel-gt-next.patch. With ack from Dave on #dri-devel, I've applied this pull request to drm-intel-next. Then I used this big fixup on the merge resolution. Now I'm going to prepare a drm-intel-next pull request towards drm- next. Then for the next rounds we check if we are doing cross merges, or the other way around and get drm-intel-next into drm-intel-gt-next Thanks, Rodrigo. > yeah, with all header refactors landing in drm-intel-next there were > quite a few conflict lately. Just taking fixups/drm-intel-gt- > next.patch > doesn't fix it though as we'd need to follow the merge order drm-tip > is > doing, i.e. first get a pull request for drm-intel-next in, and then > drm-intel-gt-next. Or the octopus merge > > For this merge only I believe the fixup is: > > git show 064030837c5b:fixups/drm-intel-gt-next.patch | patch > -p1 > > with 064030837c5b being the commit in drm-rerere. Cc'ing Matt Roper > > Lucas De Marchi > > > > > We opted to sync the branches via drm-next pulls and backmerges, > > but I'm > > afraid that means you'd have to use the fixups when merging. I > > guess we > > failed to communicate that. The alternative would've been cross- > > merges > > within drm-intel. > > > > > > BR, > > Jani. > > > > > > > > > > Dave. > > > > > > > > For DG2 adds subplatform G12, missing workarounds and fixes GuC > > > > loading on ARM64. C0/D0 stepping info added for RPL-S. > > > > > > > > For uAPI enables support for simple parallel submission with > > > > execlists which was previously enabled only for GuC. > > > > > > > > Further fixes for PMU metrics when GuC is enabled, better error > > > > reporting for GuC loading failures. Fix for PXP unbind splat. > > > > Updates to GuC version 69.0.3 with improvements to GT reset > > > > scenarios. > > > > > > > > The rest is mostly refactoring of the memory management code, > > > > as highlights introduction of async unbinding/migration and > > > > removal of short-term pinning in execbuf. > > > > > > > > Then a few selftest and coding style fixes. > > > > > > > > Regards, Joonas > > > > > > > > *** > > > > > > > > drm-intel-gt-next-2022-02-17: > > > > > > > > UAPI Changes: > > > > > > > > - Weak parallel submission support for execlists > > > > > > > > Minimal implementation of the parallel submission support for > > > > execlists backend that was previously only implemented for > > > > GuC. > > > > Support one sibling non-virtual engine. > > > > > > > > Core Changes: > > > > > > > > - Two backmerges of drm/drm-next for header file > > > > renames/changes and > > > > i915_regs reorganization > > > > > > > > Driver Changes: > > > > > > > > - Add new DG2 subplatform: DG2-G12 (Matt R) > > > > - Add new DG2 workarounds (Matt R, Ram, Bruce) > > > > - Handle pre-programmed WOPCM registers for DG2+ (Daniele) > > > > - Update guc shim control programming on XeHP SDV+ (Daniele) > > > > - Add RPL-S C0/D0 stepping information (Anusha) > > > > - Improve GuC ADS initialization to work on ARM64 on dGFX > > > > (Lucas) > > > > > > > > - Fix KMD and GuC race on accessing PMU busyness (Umesh) > > > > - Use PM timestamp instead of RING TIMESTAMP for reference in > > > > PMU with GuC (Umesh) > > > > - Report error on invalid reset notification from GuC (John) > > > > - Avoid WARN splat by holding RPM wakelock during PXP unbind > > > > (Juston) > > > > - Fixes to parallel submission implementation (Matt B.) > > > > - Improve GuC loading status check/error reports (John) > > > > - Tweak TTM LRU priority hint selection (Matt A.) > > > > - Align the plane_vma to min_page_size of stolen mem (Ram) > > > > > > > > - Introduce vma resources and implement async unbinding > > > > (Thomas) > > > > - Use struct vma_resource instead of struct vma_snapshot > > > > (Thomas) > > > > - Return some TTM accel move errors instead of trying memcpy > > > > move (Thomas) > > > > - Fix a race between vma / object destruction and unbinding > > > > (Thomas) > > > > - Remove short-term pins from execbuf (Maarten) > > > > - Update to GuC version 69.0.3 (John, Michal Wa.) > > > > - Improvements to GT reset paths in GuC backend (Matt B.) > > > > - Use shrinker_release_pages instead of writeback in shmem > > > > object hooks (Matt A., Tvrtko) > > > > - Use trylock instead of blocking lock when freeing GEM objects > > > > (Maarten) > > > > - Allocate intel_engine_coredump_alloc with ALLOW_FAIL (Matt > > > > B.) > > > > - Fixes to object unmapping and purging (Matt A) > > > > - Check for wedged device in GuC backend (John) > > > > - Avoid lockdep splat by locking dpt_obj around set_cache_level > > > > (Maarten) > > > > - Allow dead vm to unbind vma's without lock (Maarten) > > > > - s/engine->i915/i915/ for DG2 engine workarounds (Matt R) > > > > > > > > - Use to_gt() helper for GGTT accesses (Michal Wi.) > > > > - Selftest improvements (Matt B., Thomas, Ram) > > > > - Coding style and compiler warning fixes (Matt B., Jasmine, > > > > Andi, Colin, Gustavo, Dan) > > > > > > > > The following changes since commit > > > > 53dbee4926d3706ca9e03f3928fa85b5ec3bc0cc: > > > > > > > > Merge tag 'drm-misc-next-2022-01-27' of > > > > git://anongit.freedesktop.org/drm/drm-misc into drm-next (2022- > > > > 02-01 19:02:41 +1000) > > > > > > > > are available in the Git repository at: > > > > > > > > git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel- > > > > gt-next-2022-02-17 > > > > > > > > for you to fetch changes up to > > > > 154cfae6158141b18d65abb0db679bb51a8294e7: > > > > > > > > drm/i915/dg2: Add Wa_22011100796 (2022-02-11 17:11:44 +0530) > > > > > > > > --------------------------------------------------------------- > > > > - > > > > UAPI Changes: > > > > > > > > - Weak parallel submission support for execlists > > > > > > > > Minimal implementation of the parallel submission support for > > > > execlists backend that was previously only implemented for > > > > GuC. > > > > Support one sibling non-virtual engine. > > > > > > > > Core Changes: > > > > > > > > - Two backmerges of drm/drm-next for header file > > > > renames/changes and > > > > i915_regs reorganization > > > > > > > > Driver Changes: > > > > > > > > - Add new DG2 subplatform: DG2-G12 (Matt R) > > > > - Add new DG2 workarounds (Matt R, Ram, Bruce) > > > > - Handle pre-programmed WOPCM registers for DG2+ (Daniele) > > > > - Update guc shim control programming on XeHP SDV+ (Daniele) > > > > - Add RPL-S C0/D0 stepping information (Anusha) > > > > - Improve GuC ADS initialization to work on ARM64 on dGFX > > > > (Lucas) > > > > > > > > - Fix KMD and GuC race on accessing PMU busyness (Umesh) > > > > - Use PM timestamp instead of RING TIMESTAMP for reference in > > > > PMU with GuC (Umesh) > > > > - Report error on invalid reset notification from GuC (John) > > > > - Avoid WARN splat by holding RPM wakelock during PXP unbind > > > > (Juston) > > > > - Fixes to parallel submission implementation (Matt B.) > > > > - Improve GuC loading status check/error reports (John) > > > > - Tweak TTM LRU priority hint selection (Matt A.) > > > > - Align the plane_vma to min_page_size of stolen mem (Ram) > > > > > > > > - Introduce vma resources and implement async unbinding > > > > (Thomas) > > > > - Use struct vma_resource instead of struct vma_snapshot > > > > (Thomas) > > > > - Return some TTM accel move errors instead of trying memcpy > > > > move (Thomas) > > > > - Fix a race between vma / object destruction and unbinding > > > > (Thomas) > > > > - Remove short-term pins from execbuf (Maarten) > > > > - Update to GuC version 69.0.3 (John, Michal Wa.) > > > > - Improvements to GT reset paths in GuC backend (Matt B.) > > > > - Use shrinker_release_pages instead of writeback in shmem > > > > object hooks (Matt A., Tvrtko) > > > > - Use trylock instead of blocking lock when freeing GEM objects > > > > (Maarten) > > > > - Allocate intel_engine_coredump_alloc with ALLOW_FAIL (Matt > > > > B.) > > > > - Fixes to object unmapping and purging (Matt A) > > > > - Check for wedged device in GuC backend (John) > > > > - Avoid lockdep splat by locking dpt_obj around set_cache_level > > > > (Maarten) > > > > - Allow dead vm to unbind vma's without lock (Maarten) > > > > - s/engine->i915/i915/ for DG2 engine workarounds (Matt R) > > > > > > > > - Use to_gt() helper for GGTT accesses (Michal Wi.) > > > > - Selftest improvements (Matt B., Thomas, Ram) > > > > - Coding style and compiler warning fixes (Matt B., Jasmine, > > > > Andi, Colin, Gustavo, Dan) > > > > > > > > --------------------------------------------------------------- > > > > - > > > > Andi Shyti (2): > > > > drm/i915: Remove unused i915->ggtt > > > > drm/i915: fix header file inclusion for might_alloc() > > > > > > > > Anusha Srivatsa (1): > > > > drm/i915/rpl-s: Add stepping info > > > > > > > > Bruce Chang (1): > > > > drm/i915/dg2: Add Wa_22011100796 > > > > > > > > Colin Ian King (1): > > > > i915: make array flex_regs static const > > > > > > > > Dan Carpenter (1): > > > > drm/i915: delete shadow "ret" variable > > > > > > > > Daniele Ceraolo Spurio (2): > > > > drm/i915/wopcm: Handle pre-programmed WOPCM registers > > > > drm/i915/guc: Update guc shim control programming on > > > > newer platforms > > > > > > > > Gustavo A. R. Silva (1): > > > > drm/i915/guc: Use struct_size() helper in kmalloc() > > > > > > > > Jasmine Newsome (1): > > > > drm/i915/gem: Use local pointer ttm for __i915_ttm_move > > > > > > > > John Harrison (5): > > > > drm/i915/guc: Report error on invalid reset notification > > > > drm/i915/guc: Check for wedged before doing stuff > > > > drm/i915/guc: Temporarily bump the GuC load timeout > > > > drm/i915/guc: Update to GuC version 69.0.3 > > > > drm/i915/guc: Improve GuC loading status check/error > > > > reports > > > > > > > > Joonas Lahtinen (1): > > > > Merge drm/drm-next into drm-intel-gt-next > > > > > > > > Juston Li (1): > > > > drm/i915/pxp: Hold RPM wakelock during PXP unbind > > > > > > > > Lucas De Marchi (2): > > > > drm/i915/guc: Prepare for error propagation > > > > drm/i915/guc: Use a single pass to calculate regset > > > > > > > > Maarten Lankhorst (8): > > > > drm/i915: Call i915_gem_evict_vm in vm_fault_gtt to > > > > prevent new ENOSPC errors, v2. > > > > drm/i915: Add locking to i915_gem_evict_vm(), v3. > > > > drm/i915: Add object locking to i915_gem_evict_for_node > > > > and i915_gem_evict_something, v2. > > > > drm/i915: Add i915_vma_unbind_unlocked, and take obj lock > > > > for i915_vma_unbind, v2. > > > > drm/i915: Remove support for unlocked i915_vma unbind > > > > drm/i915: Remove short-term pins from execbuf, v6. > > > > drm/i915: Lock dpt_obj around set_cache_level, v2. > > > > drm/i915: Allow dead vm to unbind vma's without lock. > > > > > > > > Matt Roper (4): > > > > drm/i915/dg2: Add Wa_18018781329 > > > > drm/i915/dg2: Add Wa_14015227452 > > > > drm/i915/dg2: s/engine->i915/i915/ for engine workarounds > > > > drm/i915: Introduce G12 subplatform of DG2 > > > > > > > > Matthew Auld (7): > > > > drm/i915: remove writeback hook > > > > drm/i915: clean up shrinker_release_pages > > > > drm/i915: don't call free_mmap_offset when purging > > > > drm/i915/ttm: only fault WILLNEED objects > > > > drm/i915/ttm: add unmap_virtual callback > > > > drm/i915/ttm: ensure we unmap when purging > > > > drm/i915/ttm: tweak priority hint selection > > > > > > > > Matthew Brost (11): > > > > drm/i915/execlists: Weak parallel submission support for > > > > execlists > > > > drm/i915: Fix possible uninitialized variable in parallel > > > > extension > > > > drm/i915: Increment composite fence seqno > > > > drm/i915/selftests: Add a cancel request selftest that > > > > triggers a reset > > > > drm/i915/guc: Remove hacks for reset and schedule disable > > > > G2H being received out of order > > > > drm/i915: Allocate intel_engine_coredump_alloc with > > > > ALLOW_FAIL > > > > drm/i915/guc: Add work queue to trigger a GT reset > > > > drm/i915/guc: Flush G2H handler during a GT reset > > > > drm/i915: Lock timeline mutex directly in error path of > > > > eb_pin_timeline > > > > drm/i915/guc: Ensure multi-lrc fini breadcrumb math is > > > > correct > > > > drm/i915/selftests: Use less in contexts steal guc id > > > > test > > > > > > > > Michał Winiarski (5): > > > > drm/i915/gt: Use to_gt() helper for GGTT accesses > > > > drm/i915: Use to_gt() helper for GGTT accesses > > > > drm/i915/gem: Use to_gt() helper for GGTT accesses > > > > drm/i915/display: Use to_gt() helper for GGTT accesses > > > > drm/i915/selftests: Use to_gt() helper for GGTT accesses > > > > > > > > Ramalingam C (3): > > > > drm/i915/dg2: Add Wa_22011450934 > > > > drm/i915: align the plane_vma to min_page_size of stolen > > > > mem > > > > drm/i915: More gt idling time with guc submission > > > > > > > > Thomas Hellström (9): > > > > drm/i915: Initial introduction of vma resources > > > > drm/i915: Use the vma resource as argument for gtt > > > > binding / unbinding > > > > drm/i915: Don't pin the object pages during pending vma > > > > binds > > > > drm/i915: Use vma resources for async unbinding > > > > drm/i915: Asynchronous migration selftest > > > > drm/i915: Use struct vma_resource instead of struct > > > > vma_snapshot > > > > drm/i915: Fix vma resource freeing > > > > drm/i915: Fix a race between vma / object destruction and > > > > unbinding > > > > drm/i915/ttm: Return some errors instead of trying memcpy > > > > move > > > > > > > > Tvrtko Ursulin (1): > > > > Merge drm/drm-next into drm-intel-gt-next > > > > > > > > Umesh Nerlige Ramappa (2): > > > > drm/i915/pmu: Use PM timestamp instead of RING TIMESTAMP > > > > for reference > > > > drm/i915/pmu: Fix KMD and GuC race on accessing busyness > > > > > > > > Documentation/gpu/i915.rst | 1 + > > > > drivers/gpu/drm/i915/Makefile | 2 +- > > > > drivers/gpu/drm/i915/display/intel_dpt.c | 33 +- > > > > drivers/gpu/drm/i915/display/intel_fb_pin.c | 8 +- > > > > drivers/gpu/drm/i915/display/intel_fbc.c | 2 +- > > > > drivers/gpu/drm/i915/display/intel_fbdev.c | 2 +- > > > > drivers/gpu/drm/i915/display/intel_plane_initial.c | 7 +- > > > > drivers/gpu/drm/i915/gem/i915_gem_context.c | 11 +- > > > > drivers/gpu/drm/i915/gem/i915_gem_context.h | 2 +- > > > > drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 248 > > > > ++++++------ > > > > drivers/gpu/drm/i915/gem/i915_gem_mman.c | 36 +- > > > > drivers/gpu/drm/i915/gem/i915_gem_object.c | 18 + > > > > drivers/gpu/drm/i915/gem/i915_gem_object.h | 4 +- > > > > drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 51 ++- > > > > drivers/gpu/drm/i915/gem/i915_gem_pages.c | 10 - > > > > drivers/gpu/drm/i915/gem/i915_gem_pm.c | 2 +- > > > > drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 17 +- > > > > drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 30 +- > > > > drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 8 +- > > > > drivers/gpu/drm/i915/gem/i915_gem_tiling.c | 15 +- > > > > drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 16 +- > > > > drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c | 27 +- > > > > drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 39 +- > > > > .../drm/i915/gem/selftests/i915_gem_client_blt.c | 4 +- > > > > .../gpu/drm/i915/gem/selftests/i915_gem_context.c | 2 +- > > > > .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c | 192 > > > > +++++++++- > > > > drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 25 +- > > > > .../gpu/drm/i915/gem/selftests/i915_gem_object.c | 2 +- > > > > drivers/gpu/drm/i915/gt/gen6_ppgtt.c | 19 +- > > > > drivers/gpu/drm/i915/gt/gen8_ppgtt.c | 37 +- > > > > drivers/gpu/drm/i915/gt/intel_context.c | 4 +- > > > > drivers/gpu/drm/i915/gt/intel_engine_cs.c | 9 +- > > > > .../gpu/drm/i915/gt/intel_execlists_submission.c | 38 ++ > > > > drivers/gpu/drm/i915/gt/intel_ggtt.c | 133 ++++- > > > > -- > > > > drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c | 7 +- > > > > drivers/gpu/drm/i915/gt/intel_gt.c | 7 +- > > > > drivers/gpu/drm/i915/gt/intel_gt.h | 2 +- > > > > drivers/gpu/drm/i915/gt/intel_gtt.c | 4 + > > > > drivers/gpu/drm/i915/gt/intel_gtt.h | 19 +- > > > > drivers/gpu/drm/i915/gt/intel_lrc.c | 32 ++ > > > > drivers/gpu/drm/i915/gt/intel_ppgtt.c | 22 +- > > > > drivers/gpu/drm/i915/gt/intel_region_lmem.c | 4 +- > > > > drivers/gpu/drm/i915/gt/intel_reset.c | 9 + > > > > drivers/gpu/drm/i915/gt/intel_workarounds.c | 39 +- > > > > drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 2 +- > > > > drivers/gpu/drm/i915/gt/selftest_reset.c | 2 +- > > > > drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h | 80 ++-- > > > > drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h | 23 ++ > > > > drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h | 82 ++++ > > > > drivers/gpu/drm/i915/gt/uc/intel_guc.c | 126 > > > > ++++++- > > > > drivers/gpu/drm/i915/gt/uc/intel_guc.h | 25 ++ > > > > drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c | 204 > > > > +++++++--- > > > > drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c | 143 +++-- > > > > -- > > > > drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c | 38 +- > > > > drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h | 37 +- > > > > drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 31 +- > > > > drivers/gpu/drm/i915/gt/uc/intel_guc_log.h | 3 + > > > > drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h | 7 +- > > > > drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 262 > > > > +++++++++---- > > > > drivers/gpu/drm/i915/gt/uc/intel_huc.c | 1 + > > > > drivers/gpu/drm/i915/gt/uc/intel_uc.c | 31 +- > > > > drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 43 ++- > > > > drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h | 2 +- > > > > drivers/gpu/drm/i915/gt/uc/selftest_guc.c | 2 +- > > > > drivers/gpu/drm/i915/gvt/aperture_gm.c | 2 +- > > > > drivers/gpu/drm/i915/gvt/dmabuf.c | 2 +- > > > > drivers/gpu/drm/i915/i915_debugfs.c | 7 +- > > > > drivers/gpu/drm/i915/i915_driver.c | 10 +- > > > > drivers/gpu/drm/i915/i915_drv.h | 32 +- > > > > drivers/gpu/drm/i915/i915_gem.c | 37 +- > > > > drivers/gpu/drm/i915/i915_gem_evict.c | 101 ++++- > > > > drivers/gpu/drm/i915/i915_gem_gtt.c | 16 +- > > > > drivers/gpu/drm/i915/i915_gem_gtt.h | 4 + > > > > drivers/gpu/drm/i915/i915_getparam.c | 2 +- > > > > drivers/gpu/drm/i915/i915_gpu_error.c | 89 ++--- > > > > drivers/gpu/drm/i915/i915_module.c | 3 + > > > > drivers/gpu/drm/i915/i915_pci.c | 1 + > > > > drivers/gpu/drm/i915/i915_perf.c | 8 +- > > > > drivers/gpu/drm/i915/i915_reg.h | 12 +- > > > > drivers/gpu/drm/i915/i915_request.c | 12 +- > > > > drivers/gpu/drm/i915/i915_request.h | 6 +- > > > > drivers/gpu/drm/i915/i915_vgpu.c | 2 +- > > > > drivers/gpu/drm/i915/i915_vma.c | 376 > > > > +++++++++++++----- > > > > drivers/gpu/drm/i915/i915_vma.h | 34 +- > > > > drivers/gpu/drm/i915/i915_vma_resource.c | 418 > > > > +++++++++++++++++++++ > > > > drivers/gpu/drm/i915/i915_vma_resource.h | 234 > > > > ++++++++++++ > > > > drivers/gpu/drm/i915/i915_vma_snapshot.c | 134 ----- > > > > -- > > > > drivers/gpu/drm/i915/i915_vma_snapshot.h | 112 ----- > > > > - > > > > drivers/gpu/drm/i915/i915_vma_types.h | 19 +- > > > > drivers/gpu/drm/i915/intel_device_info.h | 4 +- > > > > drivers/gpu/drm/i915/intel_step.c | 15 + > > > > drivers/gpu/drm/i915/intel_wopcm.c | 42 ++- > > > > drivers/gpu/drm/i915/selftests/i915_gem.c | 8 +- > > > > drivers/gpu/drm/i915/selftests/i915_gem_evict.c | 28 +- > > > > drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 209 > > > > +++++++---- > > > > drivers/gpu/drm/i915/selftests/i915_request.c | 119 > > > > +++++- > > > > drivers/gpu/drm/i915/selftests/i915_vma.c | 30 +- > > > > drivers/gpu/drm/i915/selftests/igt_flush_test.c | 2 +- > > > > drivers/gpu/drm/i915/selftests/mock_gem_device.c | 11 +- > > > > drivers/gpu/drm/i915/selftests/mock_gtt.c | 21 +- > > > > drivers/gpu/drm/i915/selftests/mock_gtt.h | 3 +- > > > > 101 files changed, 3149 insertions(+), 1359 deletions(-) > > > > create mode 100644 > > > > drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h > > > > create mode 100644 drivers/gpu/drm/i915/i915_vma_resource.c > > > > create mode 100644 drivers/gpu/drm/i915/i915_vma_resource.h > > > > delete mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.c > > > > delete mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.h > > > > -- > > Jani Nikula, Intel Open Source Graphics Center