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

Dave Airlie airlied at gmail.com
Sun Feb 20 23:30:55 UTC 2022


On Thu, 17 Feb 2022 at 20:26, Joonas Lahtinen
<joonas.lahtinen at 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


More information about the Intel-gfx mailing list