OpenCloudOS-Kernel/drivers/gpu/drm/i915/gem
Thomas Hellström 213d509277 drm/i915/ttm: Introduce a TTM i915 gem object backend
Most logical place to introduce TTM buffer objects is as an i915
gem object backend. We need to add some ops to account for added
functionality like delayed delete and LRU list manipulation.

Initially we support only LMEM and SYSTEM memory, but SYSTEM
(which in this case means evicted LMEM objects) is not
visible to i915 GEM yet. The plan is to move the i915 gem system region
over to the TTM system memory type in upcoming patches.

We set up GPU bindings directly both from LMEM and from the system region,
as there is no need to use the legacy TTM_TT memory type. We reserve
that for future porting of GGTT bindings to TTM.

Remove the old lmem backend.

Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210610070152.572423-2-thomas.hellstrom@linux.intel.com
2021-06-11 10:53:06 +02:00
..
selftests drm/i915/gem: replace IS_GEN and friends with GRAPHICS_VER 2021-06-05 15:09:43 -07:00
i915_gem_busy.c dma-buf: drop the _rcu postfix on function names v3 2021-06-06 11:19:51 +02:00
i915_gem_clflush.c drm/i915: Rework clflush to work correctly without obj->mm.lock. 2021-03-24 17:27:20 +01:00
i915_gem_clflush.h
i915_gem_client_blt.c drm/i915/gem: Perform all asynchronous waits prior to marking payload start 2020-11-03 15:00:06 +00:00
i915_gem_client_blt.h
i915_gem_context.c drm/i915/gem: replace IS_GEN and friends with GRAPHICS_VER 2021-06-05 15:09:43 -07:00
i915_gem_context.h drm/i915/gem: Drop free_work for GEM contexts 2020-12-16 15:14:09 +00:00
i915_gem_context_types.h drm/i915: Fail too long user submissions by default 2021-03-26 01:01:27 +01:00
i915_gem_create.c drm/i915/ttm: Introduce a TTM i915 gem object backend 2021-06-11 10:53:06 +02:00
i915_gem_dmabuf.c drm/i915: Fix i915_sg_page_sizes to record dma segments rather than physical pages 2021-06-01 09:33:08 +01:00
i915_gem_domain.c drm/i915: Take obj lock around set_domain ioctl 2021-03-24 17:27:20 +01:00
i915_gem_execbuffer.c Merge tag 'drm-intel-gt-next-2021-06-10' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-06-11 13:37:34 +10:00
i915_gem_internal.c Merge branch 'stable/for-linus-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb 2021-05-04 10:58:49 -07:00
i915_gem_ioctls.h drm/i915/uapi: introduce drm_i915_gem_create_ext 2021-05-04 10:58:56 +01:00
i915_gem_lmem.c drm/i915/ttm: Introduce a TTM i915 gem object backend 2021-06-11 10:53:06 +02:00
i915_gem_lmem.h drm/i915/ttm: Introduce a TTM i915 gem object backend 2021-06-11 10:53:06 +02:00
i915_gem_mman.c drm/i915/gem: replace IS_GEN and friends with GRAPHICS_VER 2021-06-05 15:09:43 -07:00
i915_gem_mman.h drm/i915/gem: Only revoke mmap handlers if active 2020-07-02 20:46:08 +01:00
i915_gem_object.c drm/i915/ttm: Introduce a TTM i915 gem object backend 2021-06-11 10:53:06 +02:00
i915_gem_object.h drm/i915/ttm: Introduce a TTM i915 gem object backend 2021-06-11 10:53:06 +02:00
i915_gem_object_blt.c drm/i915/gem: replace IS_GEN and friends with GRAPHICS_VER 2021-06-05 15:09:43 -07:00
i915_gem_object_blt.h drm/i915: Convert i915_gem_object/client_blt.c to use ww locking as well, v2. 2020-09-07 14:31:22 +03:00
i915_gem_object_types.h drm/i915/ttm: Introduce a TTM i915 gem object backend 2021-06-11 10:53:06 +02:00
i915_gem_pages.c drm/i915/ttm Initialize the ttm device and memory managers 2021-06-02 13:21:24 +01:00
i915_gem_phys.c Merge drm/drm-next into drm-intel-gt-next 2021-06-02 10:18:45 +03:00
i915_gem_pm.c drm/i915: Finally remove obj->mm.lock. 2021-03-24 17:47:20 +01:00
i915_gem_pm.h drm/i915/gem: Move freeze/freeze_late next to suspend/suspend_late 2021-02-08 16:56:49 -05:00
i915_gem_region.c drm/i915/ttm: Introduce a TTM i915 gem object backend 2021-06-11 10:53:06 +02:00
i915_gem_region.h drm/i915/ttm Initialize the ttm device and memory managers 2021-06-02 13:21:24 +01:00
i915_gem_shmem.c drm/i915/ttm Initialize the ttm device and memory managers 2021-06-02 13:21:24 +01:00
i915_gem_shrinker.c drm/i915: Use trylock in shrinker for ggtt on bsw vt-d and bxt, v2. 2021-04-29 11:32:32 +02:00
i915_gem_shrinker.h drm/i915: Finally remove obj->mm.lock. 2021-03-24 17:47:20 +01:00
i915_gem_stolen.c drm/i915/gem: replace IS_GEN and friends with GRAPHICS_VER 2021-06-05 15:09:43 -07:00
i915_gem_stolen.h drm/i915/ttm Initialize the ttm device and memory managers 2021-06-02 13:21:24 +01:00
i915_gem_throttle.c drm/i915/gem: Remove disordered per-file request list for throttling 2020-09-07 13:13:50 +03:00
i915_gem_tiling.c drm/i915/gem: replace IS_GEN and friends with GRAPHICS_VER 2021-06-05 15:09:43 -07:00
i915_gem_ttm.c drm/i915/ttm: Introduce a TTM i915 gem object backend 2021-06-11 10:53:06 +02:00
i915_gem_ttm.h drm/i915/ttm: Introduce a TTM i915 gem object backend 2021-06-11 10:53:06 +02:00
i915_gem_userptr.c Merge tag 'drm-intel-gt-next-2021-06-10' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-06-11 13:37:34 +10:00
i915_gem_wait.c dma-buf: drop the _rcu postfix on function names v3 2021-06-06 11:19:51 +02:00
i915_gemfs.c
i915_gemfs.h