[PATCH v5 0/3] drm/i915/gem: Introduce a migrate interface
Thomas Hellström
thomas.hellstrom at linux.intel.com
Tue Jun 29 15:12:00 UTC 2021
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.
v4:
- Ditch dma-buf patches for now.
- Improve documentation (Suggested by Mattew Auld and Michael Ruhl)
- Always assume TTM migration hits a TTM move and unsets the pages through
move_notify. (Reported by Matthew Auld)
- Add a dma_fence_might_wait() annotation to
i915_gem_object_wait_migration() (Suggested by Daniel Vetter)
- Selftest updates (See specifics on that patch).
- Added R-Bs
v5:
- Re-add might_sleep() annotation to i915_gem_object_wait_migration()
- Added R-B.
Matthew Auld (1):
drm/i915/gem: Introduce a selftest for the gem object migrate
functionality
Thomas Hellström (2):
drm/i915/gem: Implement object migration
drm/i915/display: Migrate objects to LMEM if possible for display
drivers/gpu/drm/i915/display/intel_display.c | 5 +-
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 | 113 ++++++++
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 | 77 +++++-
drivers/gpu/drm/i915/gem/i915_gem_wait.c | 19 ++
.../drm/i915/gem/selftests/i915_gem_migrate.c | 258 ++++++++++++++++++
.../drm/i915/selftests/i915_live_selftests.h | 1 +
10 files changed, 481 insertions(+), 36 deletions(-)
create mode 100644 drivers/gpu/drm/i915/gem/selftests/i915_gem_migrate.c
--
2.31.1
More information about the dri-devel
mailing list