Hi Dave and Daniel, On behalf of Tvrtko, who is recovering from Covid, here goes the latest drm-intel-gt-next pull request targeting 5.20. Thanks, Rodrigo. Driver uAPI changes: - All related to the Small BAR support: (and all by Matt Auld) * add probed_cpu_visible_size * expose the avail memory region tracking * apply ALLOC_GPU only by default * add NEEDS_CPU_ACCESS hint * tweak error capture on recoverable contexts Driver highlights: - Add Small BAR support (Matt) - Add MeteorLake support (RK) - Add support for LMEM PCIe resizable BAR (Akeem) Driver important fixes: - ttm related fixes (Matt Auld) - Fix a performance regression related to waitboost (Chris) - Fix GT resets (Chris) Driver others: - Adding GuC SLPC selftest (Vinay) - Fix ADL-N GuC load (Daniele) - Add platform workaround (Gustavo, Matt Roper) - DG2 and ATS-M device ID updates (Matt Roper) - Add VM_BIND doc rfc with uAPI documentation (Niranjana) - Fix user-after-free in vma destruction (Thomas) - Async flush of GuC log regions (Alan) - Fixes in selftests (Chris, Dan, Andrzej) - Convert to drm_dbg (Umesh) - Disable OA sseu config param for newer hardware (Umesh) - Multi-cast register steering changes (Matt Roper) - Add lmem_bar_size modparam (Priyanka) Thanks, Rodrigo. The following changes since commit a06968563775181690125091f470a8655742dcbf: drm/i915: Fix a lockdep warning at error capture (2022-06-29 14:52:50 +0530) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-07-13 for you to fetch changes up to 17cd10a44a8962860ff4ba351b2a290e752dbbde: drm/i915: Add lmem_bar_size modparam (2022-07-13 17:47:51 +0100) ---------------------------------------------------------------- Driver uAPI changes: - All related to the Small BAR support: (and all by Matt Auld) * add probed_cpu_visible_size * expose the avail memory region tracking * apply ALLOC_GPU only by default * add NEEDS_CPU_ACCESS hint * tweak error capture on recoverable contexts Driver highlights: - Add Small BAR support (Matt) - Add MeteorLake support (RK) - Add support for LMEM PCIe resizable BAR (Akeem) Driver important fixes: - ttm related fixes (Matt Auld) - Fix a performance regression related to waitboost (Chris) - Fix GT resets (Chris) Driver others: - Adding GuC SLPC selftest (Vinay) - Fix ADL-N GuC load (Daniele) - Add platform workaround (Gustavo, Matt Roper) - DG2 and ATS-M device ID updates (Matt Roper) - Add VM_BIND doc rfc with uAPI documentation (Niranjana) - Fix user-after-free in vma destruction (Thomas) - Async flush of GuC log regions (Alan) - Fixes in selftests (Chris, Dan, Andrzej) - Convert to drm_dbg (Umesh) - Disable OA sseu config param for newer hardware (Umesh) - Multi-cast register steering changes (Matt Roper) - Add lmem_bar_size modparam (Priyanka) ---------------------------------------------------------------- Akeem G Abodunrin (1): drm/i915: Add support for LMEM PCIe resizable bar Alan Previn (1): drm/i915/guc: Asynchronous flush of GuC log regions Andrzej Hajda (1): drm/i915/selftests: fix subtraction overflow bug Chris Wilson (6): drm/i915/selftests: Grab the runtime pm in shrink_thp drm/i915/gt: Serialize GRDOM access between multiple engine resets drm/i915/gt: Serialize TLB invalidates with GT resets drm/i915/gem: Look for waitboosting across the whole object prior to individual waits drm/i915: Bump GT idling delay to 2 jiffies drm/i915/gt: Only kick the signal worker if there's been an update Dan Carpenter (1): drm/i915/selftests: fix a couple IS_ERR() vs NULL tests Daniele Ceraolo Spurio (1): drm/i915/guc: ADL-N should use the same GuC FW as ADL-S Gustavo Sousa (1): drm/i915/pvc: Implement w/a 16016694945 Matt Roper (4): drm/i915: DG2 and ATS-M device ID updates drm/i915/gt: Add general DSS steering iterator to intel_gt_mcr drm/i915/dg2: Add Wa_15010599737 drm/i915: Correct ss -> steering calculation for pre-Xe_HP platforms Matthew Auld (15): drm/doc: add rfc section for small BAR uapi drm/i915/uapi: add probed_cpu_visible_size drm/i915/uapi: expose the avail tracking drm/i915: remove intel_memory_region avail drm/i915/uapi: apply ALLOC_GPU_ONLY by default drm/i915/uapi: add NEEDS_CPU_ACCESS hint drm/i915/error: skip non-mappable pages drm/i915/uapi: tweak error capture on recoverable contexts drm/i915/selftests: skip the mman tests for stolen drm/i915/selftests: ensure we reserve a fence slot drm/i915/ttm: handle blitter failure on DG2 drm/i915/ttm: disallow CPU fallback mode for ccs pages drm/i915: turn on small BAR support drm/i915/ttm: fix sg_table construction drm/i915/ttm: fix 32b build Niranjana Vishwanathapura (3): drm/doc/rfc: VM_BIND feature design document drm/i915: Update i915 uapi documentation drm/doc/rfc: VM_BIND uapi definition Priyanka Dandamudi (1): drm/i915: Add lmem_bar_size modparam Radhakrishna Sripada (2): drm/i915/mtl: Add MeteorLake platform info drm/i915/mtl: Add MeteorLake PCI IDs Thomas Hellström (1): drm/i915: Fix vm use-after-free in vma destruction Umesh Nerlige Ramappa (2): i915/perf: Replace DRM_DEBUG with driver specific drm_dbg call i915/perf: Disable OA sseu config param for gfx12.50+ Vinay Belgaumkar (1): drm/i915/guc/slpc: Add a new SLPC selftest Documentation/gpu/rfc/i915_small_bar.h | 189 +++++++++++ Documentation/gpu/rfc/i915_small_bar.rst | 47 +++ Documentation/gpu/rfc/i915_vm_bind.h | 291 ++++++++++++++++ Documentation/gpu/rfc/i915_vm_bind.rst | 245 ++++++++++++++ Documentation/gpu/rfc/index.rst | 8 + drivers/gpu/drm/i915/gem/i915_gem_create.c | 20 +- drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 15 +- drivers/gpu/drm/i915/gem/i915_gem_object.c | 47 +++ drivers/gpu/drm/i915/gem/i915_gem_object.h | 3 + drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 18 + drivers/gpu/drm/i915/gem/i915_gem_region.c | 2 + drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 55 +-- drivers/gpu/drm/i915/gem/i915_gem_ttm.h | 3 + drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c | 99 +++++- drivers/gpu/drm/i915/gem/i915_gem_ttm_move.h | 1 + drivers/gpu/drm/i915/gem/i915_gem_wait.c | 34 ++ drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 7 +- .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c | 141 ++++++-- drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 87 ++++- drivers/gpu/drm/i915/gt/intel_breadcrumbs.c | 3 +- drivers/gpu/drm/i915/gt/intel_engine_cs.c | 34 +- drivers/gpu/drm/i915/gt/intel_engine_types.h | 22 -- drivers/gpu/drm/i915/gt/intel_gt.c | 15 +- drivers/gpu/drm/i915/gt/intel_gt_mcr.c | 25 ++ drivers/gpu/drm/i915/gt/intel_gt_mcr.h | 24 ++ drivers/gpu/drm/i915/gt/intel_gt_regs.h | 7 + drivers/gpu/drm/i915/gt/intel_region_lmem.c | 109 +++++- drivers/gpu/drm/i915/gt/intel_reset.c | 37 +- drivers/gpu/drm/i915/gt/intel_workarounds.c | 6 + drivers/gpu/drm/i915/gt/selftest_lrc.c | 8 +- drivers/gpu/drm/i915/gt/selftest_slpc.c | 323 +++++++++--------- drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c | 16 +- drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 2 +- drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 9 + drivers/gpu/drm/i915/i915_active.c | 2 +- drivers/gpu/drm/i915/i915_drv.h | 5 + drivers/gpu/drm/i915/i915_gpu_error.c | 42 +-- drivers/gpu/drm/i915/i915_params.c | 2 + drivers/gpu/drm/i915/i915_params.h | 1 + drivers/gpu/drm/i915/i915_pci.c | 28 +- drivers/gpu/drm/i915/i915_perf.c | 158 ++++++--- drivers/gpu/drm/i915/i915_query.c | 16 +- drivers/gpu/drm/i915/i915_scatterlist.c | 27 +- drivers/gpu/drm/i915/i915_scatterlist.h | 6 +- drivers/gpu/drm/i915/i915_ttm_buddy_manager.c | 31 +- drivers/gpu/drm/i915/i915_ttm_buddy_manager.h | 3 + drivers/gpu/drm/i915/i915_vma.c | 37 +- drivers/gpu/drm/i915/intel_device_info.c | 17 + drivers/gpu/drm/i915/intel_device_info.h | 5 + drivers/gpu/drm/i915/intel_memory_region.c | 18 +- drivers/gpu/drm/i915/intel_memory_region.h | 4 +- drivers/gpu/drm/i915/intel_region_ttm.c | 10 +- drivers/gpu/drm/i915/intel_region_ttm.h | 3 +- drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 2 +- .../gpu/drm/i915/selftests/intel_memory_region.c | 21 +- drivers/gpu/drm/i915/selftests/mock_region.c | 3 +- include/drm/i915_pciids.h | 39 ++- include/uapi/drm/i915_drm.h | 371 ++++++++++++++++----- 58 files changed, 2281 insertions(+), 522 deletions(-) create mode 100644 Documentation/gpu/rfc/i915_small_bar.h create mode 100644 Documentation/gpu/rfc/i915_small_bar.rst create mode 100644 Documentation/gpu/rfc/i915_vm_bind.h create mode 100644 Documentation/gpu/rfc/i915_vm_bind.rst