All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/5] drm/i915/gem: Introduce a migrate interface
@ 2021-06-28 14:46 ` Thomas Hellström
  0 siblings, 0 replies; 54+ messages in thread
From: Thomas Hellström @ 2021-06-28 14:46 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: Thomas Hellström, matthew.auld

We want to be able to explicitly migrate objects between gem memory
regions, initially for display and dma-buf, but there might be more
use-cases coming up.

Introduce a gem migrate interface, add a selftest and use it for
display fb pinning and dma-buf mapping.

This series should make accelerated desktop work on DG1 with DG1-enabled
OpenGL.

v2:
- Address review comments by Matthew Auld on patch 1/5. More details on
  the patch commit message.
- Address a dma-buf locking issue pointed out by Michael Ruhl, and
  add a selftest to catch that issue moving forward.
- Rebase the dma-buf migration patch on the above-mentioned fix.

v3:
- Fix i915_gem_object_can_migrate() to return true if object is already in
  the correct region, even if the object ops doesn't have a migrate()
  callback.
- Update typo in commit message.

Matthew Auld (1):
  drm/i915/gem: Introduce a selftest for the gem object migrate
    functionality

Thomas Hellström (4):
  drm/i915/gem: Implement object migration
  drm/i915/display: Migrate objects to LMEM if possible for display
  drm/i915/gem: Fix same-driver-another-instance dma-buf export
  drm/i915/gem: Migrate to system at dma-buf map time

 drivers/gpu/drm/i915/display/intel_display.c  |   5 +-
 drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c    |  36 ++-
 drivers/gpu/drm/i915/gem/i915_gem_domain.c    |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_lmem.c      |  21 --
 drivers/gpu/drm/i915/gem/i915_gem_object.c    |  97 +++++++
 drivers/gpu/drm/i915/gem/i915_gem_object.h    |  12 +-
 .../gpu/drm/i915/gem/i915_gem_object_types.h  |   9 +
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c       |  69 +++--
 drivers/gpu/drm/i915/gem/i915_gem_wait.c      |  19 ++
 .../drm/i915/gem/selftests/i915_gem_dmabuf.c  |  83 +++++-
 .../drm/i915/gem/selftests/i915_gem_migrate.c | 237 ++++++++++++++++++
 .../drm/i915/selftests/i915_live_selftests.h  |   1 +
 12 files changed, 546 insertions(+), 45 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gem/selftests/i915_gem_migrate.c

-- 
2.31.1


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

end of thread, other threads:[~2021-06-29  9:36 UTC | newest]

Thread overview: 54+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-28 14:46 [PATCH v3 0/5] drm/i915/gem: Introduce a migrate interface Thomas Hellström
2021-06-28 14:46 ` [Intel-gfx] " Thomas Hellström
2021-06-28 14:46 ` [PATCH v3 1/5] drm/i915/gem: Implement object migration Thomas Hellström
2021-06-28 14:46   ` [Intel-gfx] " Thomas Hellström
2021-06-28 16:28   ` Matthew Auld
2021-06-28 16:28     ` [Intel-gfx] " Matthew Auld
2021-06-28 17:34     ` Thomas Hellström
2021-06-28 17:34       ` [Intel-gfx] " Thomas Hellström
2021-06-28 18:11   ` Ruhl, Michael J
2021-06-28 18:11     ` [Intel-gfx] " Ruhl, Michael J
2021-06-28 19:02     ` Thomas Hellström
2021-06-28 19:02       ` [Intel-gfx] " Thomas Hellström
2021-06-28 19:50       ` Ruhl, Michael J
2021-06-28 19:50         ` [Intel-gfx] " Ruhl, Michael J
2021-06-28 19:54         ` Thomas Hellström
2021-06-28 19:54           ` [Intel-gfx] " Thomas Hellström
2021-06-28 20:13           ` Ruhl, Michael J
2021-06-28 20:13             ` [Intel-gfx] " Ruhl, Michael J
2021-06-29  8:47   ` Daniel Vetter
2021-06-29  8:47     ` Daniel Vetter
2021-06-28 14:46 ` [PATCH v3 2/5] drm/i915/gem: Introduce a selftest for the gem object migrate functionality Thomas Hellström
2021-06-28 14:46   ` [Intel-gfx] " Thomas Hellström
2021-06-28 15:51   ` Matthew Auld
2021-06-28 15:51     ` [Intel-gfx] " Matthew Auld
2021-06-28 18:53   ` Ruhl, Michael J
2021-06-28 18:53     ` Ruhl, Michael J
2021-06-28 19:14     ` Thomas Hellström
2021-06-28 19:14       ` Thomas Hellström
2021-06-28 19:27       ` Ruhl, Michael J
2021-06-28 19:27         ` Ruhl, Michael J
2021-06-28 19:32         ` Thomas Hellström
2021-06-28 19:32           ` Thomas Hellström
2021-06-28 14:46 ` [PATCH v3 3/5] drm/i915/display: Migrate objects to LMEM if possible for display Thomas Hellström
2021-06-28 14:46   ` [Intel-gfx] " Thomas Hellström
2021-06-28 15:20   ` Matthew Auld
2021-06-28 15:20     ` [Intel-gfx] " Matthew Auld
2021-06-28 14:46 ` [PATCH v3 4/5] drm/i915/gem: Fix same-driver-another-instance dma-buf export Thomas Hellström
2021-06-28 14:46   ` [Intel-gfx] " Thomas Hellström
2021-06-28 19:45   ` Ruhl, Michael J
2021-06-28 19:45     ` [Intel-gfx] " Ruhl, Michael J
2021-06-29  8:43     ` Daniel Vetter
2021-06-29  8:43       ` [Intel-gfx] " Daniel Vetter
2021-06-29  9:36       ` Thomas Hellström
2021-06-29  9:36         ` [Intel-gfx] " Thomas Hellström
2021-06-28 14:46 ` [PATCH v3 5/5] drm/i915/gem: Migrate to system at dma-buf map time Thomas Hellström
2021-06-28 14:46   ` [Intel-gfx] " Thomas Hellström
2021-06-28 19:45   ` Ruhl, Michael J
2021-06-28 19:45     ` [Intel-gfx] " Ruhl, Michael J
2021-06-28 19:51     ` Thomas Hellström
2021-06-28 19:51       ` [Intel-gfx] " Thomas Hellström
2021-06-28 16:57 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/gem: Introduce a migrate interface (rev3) Patchwork
2021-06-28 16:58 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-06-28 17:27 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-06-28 20:57 ` [Intel-gfx] ✓ Fi.CI.IGT: " 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.