linux_dsm_epyc7002/drivers/gpu/drm/i915/gem/selftests
Abdiel Janulgue cc662126b4 drm/i915: Introduce DRM_I915_GEM_MMAP_OFFSET
This is really just an alias of mmap_gtt. The 'mmap offset' nomenclature
comes from the value returned by this ioctl which is the offset into the
device fd which userpace uses with mmap(2).

mmap_gtt was our initial mmap_offset implementation, this extends
our CPU mmap support to allow additional fault handlers that depends on
the object's backing pages.

Note that we multiplex mmap_gtt and mmap_offset through the same ioctl,
and use the zero extending behaviour of drm to differentiate between
them, when we inspect the flags.

To support multiple mmap types on an object we need to support multiple
mmap_offsets for an object (each offset in the global device address
space corresponding to a unique instance of the object for a file + mmap
type). As we drop the simplified drm core idea of a single mmap_offset,
we need to provide replacement hooks for the dumb mmap interface as
well.

Link: https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1675
Testcase: igt/gem_mmap_offset
Signed-off-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20191204120032.3682839-1-chris@chris-wilson.co.uk
2019-12-04 15:11:44 +00:00
..
huge_gem_object.c drm/i915/selftests: Use sgt_iter for huge_pages_free 2019-11-29 14:23:53 +00:00
huge_gem_object.h drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
huge_pages.c drm/i915/selftests: Complete transition to a real struct file mock 2019-11-08 10:17:41 +00:00
i915_gem_client_blt.c drm/i915: Serialise with engine-pm around requests on the kernel_context 2019-11-25 13:17:18 +00:00
i915_gem_coherency.c drm/i915/selftests: Keep engine awake during live_coherency 2019-11-30 09:20:56 +00:00
i915_gem_context.c drm/i915/selftests: Drop local vm reference! 2019-11-28 20:11:13 +00:00
i915_gem_dmabuf.c drm/i915: Fix up broken merge 2019-07-22 23:43:15 +02:00
i915_gem_mman.c drm/i915: Introduce DRM_I915_GEM_MMAP_OFFSET 2019-12-04 15:11:44 +00:00
i915_gem_object_blt.c drm/i915: Serialise with engine-pm around requests on the kernel_context 2019-11-25 13:17:18 +00:00
i915_gem_object.c drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
i915_gem_phys.c drm/i915/selftests: Drop vestigal struct_mutex guards 2019-10-04 15:39:41 +01:00
igt_gem_utils.c drm/i915: Pull i915_vma_pin under the vm->mutex 2019-10-04 15:39:02 +01:00
igt_gem_utils.h drm/i915/selftests: Teach igt_gpu_fill_dw() to take intel_context 2019-08-24 09:10:08 +01:00
mock_context.c drm/i915/gem: Embed context/timeline name inside the GEM context 2019-11-11 11:46:40 +00:00
mock_context.h drm/i915/selftests: Complete transition to a real struct file mock 2019-11-08 10:17:41 +00:00
mock_dmabuf.c drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
mock_dmabuf.h drm/i915: change to_mock() to an inline function 2019-11-08 09:12:34 +00:00
mock_gem_object.h drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00