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