mbox series

[PULL] drm-intel-gt-next

Message ID YGxksaZGXHnFxlwg@jlahtine-mobl.ger.corp.intel.com (mailing list archive)
State New, archived
Headers show
Series [PULL] drm-intel-gt-next | expand

Pull-request

git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2021-04-06

Message

Joonas Lahtinen April 6, 2021, 1:40 p.m. UTC
Hi Dave & Daniel,

Bit late PR due to Easter break. 

Prep work for local memory support as requested. Hard hang
fix for Sandybridge. Sanitize dma-buf size on import and
avoid GPU reset if heartbeat callback runs before timeout.

The rest is mostly small fixes and code/checkpatch cleanups.

Regards, Joonas

***

drm-intel-gt-next-2021-04-06:
Driver Changes:

- Prepare for local/device memory support on DG1 by starting
  to use it for kernel internal allocations: context, ring
  and engine scratch (Matt A, CQ, Abdiel, Imre)
- Sandybridge fix to avoid hard hang on ring resume (Chris)
- Limit imported dma-buf size to int32 (Matt A)
- Double check heartbeat timeout before resetting (Chris)

- Use new tasklet API for execution list (Emil)
- Fix SPDX checkpats warnings (Chris)
- Fixes for various checkpatch warnings (Chris)
- Selftest improvements (Chris)
- Move the defer_request waiter active assertion to correct spot (Chris)
- Make local-memory probing a GT operation (Matt, Tvrtko)
- Protect against request freeing during cancellation on wedging (Chris)
- Retire unexpected starting state error dumping (Chris)
- Distinction of memory regions in debugging (Zbigniew)
- Always flush the submission queue on checking for idle (Chris)

- Consolidate 2big error check to helper (Matt)
- Decrease number of subplatform bits (Tvrtko)
- Remove unused internal request priority levels (Chris)
- Document the unused internal header bits in buddy allocator (Matt)
- Cleanup the region class/instance encoding (Matt)

The following changes since commit 06debd6e1b28029e6e77c41e59a162868f377897:

  Merge tag 'drm-intel-next-2021-03-16' of git://anongit.freedesktop.org/drm/drm-intel into drm-next (2021-03-18 08:06:34 +1000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2021-04-06

for you to fetch changes up to 2da21daa7d93817fa82f703c29adfcb5eed7f77d:

  drm/i915/gt: Always flush the submission queue on checking for idle (2021-03-24 19:31:59 +0100)

----------------------------------------------------------------
Driver Changes:

- Prepare for local/device memory support on DG1 by starting
  to use it for kernel internal allocations: context, ring
  and engine scratch (Matt A, CQ, Abdiel, Imre)
- Sandybridge fix to avoid hard hang on ring resume (Chris)
- Limit imported dma-buf size to int32 (Matt A)
- Double check heartbeat timeout before resetting (Chris)

- Use new tasklet API for execution list (Emil)
- Fix SPDX checkpats warnings (Chris)
- Fixes for various checkpatch warnings (Chris)
- Selftest improvements (Chris)
- Move the defer_request waiter active assertion to correct spot (Chris)
- Make local-memory probing a GT operation (Matt, Tvrtko)
- Protect against request freeing during cancellation on wedging (Chris)
- Retire unexpected starting state error dumping (Chris)
- Distinction of memory regions in debugging (Zbigniew)
- Always flush the submission queue on checking for idle (Chris)

- Consolidate 2big error check to helper (Matt)
- Decrease number of subplatform bits (Tvrtko)
- Remove unused internal request priority levels (Chris)
- Document the unused internal header bits in buddy allocator (Matt)
- Cleanup the region class/instance encoding (Matt)

----------------------------------------------------------------
Abdiel Janulgue (1):
      drm/i915: introduce mem->reserved

CQ Tang (1):
      drm/i915: reserve stolen for LMEM region

Chris Wilson (22):
      drm/i915: Strip out internal priorities
      drm/i915: Remove I915_USER_PRIORITY_SHIFT
      drm/i915/gt: Call stop_ring() from ring resume, again
      drm/i915/gt: SPDX cleanup
      drm/i915/gt: Add some missing blank lines after declaration
      drm/i915/gt: Remove repeated words from comments
      drm/i915/gt: Fixup misaligned function parameters
      drm/i915/gt: Remove a bonus newline
      drm/i915/gt: Wrap macro arg in ()
      drm/i915/gt: Insert spaces into GEN3_L3LOG_SIZE/4
      drm/i915/gt: Replace unnecessary ',' with '; '
      drm/i915/gt: Add a space before '('
      drm/i915/gt: Replace 'return' with a fall-through
      drm/i915/selftests: Check for engine-reset errors in the middle of workarounds
      drm/i915/gt: Move the defer_request waiter active assertion
      drm/i915: Protect against request freeing during cancellation on wedging
      drm/i915/selftests: Use a single copy of the mocs table
      drm/i915/gt: Retire unexpected starting state error dumping
      drm/i915/selftests: Restore previous heartbeat interval
      drm/i915/gt: Double check heartbeat timeout before resetting
      drm/i915/selftest: Synchronise with the GPU timestamp
      drm/i915/gt: Always flush the submission queue on checking for idle

Emil Renner Berthing (1):
      drm/i915/gt: use new tasklet API for execution list

Imre Deak (1):
      drm/i915/dg1: Reserve first 1MB of local memory

Matthew Auld (11):
      drm/i915/gem: don't trust the dma_buf->size
      drm/i915/gem: consolidate 2big error checking for object sizes
      drm/i915/buddy: document the unused header bits
      drm/i915: make local-memory probing a GT operation
      drm/i915: setup the LMEM region
      drm/i915: allocate context from LMEM
      drm/i915: move engine scratch to LMEM
      drm/i915/gtt/dg1: add PTE_LM plumbing for ppGTT
      drm/i915/gtt/dg1: add PTE_LM plumbing for GGTT
      drm/i915: cleanup the region class/instance encoding
      drm/i915: give stolen system memory its own class

Michel Thierry (1):
      drm/i915: allocate cmd ring in lmem

Tvrtko Ursulin (1):
      drm/i915: Decrease number of subplatform bits

Zbigniew KempczyƄski (1):
      drm/i915: Distinction of memory regions

 drivers/gpu/drm/i915/display/intel_display.c       |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |   6 +-
 drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c         |   3 +
 drivers/gpu/drm/i915/gem/i915_gem_object.h         |  26 ++++
 drivers/gpu/drm/i915/gem/i915_gem_region.c         |  12 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_userptr.c        |  16 +--
 .../drm/i915/gem/selftests/i915_gem_object_blt.c   |   4 +-
 drivers/gpu/drm/i915/gt/debugfs_gt.c               |   2 +-
 drivers/gpu/drm/i915/gt/gen6_ppgtt.h               |   4 +-
 drivers/gpu/drm/i915/gt/gen6_renderstate.c         |  20 +--
 drivers/gpu/drm/i915/gt/gen7_renderstate.c         |  20 +--
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  13 +-
 drivers/gpu/drm/i915/gt/gen8_renderstate.c         |  20 +--
 drivers/gpu/drm/i915/gt/gen9_renderstate.c         |  20 +--
 drivers/gpu/drm/i915/gt/intel_breadcrumbs.c        |  23 +---
 drivers/gpu/drm/i915/gt/intel_context.c            |   3 +-
 drivers/gpu/drm/i915/gt/intel_context.h            |   3 +-
 drivers/gpu/drm/i915/gt/intel_context_types.h      |   3 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  35 +----
 drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c   |  26 ++--
 drivers/gpu/drm/i915/gt/intel_engine_heartbeat.h   |   3 +-
 drivers/gpu/drm/i915/gt/intel_engine_pm.c          |   3 +-
 drivers/gpu/drm/i915/gt/intel_engine_pm.h          |   3 +-
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |   3 +-
 drivers/gpu/drm/i915/gt/intel_engine_user.c        |   3 +-
 drivers/gpu/drm/i915/gt/intel_engine_user.h        |   3 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |  97 +++++---------
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |  26 +++-
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |  23 +---
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.h       |  21 +--
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  44 ++++++-
 drivers/gpu/drm/i915/gt/intel_gt.h                 |   1 +
 .../gpu/drm/i915/gt/intel_gt_buffer_pool_types.h   |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c     |   1 -
 drivers/gpu/drm/i915/gt/intel_gt_irq.c             |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_irq.h             |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm.h              |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c          |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_irq.h          |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_requests.c        |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_requests.h        |   3 +-
 drivers/gpu/drm/i915/gt/intel_gtt.h                |   5 +
 drivers/gpu/drm/i915/gt/intel_llc.c                |   3 +-
 drivers/gpu/drm/i915/gt/intel_llc.h                |   3 +-
 drivers/gpu/drm/i915/gt/intel_llc_types.h          |   3 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c                |   6 +-
 drivers/gpu/drm/i915/gt/intel_lrc_reg.h            |   5 +-
 drivers/gpu/drm/i915/gt/intel_mocs.c               |  21 +--
 drivers/gpu/drm/i915/gt/intel_mocs.h               |  22 +---
 drivers/gpu/drm/i915/gt/intel_ppgtt.c              |   4 +
 drivers/gpu/drm/i915/gt/intel_rc6.c                |   4 +-
 drivers/gpu/drm/i915/gt/intel_rc6.h                |   3 +-
 drivers/gpu/drm/i915/gt/intel_rc6_types.h          |   3 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c        |  97 +++++++++++++-
 drivers/gpu/drm/i915/gt/intel_region_lmem.h        |   6 +-
 drivers/gpu/drm/i915/gt/intel_renderstate.c        |  27 +---
 drivers/gpu/drm/i915/gt/intel_renderstate.h        |  20 +--
 drivers/gpu/drm/i915/gt/intel_reset.c              |  18 +--
 drivers/gpu/drm/i915/gt/intel_reset.h              |   3 +-
 drivers/gpu/drm/i915/gt/intel_reset_types.h        |   2 +-
 drivers/gpu/drm/i915/gt/intel_ring.c               |   8 +-
 drivers/gpu/drm/i915/gt/intel_ring.h               |   4 +-
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    | 146 +++++++++------------
 drivers/gpu/drm/i915/gt/intel_ring_types.h         |   3 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                |   3 +-
 drivers/gpu/drm/i915/gt/intel_rps.h                |   3 +-
 drivers/gpu/drm/i915/gt/intel_rps_types.h          |   3 +-
 drivers/gpu/drm/i915/gt/intel_sseu.c               |   3 +-
 drivers/gpu/drm/i915/gt/intel_sseu.h               |   3 +-
 drivers/gpu/drm/i915/gt/intel_timeline.c           |   3 +-
 drivers/gpu/drm/i915/gt/intel_timeline.h           |  21 +--
 drivers/gpu/drm/i915/gt/intel_timeline_types.h     |   3 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |  14 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.h        |   3 +-
 drivers/gpu/drm/i915/gt/intel_workarounds_types.h  |   3 +-
 drivers/gpu/drm/i915/gt/mock_engine.c              |  29 +---
 drivers/gpu/drm/i915/gt/mock_engine.h              |  21 +--
 drivers/gpu/drm/i915/gt/selftest_context.c         |   3 +-
 drivers/gpu/drm/i915/gt/selftest_engine.c          |   3 +-
 drivers/gpu/drm/i915/gt/selftest_engine.h          |   3 +-
 drivers/gpu/drm/i915/gt/selftest_engine_cs.c       |   3 +-
 .../gpu/drm/i915/gt/selftest_engine_heartbeat.c    |  17 ++-
 drivers/gpu/drm/i915/gt/selftest_engine_pm.c       |  11 +-
 drivers/gpu/drm/i915/gt/selftest_execlists.c       |  54 +++-----
 drivers/gpu/drm/i915/gt/selftest_gt_pm.c           |   4 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |  21 +--
 drivers/gpu/drm/i915/gt/selftest_llc.c             |   3 +-
 drivers/gpu/drm/i915/gt/selftest_llc.h             |   3 +-
 drivers/gpu/drm/i915/gt/selftest_lrc.c             |   1 -
 drivers/gpu/drm/i915/gt/selftest_mocs.c            |  35 +++--
 drivers/gpu/drm/i915/gt/selftest_rc6.c             |   3 +-
 drivers/gpu/drm/i915/gt/selftest_rc6.h             |   3 +-
 drivers/gpu/drm/i915/gt/selftest_timeline.c        |   3 +-
 drivers/gpu/drm/i915/gt/selftest_workarounds.c     |  19 ++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  16 +--
 drivers/gpu/drm/i915/i915_buddy.c                  |   3 +
 drivers/gpu/drm/i915/i915_buddy.h                  |   7 +-
 drivers/gpu/drm/i915/i915_drv.c                    |   6 +-
 drivers/gpu/drm/i915/i915_drv.h                    |   2 +-
 drivers/gpu/drm/i915/i915_pci.c                    |   2 +-
 drivers/gpu/drm/i915/i915_priolist_types.h         |  11 +-
 drivers/gpu/drm/i915/i915_reg.h                    |   2 +
 drivers/gpu/drm/i915/i915_request.c                |   9 +-
 drivers/gpu/drm/i915/i915_request.h                |   2 +-
 drivers/gpu/drm/i915/i915_scheduler.c              |  52 +-------
 drivers/gpu/drm/i915/i915_scheduler.h              |  16 +--
 drivers/gpu/drm/i915/intel_device_info.c           |   2 +-
 drivers/gpu/drm/i915/intel_device_info.h           |   3 +-
 drivers/gpu/drm/i915/intel_memory_region.c         |  54 +++++---
 drivers/gpu/drm/i915/intel_memory_region.h         |  22 ++--
 drivers/gpu/drm/i915/selftests/i915_buddy.c        |  48 +++++++
 .../gpu/drm/i915/selftests/intel_memory_region.c   |  77 +++++++++++
 115 files changed, 735 insertions(+), 844 deletions(-)