[Intel-gfx] [RFC 00/60] DG1 LMEM enabling
Matthew Auld
matthew.auld at intel.com
Fri Jul 10 11:56:57 UTC 2020
This is Lucas' DG1 enabling series[1], plus some of the DG1 specific enablers
for supporting LMEM on top, including some bits of new uAPI.
Posting this series as RFC to get feedback while we continue to work on adapting
the code to use DMA reservation incrementally. This is currently WIP[2][3].
In terms of new uAPI we have gem_create_ext, which offers extensions support for
gem_create, this includes giving userspace the ability to optionally provide a
priority list of potential placements for the object. The other bit of new uAPI
is the query interface for memory regions, which describes the supported memory
regions for the device. What this reports can then be fed into gem_create_ext to
specify where an object might reside, like device local memory.
[1] https://patchwork.freedesktop.org/series/77496/
[2] https://patchwork.freedesktop.org/series/79091/
[3] https://patchwork.freedesktop.org/series/79129/
Abdiel Janulgue (5):
drm/i915/dg1: add initial DG-1 definitions
drm/i915/dg1: Add DG1 PCI IDs
drm/i915/query: Expose memory regions through the query uAPI
drm/i915: Provide a way to disable PCIe relaxed write ordering
drm/i915: Reintroduce mem->reserved
Aditya Swarup (4):
drm/i915/dg1: Add DPLL macros for DG1
drm/i915/dg1: Add and setup DPLLs for DG1
drm/i915/dg1: Enable DPLL for DG1
drm/i915/dg1: Enable first 2 ports for DG1
Animesh Manna (2):
drm/i915/lmem: reset the lmem buffer created by fbdev
drm/i915/dsb: Enable lmem for dsb
Anshuman Gupta (1):
drm/i915/dg1: DG1 does not support DC6
Anusha Srivatsa (2):
drm/i915/dg1: Remove SHPD_FILTER_CNT register programming
drm/i915/lmem: Bypass aperture when lmem is available
CQ Tang (5):
drm/i915: setup GPU device lmem region
drm/i915: Fix object page offset within a region
drm/i915: add i915_gem_object_is_devmem() function
drm/i915: finish memory region support for stolen objects.
drm/i915: Create stolen memory region from local memory
Clinton A Taylor (1):
drm/i915/dg1: invert HPD pins
Daniele Ceraolo Spurio (2):
drm/i915/guc: put all guc objects in lmem when available
drm/i915: defer pd lmem block put to worker
Imre Deak (1):
drm/i915/dg1: Reserve first 1MB of local memory
Lucas De Marchi (7):
drm/i915/dg1: add support for the master unit interrupt
drm/i915/dg1: Add fake PCH
drm/i915/dg1: Define MOCS table for DG1
drm/i915/dg1: add hpd interrupt handling
drm/i915/dg1: gmbus pin mapping
drm/i915/dg1: map/unmap pll clocks
drm/i915/dg1: enable PORT C/D aka D/E
Matt Atwood (1):
drm/i915/dg1: Load DMC
Matt Roper (7):
drm/i915/dg1: Initialize RAWCLK properly
drm/i915/dg1: Wait for pcode/uncore handshake at startup
drm/i915/dg1: Don't program PHY_MISC for PHY-C and PHY-D
drm/i915/dg1: Update comp master/slave relationships for PHYs
drm/i915/dg1: Update voltage swing tables for DP
drm/i915/dg1: provide port/phy mapping for vbt
drm/i915/rkl: Add initial workarounds
Matthew Auld (11):
drm/i915/lmem: support pread
drm/i915/lmem: support pwrite
drm/i915: introduce kernel blitter_context
drm/i915/uapi: introduce drm_i915_gem_create_ext
drm/i915: setup the LMEM region
drm/i915: drop fake LMEM
drm/i915: PPGTT support
drm/i915: support GGTT LMEM entries
drm/i915: allocate context from LMEM
drm/i915: move engine scratch to LMEM
drm/i915/lmem: support optional CPU clearing for special internal use
Michael J. Ruhl (1):
drm/i915/dg1: Introduce dmabuf mmap to LMEM
Michel Thierry (3):
drm/i915/dgfx: define llc and snooping behaviour
drm/i915/lmem: allocate cmd ring in lmem
drm/i915/lmem: allocate HWSP in lmem
Stuart Summers (2):
drm/i915: Add has_master_unit_irq flag
drm/i915/dg1: Add initial DG1 workarounds
Uma Shankar (1):
drm/i915/dg1: Add DG1 power wells
Venkata Sandeep Dhanalakota (2):
drm/i915/dg1: Increase mmio size to 4MB
drm/i915/lmem: Limit block size to 4G
Wen, Kui (1):
drm/i915/lmem: Do not check r->sgt.pfn for NULL
Zbigniew Kempczyński (1):
drm/i915: Distinction of memory regions
drivers/gpu/drm/i915/Kconfig.debug | 11 +
drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/display/intel_bios.c | 12 +-
drivers/gpu/drm/i915/display/intel_cdclk.c | 16 +-
.../gpu/drm/i915/display/intel_combo_phy.c | 7 +-
drivers/gpu/drm/i915/display/intel_csr.c | 19 +-
drivers/gpu/drm/i915/display/intel_ddi.c | 126 +++++-
drivers/gpu/drm/i915/display/intel_display.c | 50 ++-
.../drm/i915/display/intel_display_power.c | 211 +++++++++-
drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 71 +++-
drivers/gpu/drm/i915/display/intel_dpll_mgr.h | 17 +
drivers/gpu/drm/i915/display/intel_dsb.c | 7 +-
drivers/gpu/drm/i915/display/intel_fbc.c | 20 +-
drivers/gpu/drm/i915/display/intel_fbdev.c | 25 +-
drivers/gpu/drm/i915/display/intel_gmbus.c | 15 +-
drivers/gpu/drm/i915/display/intel_hdmi.c | 9 +-
drivers/gpu/drm/i915/display/intel_hotplug.c | 3 +-
drivers/gpu/drm/i915/display/intel_sprite.c | 5 +-
drivers/gpu/drm/i915/gem/i915_gem_create.c | 379 ++++++++++++++++++
drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 58 ++-
drivers/gpu/drm/i915/gem/i915_gem_lmem.c | 250 +++++++++++-
drivers/gpu/drm/i915/gem/i915_gem_lmem.h | 22 +
drivers/gpu/drm/i915/gem/i915_gem_mman.c | 103 ++---
drivers/gpu/drm/i915/gem/i915_gem_mman.h | 8 +
drivers/gpu/drm/i915/gem/i915_gem_object.c | 2 +
.../gpu/drm/i915/gem/i915_gem_object_types.h | 19 +-
drivers/gpu/drm/i915/gem/i915_gem_pages.c | 14 +-
drivers/gpu/drm/i915/gem/i915_gem_region.c | 24 ++
drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 241 +++++++----
drivers/gpu/drm/i915/gem/i915_gem_stolen.h | 10 +-
.../drm/i915/gem/selftests/i915_gem_mman.c | 12 +-
drivers/gpu/drm/i915/gt/gen6_ppgtt.c | 2 +
drivers/gpu/drm/i915/gt/gen8_ppgtt.c | 83 +++-
drivers/gpu/drm/i915/gt/intel_engine_cs.c | 40 +-
drivers/gpu/drm/i915/gt/intel_engine_types.h | 1 +
drivers/gpu/drm/i915/gt/intel_ggtt.c | 24 +-
drivers/gpu/drm/i915/gt/intel_gt.c | 14 +-
drivers/gpu/drm/i915/gt/intel_gtt.c | 74 +++-
drivers/gpu/drm/i915/gt/intel_gtt.h | 11 +-
drivers/gpu/drm/i915/gt/intel_lrc.c | 31 +-
drivers/gpu/drm/i915/gt/intel_mocs.c | 39 +-
drivers/gpu/drm/i915/gt/intel_ppgtt.c | 10 +-
drivers/gpu/drm/i915/gt/intel_ring.c | 15 +-
drivers/gpu/drm/i915/gt/intel_timeline.c | 8 +-
drivers/gpu/drm/i915/gt/intel_workarounds.c | 159 ++++++--
drivers/gpu/drm/i915/gt/uc/intel_guc.c | 9 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c | 11 +-
drivers/gpu/drm/i915/gt/uc/intel_huc.c | 14 +-
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 35 +-
drivers/gpu/drm/i915/i915_buddy.h | 10 +
drivers/gpu/drm/i915/i915_debugfs.c | 4 +
drivers/gpu/drm/i915/i915_drv.c | 22 +-
drivers/gpu/drm/i915/i915_drv.h | 15 +-
drivers/gpu/drm/i915/i915_gem.c | 109 +----
drivers/gpu/drm/i915/i915_gem_gtt.c | 2 +
drivers/gpu/drm/i915/i915_gpu_error.c | 4 +-
drivers/gpu/drm/i915/i915_irq.c | 120 +++++-
drivers/gpu/drm/i915/i915_mm.c | 2 +-
drivers/gpu/drm/i915/i915_params.c | 5 -
drivers/gpu/drm/i915/i915_params.h | 1 -
drivers/gpu/drm/i915/i915_pci.c | 18 +-
drivers/gpu/drm/i915/i915_query.c | 62 +++
drivers/gpu/drm/i915/i915_reg.h | 71 +++-
drivers/gpu/drm/i915/i915_vma.c | 19 +-
drivers/gpu/drm/i915/intel_device_info.c | 1 +
drivers/gpu/drm/i915/intel_device_info.h | 2 +
drivers/gpu/drm/i915/intel_memory_region.c | 119 +++++-
drivers/gpu/drm/i915/intel_memory_region.h | 55 ++-
drivers/gpu/drm/i915/intel_pch.c | 6 +
drivers/gpu/drm/i915/intel_pch.h | 4 +
drivers/gpu/drm/i915/intel_pm.c | 17 +-
drivers/gpu/drm/i915/intel_region_lmem.c | 164 ++++----
drivers/gpu/drm/i915/intel_region_lmem.h | 3 +-
drivers/gpu/drm/i915/intel_sideband.c | 15 +
drivers/gpu/drm/i915/intel_sideband.h | 2 +
drivers/gpu/drm/i915/intel_uncore.c | 4 +
.../drm/i915/selftests/intel_memory_region.c | 172 ++++++++
.../gpu/drm/i915/selftests/mock_gem_device.c | 3 +-
include/drm/i915_pciids.h | 4 +
include/uapi/drm/i915_drm.h | 118 ++++++
80 files changed, 2902 insertions(+), 598 deletions(-)
create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_create.c
--
2.26.2
More information about the Intel-gfx
mailing list