All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [RFC 00/60] DG1 LMEM enabling
@ 2020-07-10 11:56 Matthew Auld
  2020-07-10 11:56 ` [Intel-gfx] [RFC 01/60] drm/i915: Add has_master_unit_irq flag Matthew Auld
                   ` (64 more replies)
  0 siblings, 65 replies; 88+ messages in thread
From: Matthew Auld @ 2020-07-10 11:56 UTC (permalink / raw)
  To: intel-gfx

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

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 88+ messages in thread
* [RFC PATCH 000/162] DG1 + LMEM enabling
@ 2020-11-27 12:04 Matthew Auld
  2020-11-27 14:59 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for " Patchwork
  0 siblings, 1 reply; 88+ messages in thread
From: Matthew Auld @ 2020-11-27 12:04 UTC (permalink / raw)
  To: intel-gfx; +Cc: dri-devel

This series includes a version of Maarten' series[1], which converts more of the
driver locking over to dma-resv. On top of this we now implement things like
LMEM eviction, which has a dependency on this new locking design.

In terms of new uAPI we have gem_create_ext, which offers extensions support for
gem_create. For now the only extension we add is 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. Note that the class/instance complexity in the uAPI is not very relevant
for DG1, but is in preparation for the Xe HP multi-tile architecture with
multiple memory regions.

The series still includes relocation support, but that's purely for CI, until we
have completed all the IGT rework[2] and so will not be merged. Likewise for
pread/pwrite, which will also be dropped from DG1+.

[1] https://patchwork.freedesktop.org/series/82337/
[2] https://patchwork.freedesktop.org/series/82954/

Abdiel Janulgue (3):
  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

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/oprom: Basic sanitization

Anusha Srivatsa (1):
  drm/i915/lmem: Bypass aperture when lmem is available

Bommu Krishnaiah (1):
  drm/i915/gem: Update shmem available memory

CQ Tang (13):
  drm/i915/dg1: Fix occasional migration error
  drm/i915: i915 returns -EBUSY on thread contention
  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
  drm/i915/dg1: intel_memory_region_evict() changes for eviction
  drm/i915/dg1: i915_gem_object_memcpy(..) infrastructure
  drm/i915/dg1: Eviction logic
  drm/i915/dg1: Add enable_eviction modparam
  drm/i915/dg1: Add lmem_size modparam
  drm/i915: need consider system BO snoop for dgfx

Chris Wilson (2):
  drm/i915/gt: Move move context layout registers and offsets to
    lrc_reg.h
  drm/i915/gt: Rename lrc.c to execlists_submission.c

Clint Taylor (3):
  drm/i915/dg1: Read OPROM via SPI controller
  drm/i915/dg1: Compute MEM Bandwidth using MCHBAR
  drm/i915/dg1: Double memory bandwidth available

Daniele Ceraolo Spurio (5):
  drm/i915: split gen8+ flush and bb_start emission functions to their
    own file
  drm/i915: split wa_bb code to its own file
  drm/i915: Make intel_init_workaround_bb more compatible with ww
    locking.
  drm/i915/guc: put all guc objects in lmem when available
  drm/i915: WA for zero memory channel

Imre Deak (1):
  drm/i915/dg1: Reserve first 1MB of local memory

Kui Wen (1):
  drm/i915/dg1: Do not check r->sgt.pfn for NULL

Lucas De Marchi (2):
  drm/i915: move eviction to prepare hook
  drm/i915/dg1: allow pci to auto probe

Maarten Lankhorst (60):
  drm/i915: Pin timeline map after first timeline pin, v5.
  drm/i915: Move cmd parser pinning to execbuffer
  drm/i915: Add missing -EDEADLK handling to execbuf pinning, v2.
  drm/i915: Ensure we hold the object mutex in pin correctly v2
  drm/i915: Add gem object locking to madvise.
  drm/i915: Move HAS_STRUCT_PAGE to obj->flags
  drm/i915: Rework struct phys attachment handling
  drm/i915: Convert i915_gem_object_attach_phys() to ww locking, v2.
  drm/i915: make lockdep slightly happier about execbuf.
  drm/i915: Disable userptr pread/pwrite support.
  drm/i915: No longer allow exporting userptr through dma-buf
  drm/i915: Reject more ioctls for userptr
  drm/i915: Reject UNSYNCHRONIZED for userptr, v2.
  drm/i915: Make compilation of userptr code depend on MMU_NOTIFIER.
  drm/i915: Fix userptr so we do not have to worry about obj->mm.lock,
    v5.
  drm/i915: Flatten obj->mm.lock
  drm/i915: Populate logical context during first pin.
  drm/i915: Make ring submission compatible with obj->mm.lock removal,
    v2.
  drm/i915: Handle ww locking in init_status_page
  drm/i915: Rework clflush to work correctly without obj->mm.lock.
  drm/i915: Pass ww ctx to intel_pin_to_display_plane
  drm/i915: Add object locking to vm_fault_cpu
  drm/i915: Move pinning to inside engine_wa_list_verify()
  drm/i915: Take reservation lock around i915_vma_pin.
  drm/i915: Make __engine_unpark() compatible with ww locking v2
  drm/i915: Take obj lock around set_domain ioctl
  drm/i915: Defer pin calls in buffer pool until first use by caller.
  drm/i915: Fix pread/pwrite to work with new locking rules.
  drm/i915: Fix workarounds selftest, part 1
  drm/i915: Add igt_spinner_pin() to allow for ww locking around
    spinner.
  drm/i915: Add ww locking around vm_access()
  drm/i915: Increase ww locking for perf.
  drm/i915: Lock ww in ucode objects correctly
  drm/i915: Add ww locking to dma-buf ops.
  drm/i915: Add missing ww lock in intel_dsb_prepare.
  drm/i915: Fix ww locking in shmem_create_from_object
  drm/i915: Use a single page table lock for each gtt.
  drm/i915/selftests: Prepare huge_pages testcases for obj->mm.lock
    removal.
  drm/i915/selftests: Prepare client blit for obj->mm.lock removal.
  drm/i915/selftests: Prepare coherency tests for obj->mm.lock removal.
  drm/i915/selftests: Prepare context tests for obj->mm.lock removal.
  drm/i915/selftests: Prepare dma-buf tests for obj->mm.lock removal.
  drm/i915/selftests: Prepare execbuf tests for obj->mm.lock removal.
  drm/i915/selftests: Prepare mman testcases for obj->mm.lock removal.
  drm/i915/selftests: Prepare object tests for obj->mm.lock removal.
  drm/i915/selftests: Prepare object blit tests for obj->mm.lock
    removal.
  drm/i915/selftests: Prepare igt_gem_utils for obj->mm.lock removal
  drm/i915/selftests: Prepare context selftest for obj->mm.lock removal
  drm/i915/selftests: Prepare hangcheck for obj->mm.lock removal
  drm/i915/selftests: Prepare execlists for obj->mm.lock removal
  drm/i915/selftests: Prepare mocs tests for obj->mm.lock removal
  drm/i915/selftests: Prepare ring submission for obj->mm.lock removal
  drm/i915/selftests: Prepare timeline tests for obj->mm.lock removal
  drm/i915/selftests: Prepare i915_request tests for obj->mm.lock
    removal
  drm/i915/selftests: Prepare memory region tests for obj->mm.lock
    removal
  drm/i915/selftests: Prepare cs engine tests for obj->mm.lock removal
  drm/i915/selftests: Prepare gtt tests for obj->mm.lock removal
  drm/i915: Finally remove obj->mm.lock.
  drm/i915: Keep userpointer bindings if seqcount is unchanged, v2.
  drm/i915: Implement eviction locking v2

Matt Roper (1):
  drm/i915/lmem: Fail driver init if LMEM training failed

Matthew Auld (19):
  drm/i915/selftest: also consider non-contiguous objects
  drm/i915/selftest: assert we get 2M GTT pages
  drm/i915/selftest: handle local-memory in perf_memcpy
  HAX drm/i915/lmem: support CPU relocations
  HAX drm/i915/lmem: support pread and pwrite
  drm/i915: introduce kernel blitter_context
  drm/i915/region: support basic eviction
  drm/i915: support basic object migration
  drm/i915/uapi: introduce drm_i915_gem_create_ext
  drm/i915: setup the LMEM region
  drm/i915/gtt: map the PD up front
  drm/i915/gtt/dgfx: place the PD in LMEM
  drm/i915/gtt: make flushing conditional
  drm/i915/gtt/dg1: add PTE_LM plumbing for PPGTT
  drm/i915/gtt/dg1: add PTE_LM plumbing for GGTT
  drm/i915: allocate context from LMEM
  drm/i915: move engine scratch to LMEM
  drm/i915/lmem: support optional CPU clearing for special internal use
  drm/i915: drop fake lmem

Michael J. Ruhl (2):
  drm/i915/dmabuf: Disallow LMEM objects from dma-buf
  drm/i915/dg1: Introduce dmabuf mmap to LMEM

Michel Thierry (2):
  drm/i915/lmem: allocate cmd ring in lmem
  drm/i915/lmem: allocate HWSP in lmem

Mohammed Khajapasha (2):
  drm/i915/fbdev: Use lmem physical addresses for fb_mmap() on discrete
  drm/i915: Return error value when bo not in LMEM for discrete

Prathap Kumar Valsan (2):
  drm/i915: Store gt in memory region
  drm/i915/pm: suspend and restore ppgtt mapping

Ramalingam C (6):
  drm/i915: define intel_partial_pages_for_sg_table
  drm/i915: create and destroy dummy vma
  drm/i915: blt copy between objs using pre-created vma windows
  drm/i915: window_blt_copy is used for swapin and swapout
  drm/i915: Lmem eviction statistics by category
  drm/i915/gem/selftest: test and measure window based blt cpy

Stuart Summers (1):
  drm/i915: Allow non-uniform subslices in gen12+

Sudeep Dutt (2):
  drm/i915/dg1: Track swap in/out stats via debugfs
  drm/i915/dg1: Measure swap in/out timing stats

Thomas Hellström (15):
  HAX drm/i915: Work around the selftest timeline lock splat workaround
  drm/i915: Introduce drm_i915_lock_isolated
  drm/i915: Lock hwsp objects isolated for pinning at create time
  drm/i915: Prepare for obj->mm.lock removal
  drm/i915: Avoid some false positives in assert_object_held()
  drm/i915: Reference contending lock objects
  drm/i915: Break out dma_resv ww locking utilities to separate files
  drm/i915: Introduce a for_i915_gem_ww(){}
  drm/i915: Untangle the vma pages_mutex
  drm/i915: Add blit functions that can be called from within a WW
    transaction
  drm/i915: Delay publishing objects on the eviction lists
  drm/i915: Perform execbuffer object locking as a separate step
  drm/i915: Support ww eviction
  drm/i915: Use a ww transaction in the fault handler
  drm/i915: Use a ww transaction in i915_gem_object_pin_map_unlocked()

Tvrtko Ursulin (4):
  drm/i915/dg1: Eliminate eviction mutex
  drm/i915/dg1: Keep engine awake across whole blit
  drm/i915/dg1: Add dedicated context for blitter eviction
  drm/i915: Improve accuracy of eviction stats

Venkata Ramana Nayana (8):
  drm/i915: suspend/resume eviction
  drm/i915: Reset blitter context when unpark engine
  drm/i915/gt: Allocate default ctx objects in SMEM
  drm/i915: suspend/resume enable blitter eviction
  drm/i915: suspend/resume handling of perma-pinned objects
  drm/i915: Support ww locks in suspend/resume
  drm/i915/dg1: Fix mapping type for default state object
  drm/i915/dg1: Fix GPU hang due to shmemfs page drop

Venkata Sandeep Dhanalakota (2):
  drm/i915: Update the helper to set correct mapping
  drm/i915/lmem: Limit block size to 4G

Zbigniew Kempczyński (1):
  drm/i915: Distinction of memory regions

 drivers/gpu/drm/i915/Kconfig.debug            |  11 +
 drivers/gpu/drm/i915/Makefile                 |   7 +-
 drivers/gpu/drm/i915/display/intel_bios.c     |  75 +-
 drivers/gpu/drm/i915/display/intel_bw.c       |  64 +-
 drivers/gpu/drm/i915/display/intel_display.c  |  80 +-
 drivers/gpu/drm/i915/display/intel_display.h  |   2 +-
 drivers/gpu/drm/i915/display/intel_dsb.c      |   9 +-
 drivers/gpu/drm/i915/display/intel_fbc.c      |  20 +-
 drivers/gpu/drm/i915/display/intel_fbdev.c    |  54 +-
 drivers/gpu/drm/i915/display/intel_opregion.c | 169 ++++
 drivers/gpu/drm/i915/display/intel_opregion.h |  31 +-
 drivers/gpu/drm/i915/display/intel_overlay.c  |  34 +-
 drivers/gpu/drm/i915/gem/i915_gem_clflush.c   |  15 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c   |   1 +
 drivers/gpu/drm/i915/gem/i915_gem_create.c    | 398 ++++++++
 drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c    | 123 ++-
 drivers/gpu/drm/i915/gem/i915_gem_domain.c    |  52 +-
 .../gpu/drm/i915/gem/i915_gem_execbuffer.c    | 302 +++++-
 drivers/gpu/drm/i915/gem/i915_gem_fence.c     |  95 --
 drivers/gpu/drm/i915/gem/i915_gem_internal.c  |   6 +-
 drivers/gpu/drm/i915/gem/i915_gem_lmem.c      | 254 ++++-
 drivers/gpu/drm/i915/gem/i915_gem_lmem.h      |  22 +
 drivers/gpu/drm/i915/gem/i915_gem_mman.c      | 187 ++--
 drivers/gpu/drm/i915/gem/i915_gem_mman.h      |  11 +
 drivers/gpu/drm/i915/gem/i915_gem_object.c    | 711 +++++++++++++-
 drivers/gpu/drm/i915/gem/i915_gem_object.h    | 206 +++-
 .../gpu/drm/i915/gem/i915_gem_object_blt.c    | 101 +-
 .../gpu/drm/i915/gem/i915_gem_object_blt.h    |  10 +
 .../gpu/drm/i915/gem/i915_gem_object_types.h  |  46 +-
 drivers/gpu/drm/i915/gem/i915_gem_pages.c     | 140 ++-
 drivers/gpu/drm/i915/gem/i915_gem_phys.c      | 110 +--
 drivers/gpu/drm/i915/gem/i915_gem_region.c    | 234 ++++-
 drivers/gpu/drm/i915/gem/i915_gem_region.h    |   3 +-
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c     |  46 +-
 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c  |  52 +-
 drivers/gpu/drm/i915/gem/i915_gem_shrinker.h  |   6 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c    | 247 +++--
 drivers/gpu/drm/i915/gem/i915_gem_stolen.h    |  10 +-
 drivers/gpu/drm/i915/gem/i915_gem_tiling.c    |   2 -
 drivers/gpu/drm/i915/gem/i915_gem_userptr.c   | 870 ++++++-----------
 .../drm/i915/gem/selftests/huge_gem_object.c  |   4 +-
 .../gpu/drm/i915/gem/selftests/huge_pages.c   |  60 +-
 .../i915/gem/selftests/i915_gem_client_blt.c  |   8 +-
 .../i915/gem/selftests/i915_gem_coherency.c   |  18 +-
 .../drm/i915/gem/selftests/i915_gem_context.c |  21 +-
 .../drm/i915/gem/selftests/i915_gem_dmabuf.c  |   2 +-
 .../i915/gem/selftests/i915_gem_execbuffer.c  |   2 +-
 .../drm/i915/gem/selftests/i915_gem_mman.c    |  33 +-
 .../drm/i915/gem/selftests/i915_gem_object.c  |   2 +-
 .../i915/gem/selftests/i915_gem_object_blt.c  | 172 +++-
 .../drm/i915/gem/selftests/i915_gem_phys.c    |  10 +-
 .../drm/i915/gem/selftests/igt_gem_utils.c    |   2 +-
 drivers/gpu/drm/i915/gt/gen6_ppgtt.c          |  11 +-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c      | 393 ++++++++
 drivers/gpu/drm/i915/gt/gen8_engine_cs.h      |  26 +
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c          |  91 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.h          |   2 +
 drivers/gpu/drm/i915/gt/intel_context.c       |   3 +-
 drivers/gpu/drm/i915/gt/intel_context.h       |   2 +
 drivers/gpu/drm/i915/gt/intel_context_sseu.c  |   2 +-
 drivers/gpu/drm/i915/gt/intel_context_types.h |  13 +-
 drivers/gpu/drm/i915/gt/intel_engine.h        |   4 +
 drivers/gpu/drm/i915/gt/intel_engine_cs.c     | 125 ++-
 drivers/gpu/drm/i915/gt/intel_engine_pm.c     |  14 +-
 drivers/gpu/drm/i915/gt/intel_engine_types.h  |   2 +
 .../drm/i915/gt/intel_engine_workaround_bb.c  | 364 +++++++
 .../drm/i915/gt/intel_engine_workaround_bb.h  |  14 +
 ...tel_lrc.c => intel_execlists_submission.c} | 899 +++---------------
 .../drm/i915/gt/intel_execlists_submission.h  |  66 ++
 drivers/gpu/drm/i915/gt/intel_ggtt.c          |  93 +-
 drivers/gpu/drm/i915/gt/intel_gt.c            |  14 +-
 .../gpu/drm/i915/gt/intel_gt_buffer_pool.c    |  47 +-
 .../gpu/drm/i915/gt/intel_gt_buffer_pool.h    |   5 +
 .../drm/i915/gt/intel_gt_buffer_pool_types.h  |   1 +
 drivers/gpu/drm/i915/gt/intel_gt_irq.c        |   1 +
 drivers/gpu/drm/i915/gt/intel_gtt.c           | 105 +-
 drivers/gpu/drm/i915/gt/intel_gtt.h           |  23 +-
 drivers/gpu/drm/i915/gt/intel_lrc.h           | 128 ---
 drivers/gpu/drm/i915/gt/intel_lrc_reg.h       |  39 +
 drivers/gpu/drm/i915/gt/intel_mocs.c          |   2 +-
 drivers/gpu/drm/i915/gt/intel_ppgtt.c         |  20 +-
 drivers/gpu/drm/i915/gt/intel_renderstate.c   |   2 +-
 drivers/gpu/drm/i915/gt/intel_renderstate.h   |   1 +
 drivers/gpu/drm/i915/gt/intel_ring.c          |  24 +-
 .../gpu/drm/i915/gt/intel_ring_submission.c   | 184 ++--
 drivers/gpu/drm/i915/gt/intel_sseu.c          |   6 +-
 drivers/gpu/drm/i915/gt/intel_timeline.c      | 121 ++-
 drivers/gpu/drm/i915/gt/intel_timeline.h      |   1 +
 .../gpu/drm/i915/gt/intel_timeline_types.h    |   1 +
 drivers/gpu/drm/i915/gt/intel_workarounds.c   |  24 +-
 drivers/gpu/drm/i915/gt/mock_engine.c         |  24 +-
 drivers/gpu/drm/i915/gt/selftest_context.c    |   5 +-
 drivers/gpu/drm/i915/gt/selftest_engine_cs.c  |   4 +-
 .../{selftest_lrc.c => selftest_execlists.c}  |  37 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c  |   8 +-
 drivers/gpu/drm/i915/gt/selftest_mocs.c       |   2 +-
 drivers/gpu/drm/i915/gt/selftest_reset.c      |   5 +-
 .../drm/i915/gt/selftest_ring_submission.c    |   4 +-
 drivers/gpu/drm/i915/gt/selftest_timeline.c   | 100 +-
 .../gpu/drm/i915/gt/selftest_workarounds.c    | 101 +-
 drivers/gpu/drm/i915/gt/shmem_utils.c         |  11 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.c        |  13 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c    |   1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c     |  11 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c    |   4 +-
 .../gpu/drm/i915/gt/uc/intel_guc_submission.c |   1 +
 drivers/gpu/drm/i915/gt/uc/intel_huc.c        |  18 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c      |  37 +-
 drivers/gpu/drm/i915/gvt/dmabuf.c             |   2 +-
 drivers/gpu/drm/i915/gvt/mmio_context.h       |   2 +
 drivers/gpu/drm/i915/gvt/scheduler.c          |   1 +
 drivers/gpu/drm/i915/i915_active.c            |  20 +-
 drivers/gpu/drm/i915/i915_cmd_parser.c        | 104 +-
 drivers/gpu/drm/i915/i915_debugfs.c           |  42 +-
 drivers/gpu/drm/i915/i915_drv.c               | 277 +++++-
 drivers/gpu/drm/i915/i915_drv.h               |  57 +-
 drivers/gpu/drm/i915/i915_gem.c               | 418 +++-----
 drivers/gpu/drm/i915/i915_gem.h               |  12 -
 drivers/gpu/drm/i915/i915_gem_gtt.c           |   2 +-
 drivers/gpu/drm/i915/i915_gem_ww.c            |  93 ++
 drivers/gpu/drm/i915/i915_gem_ww.h            |  53 ++
 drivers/gpu/drm/i915/i915_gpu_error.c         |   4 +-
 drivers/gpu/drm/i915/i915_memcpy.c            |   2 +-
 drivers/gpu/drm/i915/i915_memcpy.h            |   2 +-
 drivers/gpu/drm/i915/i915_mm.c                |   2 +-
 drivers/gpu/drm/i915/i915_params.c            |  11 +-
 drivers/gpu/drm/i915/i915_params.h            |   3 +-
 drivers/gpu/drm/i915/i915_pci.c               |   5 +-
 drivers/gpu/drm/i915/i915_perf.c              |  57 +-
 drivers/gpu/drm/i915/i915_query.c             |  62 ++
 drivers/gpu/drm/i915/i915_reg.h               |  17 +
 drivers/gpu/drm/i915/i915_selftest.h          |   2 +
 drivers/gpu/drm/i915/i915_vma.c               | 154 ++-
 drivers/gpu/drm/i915/i915_vma.h               |  28 +-
 drivers/gpu/drm/i915/intel_memory_region.c    | 229 ++++-
 drivers/gpu/drm/i915/intel_memory_region.h    |  53 +-
 drivers/gpu/drm/i915/intel_region_lmem.c      | 168 ++--
 drivers/gpu/drm/i915/intel_region_lmem.h      |   3 +-
 drivers/gpu/drm/i915/intel_uncore.c           |  12 +
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 100 +-
 .../drm/i915/selftests/i915_live_selftests.h  |   1 +
 drivers/gpu/drm/i915/selftests/i915_perf.c    |   3 +-
 drivers/gpu/drm/i915/selftests/i915_request.c |  10 +-
 drivers/gpu/drm/i915/selftests/igt_spinner.c  | 136 ++-
 drivers/gpu/drm/i915/selftests/igt_spinner.h  |   5 +
 .../drm/i915/selftests/intel_memory_region.c  | 442 ++++++++-
 drivers/gpu/drm/i915/selftests/mock_region.c  |   4 +-
 include/uapi/drm/i915_drm.h                   | 118 +++
 148 files changed, 7813 insertions(+), 3312 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_create.c
 delete mode 100644 drivers/gpu/drm/i915/gem/i915_gem_fence.c
 create mode 100644 drivers/gpu/drm/i915/gt/gen8_engine_cs.c
 create mode 100644 drivers/gpu/drm/i915/gt/gen8_engine_cs.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_engine_workaround_bb.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_engine_workaround_bb.h
 rename drivers/gpu/drm/i915/gt/{intel_lrc.c => intel_execlists_submission.c} (87%)
 create mode 100644 drivers/gpu/drm/i915/gt/intel_execlists_submission.h
 delete mode 100644 drivers/gpu/drm/i915/gt/intel_lrc.h
 rename drivers/gpu/drm/i915/gt/{selftest_lrc.c => selftest_execlists.c} (99%)
 create mode 100644 drivers/gpu/drm/i915/i915_gem_ww.c
 create mode 100644 drivers/gpu/drm/i915/i915_gem_ww.h

-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 88+ messages in thread

end of thread, other threads:[~2020-11-27 14:59 UTC | newest]

Thread overview: 88+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-10 11:56 [Intel-gfx] [RFC 00/60] DG1 LMEM enabling Matthew Auld
2020-07-10 11:56 ` [Intel-gfx] [RFC 01/60] drm/i915: Add has_master_unit_irq flag Matthew Auld
2020-07-10 11:56 ` [Intel-gfx] [RFC 02/60] drm/i915/dg1: add initial DG-1 definitions Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 03/60] drm/i915/dg1: Add DG1 PCI IDs Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 04/60] drm/i915/dg1: add support for the master unit interrupt Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 05/60] drm/i915/dg1: Remove SHPD_FILTER_CNT register programming Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 06/60] drm/i915/dg1: Add fake PCH Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 07/60] drm/i915/dg1: Initialize RAWCLK properly Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 08/60] drm/i915/dg1: Define MOCS table for DG1 Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 09/60] drm/i915/dg1: Add DG1 power wells Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 10/60] drm/i915/dg1: Increase mmio size to 4MB Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 11/60] drm/i915/dg1: Wait for pcode/uncore handshake at startup Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 12/60] drm/i915/dg1: Add DPLL macros for DG1 Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 13/60] drm/i915/dg1: Add and setup DPLLs " Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 14/60] drm/i915/dg1: Enable DPLL " Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 15/60] drm/i915/dg1: add hpd interrupt handling Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 16/60] drm/i915/dg1: invert HPD pins Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 17/60] drm/i915/dg1: gmbus pin mapping Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 18/60] drm/i915/dg1: Enable first 2 ports for DG1 Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 19/60] drm/i915/dg1: Don't program PHY_MISC for PHY-C and PHY-D Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 20/60] drm/i915/dg1: Update comp master/slave relationships for PHYs Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 21/60] drm/i915/dg1: Update voltage swing tables for DP Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 22/60] drm/i915/dg1: provide port/phy mapping for vbt Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 23/60] drm/i915/dg1: map/unmap pll clocks Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 24/60] drm/i915/dg1: enable PORT C/D aka D/E Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 25/60] drm/i915/dg1: Load DMC Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 26/60] drm/i915/rkl: Add initial workarounds Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 27/60] drm/i915/dg1: Add initial DG1 workarounds Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 28/60] drm/i915/dg1: DG1 does not support DC6 Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 29/60] drm/i915/lmem: Limit block size to 4G Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 30/60] drm/i915/lmem: Do not check r->sgt.pfn for NULL Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 31/60] drm/i915/dgfx: define llc and snooping behaviour Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 32/60] drm/i915/lmem: support pread Matthew Auld
2020-07-10 12:39   ` Tvrtko Ursulin
2020-07-10 13:04     ` Chris Wilson
2020-07-10 11:57 ` [Intel-gfx] [RFC 33/60] drm/i915/lmem: support pwrite Matthew Auld
2020-07-13  5:09   ` Dave Airlie
2020-07-14 14:35     ` Matthew Auld
2020-07-16  0:43       ` Dave Airlie
2020-07-16 10:11         ` Matthew Auld
2020-07-19 21:52           ` Dave Airlie
2020-08-07  9:32             ` Joonas Lahtinen
2020-08-07  9:46     ` Joonas Lahtinen
2020-08-09 21:06       ` Dave Airlie
2020-07-10 11:57 ` [Intel-gfx] [RFC 34/60] drm/i915: introduce kernel blitter_context Matthew Auld
2020-08-03 19:59   ` Lucas De Marchi
2020-08-03 20:17     ` Lucas De Marchi
2020-07-10 11:57 ` [Intel-gfx] [RFC 35/60] drm/i915/query: Expose memory regions through the query uAPI Matthew Auld
2020-07-10 16:20   ` Tvrtko Ursulin
2020-07-10 11:57 ` [Intel-gfx] [RFC 36/60] drm/i915/uapi: introduce drm_i915_gem_create_ext Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 37/60] drm/i915/lmem: allocate cmd ring in lmem Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 38/60] drm/i915/dg1: Introduce dmabuf mmap to LMEM Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 39/60] drm/i915: setup the LMEM region Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 40/60] drm/i915: drop fake LMEM Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 41/60] drm/i915: Distinction of memory regions Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 42/60] drm/i915: PPGTT support Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 43/60] drm/i915: support GGTT LMEM entries Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 44/60] drm/i915: allocate context from LMEM Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 45/60] drm/i915: move engine scratch to LMEM Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 46/60] drm/i915: Provide a way to disable PCIe relaxed write ordering Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 47/60] drm/i915: setup GPU device lmem region Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 48/60] drm/i915: Fix object page offset within a region Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 49/60] drm/i915: add i915_gem_object_is_devmem() function Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 50/60] drm/i915: finish memory region support for stolen objects Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 51/60] drm/i915/lmem: support optional CPU clearing for special internal use Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 52/60] drm/i915/guc: put all guc objects in lmem when available Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 53/60] drm/i915: Create stolen memory region from local memory Matthew Auld
2020-07-13  4:48   ` Dave Airlie
2020-07-14 15:01     ` Matthew Auld
2020-07-14 16:57       ` Tang, CQ
2020-07-14 19:26         ` Dave Airlie
2020-08-07  9:38           ` Joonas Lahtinen
2020-08-07 16:24             ` Tang, CQ
2020-07-14 17:39       ` Ville Syrjälä
2020-07-10 11:57 ` [Intel-gfx] [RFC 54/60] drm/i915/lmem: Bypass aperture when lmem is available Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 55/60] drm/i915/lmem: reset the lmem buffer created by fbdev Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 56/60] drm/i915/dsb: Enable lmem for dsb Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 57/60] drm/i915: Reintroduce mem->reserved Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 58/60] drm/i915/dg1: Reserve first 1MB of local memory Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 59/60] drm/i915: defer pd lmem block put to worker Matthew Auld
2020-07-10 11:57 ` [Intel-gfx] [RFC 60/60] drm/i915/lmem: allocate HWSP in lmem Matthew Auld
2020-07-10 12:51 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for DG1 LMEM enabling Patchwork
2020-07-10 12:52 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2020-07-10 13:12 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-07-10 14:50 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2020-08-11  3:23 ` [Intel-gfx] [RFC 00/60] " Dave Airlie
2020-08-11 10:48   ` Matthew Auld
2020-11-27 12:04 [RFC PATCH 000/162] DG1 + " Matthew Auld
2020-11-27 14:59 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.