mbox series

[PULL] drm-intel-gt-next

Message ID YMHeDxg9VLiFtyn3@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-06-10

Message

Joonas Lahtinen June 10, 2021, 9:40 a.m. UTC
Hi Dave & Daniel,

Here's the final -gt-next PR for 5.14.

Two major uAPI changes for new Gen12+ platforms: Stop supporting
old MMAP IOCTL (excl. TGL) and require use of MMAP_OFFSET instead.
Start enabling HuC loading by default (excl. TGL and RKL).

Revert for io_mapping_map_user which was already in -fixes.

Enabling of the TTM device and memory managers for handling LMEM
on dGFX (currently replaces the buddy allocator). Note that this
only impacts the platforms behind force probe protection.

A lot of improvments to the GuC submission backend to prepare for
enabling on newer platforms.

Only a couple other reworks and fixes.

Regards, Joonas

***

drm-intel-gt-next-2021-06-10:

UAPI Changes:

- Disable mmap ioctl for gen12+ (excl. TGL-LP)
- Start enabling HuC loading by default for upcoming Gen12+
  platforms (excludes TGL and RKL)

Core Changes:

- Backmerge of drm-next

Driver Changes:

- Revert "i915: use io_mapping_map_user" (Eero, Matt A)
- Initialize the TTM device and memory managers (Thomas)
- Major rework to the GuC submission backend to prepare
  for enabling on new platforms (Michal Wa., Daniele,
  Matt B, Rodrigo)
- Fix i915_sg_page_sizes to record dma segments rather
  than physical pages (Thomas)

- Locking rework to prep for TTM conversion (Thomas)
- Replace IS_GEN and friends with GRAPHICS_VER (Lucas)
- Use DEVICE_ATTR_RO macro (Yue)
- Static code checker fixes (Zhihao)

The following changes since commit ccd1950c2f7e38ae45aeefb99a08b39407cd6c63:

  Merge tag 'drm-intel-gt-next-2021-05-28' of git://anongit.freedesktop.org/drm/drm-intel into drm-next (2021-06-02 14:15:54 +1000)

are available in the Git repository at:

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

for you to fetch changes up to 47c65b3853f88d105017ef512a521794db51bfeb:

  drm/i915/uc: Use platform specific defaults for GuC/HuC enabling (2021-06-09 10:52:03 -0700)

----------------------------------------------------------------
UAPI Changes:

- Disable mmap ioctl for gen12+ (excl. TGL-LP)
- Start enabling HuC loading by default for upcoming Gen12+
  platforms (excludes TGL and RKL)

Core Changes:

- Backmerge of drm-next

Driver Changes:

- Revert "i915: use io_mapping_map_user" (Eero, Matt A)
- Initialize the TTM device and memory managers (Thomas)
- Major rework to the GuC submission backend to prepare
  for enabling on new platforms (Michal Wa., Daniele,
  Matt B, Rodrigo)
- Fix i915_sg_page_sizes to record dma segments rather
  than physical pages (Thomas)

- Locking rework to prep for TTM conversion (Thomas)
- Replace IS_GEN and friends with GRAPHICS_VER (Lucas)
- Use DEVICE_ATTR_RO macro (Yue)
- Static code checker fixes (Zhihao)

----------------------------------------------------------------
Daniele Ceraolo Spurio (4):
      drm/i915/guc: skip disabling CTBs before sanitizing the GuC
      drm/i915/guc: use probe_error log for CT enablement failure
      drm/i915/guc: enable only the user interrupt when using GuC submission
      drm/i915/guc: Use guc_class instead of engine_class in fw interface

John Harrison (1):
      drm/i915/uc: Use platform specific defaults for GuC/HuC enabling

Joonas Lahtinen (1):
      Merge drm/drm-next into drm-intel-gt-next

Lucas De Marchi (3):
      drm/i915/gt: replace IS_GEN and friends with GRAPHICS_VER
      drm/i915/gt: Add remaining conversions to GRAPHICS_VER
      drm/i915/gem: replace IS_GEN and friends with GRAPHICS_VER

Maarten Lankhorst (1):
      drm/i915: Disable mmap ioctl for gen12+

Matthew Auld (1):
      Revert "i915: use io_mapping_map_user"

Matthew Brost (2):
      drm/i915/guc: Drop guc->interrupts.enabled
      drm/i915/guc: Ensure H2G buffer updates visible before tail update

Michal Wajdeczko (12):
      drm/i915/guc: Keep strict GuC ABI definitions
      drm/i915/guc: Stop using fence/status from CTB descriptor
      drm/i915: Promote ptrdiff() to i915_utils.h
      drm/i915/guc: Only rely on own CTB size
      drm/i915/guc: Don't repeat CTB layout calculations
      drm/i915/guc: Replace CTB array with explicit members
      drm/i915/guc: Update sizes of CTB buffers
      drm/i915/guc: Start protecting access to CTB descriptors
      drm/i915/guc: Stop using mutex while sending CTB messages
      drm/i915/guc: Don't receive all G2H messages in irq handler
      drm/i915/guc: Always copy CT message to new allocation
      drm/i915/guc: Early initialization of GuC send registers

Rodrigo Vivi (1):
      drm/i915/guc: Remove sample_forcewake h2g action

Thomas Hellström (5):
      drm/i915: Untangle the vma pages_mutex
      drm/i915: Don't free shared locks while shared
      drm/i915: Fix i915_sg_page_sizes to record dma segments rather than physical pages
      drm/i915/ttm Initialize the ttm device and memory managers
      drm/i915/ttm: Embed a ttm buffer object in the i915 gem object

YueHaibing (1):
      drm/i915: use DEVICE_ATTR_RO macro

Zhihao Cheng (1):
      drm/i915/selftests: Fix return value check in live_breadcrumbs_smoketest()

 drivers/gpu/drm/i915/Kconfig                       |   2 +-
 drivers/gpu/drm/i915/Makefile                      |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |   6 +-
 drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c         |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  10 +-
 drivers/gpu/drm/i915/gem/i915_gem_lmem.c           |  59 +-
 drivers/gpu/drm/i915/gem/i915_gem_mman.c           |  16 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |  10 +
 drivers/gpu/drm/i915/gem/i915_gem_object_blt.c     |   8 +-
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  22 +-
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |   3 +-
 drivers/gpu/drm/i915/gem/i915_gem_phys.c           |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_region.c         | 120 ----
 drivers/gpu/drm/i915/gem/i915_gem_region.h         |   4 -
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |  26 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.h         |   9 +-
 drivers/gpu/drm/i915/gem/i915_gem_tiling.c         |  12 +-
 drivers/gpu/drm/i915/gem/i915_gem_userptr.c        |   2 +-
 .../drm/i915/gem/selftests/i915_gem_client_blt.c   |  10 +-
 .../drm/i915/gem/selftests/i915_gem_coherency.c    |   4 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |  16 +-
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  14 +-
 drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c |  10 +-
 drivers/gpu/drm/i915/gt/debugfs_gt_pm.c            |  40 +-
 drivers/gpu/drm/i915/gt/gen2_engine_cs.c           |   2 +-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           |   2 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |   2 +-
 drivers/gpu/drm/i915/gt/intel_context_sseu.c       |   2 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  60 +-
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |   4 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |  18 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |  37 +-
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |  34 +-
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  29 +-
 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c     |  12 +-
 drivers/gpu/drm/i915/gt/intel_gt_irq.c             |  24 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c          |  10 +-
 drivers/gpu/drm/i915/gt/intel_gtt.c                |  59 +-
 drivers/gpu/drm/i915/gt/intel_gtt.h                |  28 +-
 drivers/gpu/drm/i915/gt/intel_llc.c                |   6 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c                |  46 +-
 drivers/gpu/drm/i915/gt/intel_mocs.c               |   8 +-
 drivers/gpu/drm/i915/gt/intel_ppgtt.c              |   8 +-
 drivers/gpu/drm/i915/gt/intel_rc6.c                |  16 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c        |  27 +-
 drivers/gpu/drm/i915/gt/intel_renderstate.c        |   2 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |  14 +-
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    |  64 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                |  60 +-
 drivers/gpu/drm/i915/gt/intel_sseu.c               |  14 +-
 drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c       |   6 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |  66 +-
 drivers/gpu/drm/i915/gt/selftest_engine_cs.c       |   6 +-
 drivers/gpu/drm/i915/gt/selftest_engine_pm.c       |   2 +-
 drivers/gpu/drm/i915/gt/selftest_execlists.c       |   4 +-
 drivers/gpu/drm/i915/gt/selftest_gt_pm.c           |   8 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |   8 +-
 drivers/gpu/drm/i915/gt/selftest_llc.c             |   4 +-
 drivers/gpu/drm/i915/gt/selftest_lrc.c             |   8 +-
 drivers/gpu/drm/i915/gt/selftest_mocs.c            |   2 +-
 drivers/gpu/drm/i915/gt/selftest_rc6.c             |   4 +-
 drivers/gpu/drm/i915/gt/selftest_ring_submission.c |   6 +-
 drivers/gpu/drm/i915/gt/selftest_rps.c             |  16 +-
 drivers/gpu/drm/i915/gt/selftest_timeline.c        |   6 +-
 drivers/gpu/drm/i915/gt/selftest_workarounds.c     |   8 +-
 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h   |  51 ++
 .../drm/i915/gt/uc/abi/guc_communication_ctb_abi.h | 106 +++
 .../i915/gt/uc/abi/guc_communication_mmio_abi.h    |  52 ++
 drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h    |  14 +
 drivers/gpu/drm/i915/gt/uc/abi/guc_messages_abi.h  |  21 +
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |  63 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |   2 -
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |  22 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          | 532 ++++++++------
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.h          |  14 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        | 233 +-----
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  37 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc.c             |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  14 +-
 drivers/gpu/drm/i915/i915_buddy.c                  | 435 ------------
 drivers/gpu/drm/i915/i915_buddy.h                  | 131 ----
 drivers/gpu/drm/i915/i915_drv.c                    |  13 +
 drivers/gpu/drm/i915/i915_drv.h                    |  11 +-
 drivers/gpu/drm/i915/i915_gem.c                    |   1 +
 drivers/gpu/drm/i915/i915_globals.c                |   1 -
 drivers/gpu/drm/i915/i915_globals.h                |   1 -
 drivers/gpu/drm/i915/i915_mm.c                     |  44 ++
 drivers/gpu/drm/i915/i915_params.c                 |   2 +-
 drivers/gpu/drm/i915/i915_params.h                 |   2 +-
 drivers/gpu/drm/i915/i915_pmu.c                    |   8 +-
 drivers/gpu/drm/i915/i915_scatterlist.c            |  70 ++
 drivers/gpu/drm/i915/i915_scatterlist.h            |  20 +-
 drivers/gpu/drm/i915/i915_sysfs.c                  |  30 +-
 drivers/gpu/drm/i915/i915_utils.h                  |   5 +
 drivers/gpu/drm/i915/i915_vma.c                    |  29 +-
 drivers/gpu/drm/i915/i915_vma.h                    |   5 -
 drivers/gpu/drm/i915/intel_memory_region.c         | 180 ++---
 drivers/gpu/drm/i915/intel_memory_region.h         |  44 +-
 drivers/gpu/drm/i915/intel_region_ttm.c            | 220 ++++++
 drivers/gpu/drm/i915/intel_region_ttm.h            |  32 +
 drivers/gpu/drm/i915/selftests/i915_buddy.c        | 789 ---------------------
 .../gpu/drm/i915/selftests/i915_mock_selftests.h   |   1 -
 drivers/gpu/drm/i915/selftests/i915_request.c      |   4 +-
 .../gpu/drm/i915/selftests/intel_memory_region.c   | 133 ++--
 drivers/gpu/drm/i915/selftests/mock_gem_device.c   |  10 +
 drivers/gpu/drm/i915/selftests/mock_region.c       |  70 +-
 108 files changed, 1888 insertions(+), 2723 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_communication_ctb_abi.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_communication_mmio_abi.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_messages_abi.h
 delete mode 100644 drivers/gpu/drm/i915/i915_buddy.c
 delete mode 100644 drivers/gpu/drm/i915/i915_buddy.h
 create mode 100644 drivers/gpu/drm/i915/intel_region_ttm.c
 create mode 100644 drivers/gpu/drm/i915/intel_region_ttm.h
 delete mode 100644 drivers/gpu/drm/i915/selftests/i915_buddy.c