linux_dsm_epyc7002/drivers/gpu/drm/i915/gem
Chris Wilson e3d291301f drm/i915/gem: Implement legacy MI_STORE_DATA_IMM
The older arches did not convert MI_STORE_DATA_IMM to using the GTT, but
left them writing to a physical address. The notes suggest that the
primary reason would be so that the writes were cache coherent, as the
CPU cache uses physical tagging. As such we did not implement the
legacy variant of MI_STORE_DATA_IMM and so left all the relocations
synchronous -- but with a small function to convert from the vma address
into the physical address, we can implement asynchronous relocs on these
older arches, fixing up a few tests that require them.

In order to be able to test the legacy paths, refactor the gpu
relocations so that we can hook them up to a selftest.

v2: Use an array of offsets not enum labels for the selftest
v3: Refactor the common igt_hexdump()

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/757
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200504140629.28240-1-chris@chris-wilson.co.uk
2020-05-04 15:15:04 +01:00
..
selftests drm/i915/gem: Implement legacy MI_STORE_DATA_IMM 2020-05-04 15:15:04 +01:00
i915_gem_busy.c drm/i915: Align engine->uabi_class/instance with i915_drm.h 2020-01-20 09:13:01 +00:00
i915_gem_clflush.c drm/i915: Hold reference to intel_frontbuffer as we track activity 2019-12-18 12:09:57 +00:00
i915_gem_clflush.h
i915_gem_client_blt.c drm/i915/gt: Move the batch buffer pool from the engine to the gt 2020-04-30 19:12:02 +01:00
i915_gem_client_blt.h
i915_gem_context_types.h drm/i915/gem: use spinlock_t instead of struct spinlock 2020-02-19 15:08:49 +02:00
i915_gem_context.c drm/i915: Only close vma we open 2020-04-24 11:24:45 +01:00
i915_gem_context.h drm/i915/perf: introduce global sseu pinning 2020-03-17 15:27:55 +02:00
i915_gem_dmabuf.c drm/i915: Skip CPU synchronisation on dmabuf attachments 2020-02-11 00:16:15 +00:00
i915_gem_domain.c drm/i915/gem: Remove object_is_locked assertion from unpin_from_display_plane 2020-04-20 16:23:24 +01:00
i915_gem_execbuffer.c drm/i915/gem: Implement legacy MI_STORE_DATA_IMM 2020-05-04 15:15:04 +01:00
i915_gem_fence.c Merge drm/drm-next into drm-intel-next-queued 2019-08-22 00:10:36 -07:00
i915_gem_internal.c drm/i915: significantly reduce the use of <drm/i915_drm.h> 2020-02-27 08:35:09 +02:00
i915_gem_ioctls.h drm/i915: Introduce DRM_I915_GEM_MMAP_OFFSET 2019-12-04 15:11:44 +00:00
i915_gem_lmem.c drm/i915/gem: Support discontiguous lmem object maps 2020-01-03 11:26:01 +00:00
i915_gem_lmem.h drm/i915/gem: Support discontiguous lmem object maps 2020-01-03 11:26:01 +00:00
i915_gem_mman.c drm/i915: Implement vm_ops->access for gdb access into mmaps 2020-05-01 17:30:47 +01:00
i915_gem_mman.h drm/i915: Introduce DRM_I915_GEM_MMAP_OFFSET 2019-12-04 15:11:44 +00:00
i915_gem_object_blt.c drm/i915/gt: Move the batch buffer pool from the engine to the gt 2020-04-30 19:12:02 +01:00
i915_gem_object_blt.h drm/i915/gt: Move the batch buffer pool from the engine to the gt 2020-04-30 19:12:02 +01:00
i915_gem_object_types.h drm/i915/gem: Drop cached obj->bind_count 2020-04-02 01:17:39 +01:00
i915_gem_object.c drm/i915/gem: Lazily acquire the device wakeref for freeing objects 2020-05-04 11:12:37 +01:00
i915_gem_object.h drm/i915: significantly reduce the use of <drm/i915_drm.h> 2020-02-27 08:35:09 +02:00
i915_gem_pages.c drm/i915/gem: Drop cached obj->bind_count 2020-04-02 01:17:39 +01:00
i915_gem_phys.c drm/i915/phys: unconditionally call release_memory_region 2020-03-06 10:05:17 +00:00
i915_gem_pm.c drm/i915/gem: Make WARN* drm specific where drm_priv ptr is available 2020-01-22 17:52:39 +02:00
i915_gem_pm.h drm/i915: Teach record_defaults to operate on the intel_gt 2019-10-22 20:43:07 +01:00
i915_gem_region.c drm/i915/gem: Single page objects are naturally contiguous 2020-01-02 21:21:17 +00:00
i915_gem_region.h drm/i915/region: support contiguous allocations 2019-10-08 20:50:01 +01:00
i915_gem_shmem.c drm/i915/gem: Make WARN* drm specific where drm_priv ptr is available 2020-01-22 17:52:39 +02:00
i915_gem_shrinker.c drm/i915/gem: Drop cached obj->bind_count 2020-04-02 01:17:39 +01:00
i915_gem_shrinker.h drm/i915: extract i915_gem_shrinker.h from i915_drv.h 2019-08-09 12:03:32 +03:00
i915_gem_stolen.c drm/i915/stolen: prefer struct drm_device based logging 2020-04-08 13:49:35 +03:00
i915_gem_stolen.h drm/i915/display: Be explicit in handling the preallocated vma 2020-02-05 09:20:39 +00:00
i915_gem_throttle.c drm/i915: Keep drm_i915_file_private around under RCU 2019-08-23 22:13:17 +01:00
i915_gem_tiling.c drm/i915/gem: Hold obj->vma.lock over for_each_ggtt_vma() 2020-04-22 15:43:56 +01:00
i915_gem_userptr.c drm/i915: significantly reduce the use of <drm/i915_drm.h> 2020-02-27 08:35:09 +02:00
i915_gem_wait.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
i915_gemfs.c drm/i915: Stop reconfiguring our shmemfs mountpoint 2019-08-09 20:18:30 +01:00
i915_gemfs.h