The basic LMEM bits, minus the uAPI, pruning, etc. The goal is to support basic LMEM object creation within the kernel. From there we can start with the dumb buffer support, and then the other display related bits. Quick respin with a bunch of minor tweaks + rebasing on the now merged struct_mutex removal patches. Abdiel Janulgue (4): drm/i915: Add memory region information to device_info drm/i915: setup io-mapping for LMEM drm/i915/lmem: support kernel mapping drm/i915: enumerate and init each supported region CQ Tang (1): drm/i915/stolen: make the object creation interface consistent Daniele Ceraolo Spurio (4): drm/i915: define i915_ggtt_has_aperture drm/i915: do not map aperture if it is not available. drm/i915: set num_fence_regs to 0 if there is no aperture drm/i915: error capture with no ggtt slot Matthew Auld (11): drm/i915: introduce intel_memory_region drm/i915/region: support contiguous allocations drm/i915/region: support volatile objects drm/i915: support creating LMEM objects drm/i915/selftests: add write-dword test for LMEM drm/i915/selftests: extend coverage to include LMEM huge-pages drm/i915: treat shmem as a region drm/i915: treat stolen as a region drm/i915: don't allocate the ring in stolen if we lack aperture drm/i915/selftests: check for missing aperture HAX drm/i915: add the fake lmem region Michal Wajdeczko (1): drm/i915: Don't try to place HWS in non-existing mappable region arch/x86/kernel/early-quirks.c | 26 + drivers/gpu/drm/i915/Makefile | 4 + drivers/gpu/drm/i915/display/intel_display.c | 2 +- drivers/gpu/drm/i915/display/intel_fbdev.c | 4 +- drivers/gpu/drm/i915/display/intel_overlay.c | 2 +- drivers/gpu/drm/i915/gem/i915_gem_internal.c | 17 +- drivers/gpu/drm/i915/gem/i915_gem_lmem.c | 68 ++ drivers/gpu/drm/i915/gem/i915_gem_lmem.h | 31 + drivers/gpu/drm/i915/gem/i915_gem_object.h | 18 + .../gpu/drm/i915/gem/i915_gem_object_types.h | 29 +- drivers/gpu/drm/i915/gem/i915_gem_pages.c | 28 +- drivers/gpu/drm/i915/gem/i915_gem_phys.c | 5 +- drivers/gpu/drm/i915/gem/i915_gem_region.c | 168 +++++ drivers/gpu/drm/i915/gem/i915_gem_region.h | 29 + drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 74 ++- drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 99 ++- drivers/gpu/drm/i915/gem/i915_gem_stolen.h | 3 +- .../gpu/drm/i915/gem/selftests/huge_pages.c | 218 ++++++- .../i915/gem/selftests/i915_gem_coherency.c | 5 +- .../drm/i915/gem/selftests/i915_gem_mman.c | 6 + drivers/gpu/drm/i915/gt/intel_engine_cs.c | 3 +- drivers/gpu/drm/i915/gt/intel_gt.c | 2 +- drivers/gpu/drm/i915/gt/intel_rc6.c | 8 +- drivers/gpu/drm/i915/gt/intel_ringbuffer.c | 6 +- drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 14 +- drivers/gpu/drm/i915/i915_drv.c | 8 + drivers/gpu/drm/i915/i915_drv.h | 13 + drivers/gpu/drm/i915/i915_gem.c | 9 - drivers/gpu/drm/i915/i915_gem_fence_reg.c | 6 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 117 +++- drivers/gpu/drm/i915/i915_gem_gtt.h | 5 + drivers/gpu/drm/i915/i915_gpu_error.c | 66 +- drivers/gpu/drm/i915/i915_pci.c | 29 +- drivers/gpu/drm/i915/intel_device_info.h | 2 + drivers/gpu/drm/i915/intel_memory_region.c | 212 ++++++ drivers/gpu/drm/i915/intel_memory_region.h | 125 ++++ drivers/gpu/drm/i915/intel_region_lmem.c | 157 +++++ drivers/gpu/drm/i915/intel_region_lmem.h | 16 + drivers/gpu/drm/i915/selftests/i915_gem.c | 4 + drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 8 +- .../drm/i915/selftests/i915_live_selftests.h | 1 + .../drm/i915/selftests/i915_mock_selftests.h | 1 + .../drm/i915/selftests/intel_memory_region.c | 602 ++++++++++++++++++ .../gpu/drm/i915/selftests/mock_gem_device.c | 9 +- drivers/gpu/drm/i915/selftests/mock_region.c | 59 ++ drivers/gpu/drm/i915/selftests/mock_region.h | 16 + include/drm/i915_drm.h | 3 + 47 files changed, 2186 insertions(+), 151 deletions(-) create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_lmem.c create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_lmem.h create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_region.c create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_region.h create mode 100644 drivers/gpu/drm/i915/intel_memory_region.c create mode 100644 drivers/gpu/drm/i915/intel_memory_region.h create mode 100644 drivers/gpu/drm/i915/intel_region_lmem.c create mode 100644 drivers/gpu/drm/i915/intel_region_lmem.h create mode 100644 drivers/gpu/drm/i915/selftests/intel_memory_region.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_region.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_region.h -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx