OpenCloudOS-Kernel/drivers/gpu/drm/i915/selftests
Chris Wilson eb5f43d45b drm/i915/selftests: Exercise reset to break stuck GTT eviction
We must be able to reset the GPU while we are waiting on it to perform
an eviction (unbinding an active vma). So attach a spinning request to a
target vma and try and it evict it from a thread to see if that blocks
indefinitely.

v2: Add a wait for the thread to start just in case that takes more than
10ms...
v3: complete() not completion_done() to signal the completion.

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/20180716134009.13143-1-chris@chris-wilson.co.uk
2018-07-16 20:02:06 +01:00
..
huge_gem_object.c drm: move read_domains and write_domain into i915 2018-02-16 14:12:48 +00:00
huge_gem_object.h
huge_pages.c drm/i915: Start returning an error from i915_vma_move_to_active() 2018-07-06 18:22:37 +01:00
i915_gem_coherency.c drm/i915/selftests: Provide full mb() around clflush 2018-07-06 21:28:11 +01:00
i915_gem_context.c drm/i915: Prevent writing into a read-only object via a GGTT mmap 2018-07-13 16:14:04 +01:00
i915_gem_dmabuf.c drm/i915: Replace drm_dev_unref with drm_dev_put 2018-06-28 19:09:46 +02:00
i915_gem_evict.c drm/i915/selftests: Skip live eviction tests when wedged 2018-07-06 11:25:06 +01:00
i915_gem_gtt.c drm/i915/selftests: Constrain mock_gtt tests to fit within RAM 2018-07-10 09:53:41 +01:00
i915_gem_object.c drm/i915/selftests: Filter out both physical address swizzles 2018-07-10 09:53:41 +01:00
i915_live_selftests.h drm/i915: Check whitelist registers across resets 2018-04-14 18:36:45 +01:00
i915_mock_selftests.h drm/i915: Look for an active kernel context before switching 2018-05-24 15:51:45 +01:00
i915_random.c drm/i915/selftests: Allow random array allocation to fail 2018-01-02 15:30:40 +00:00
i915_random.h drm/i915/selftests: Use mul_u32_u32() for 32b x 32b -> 64b result 2017-09-13 13:27:20 +01:00
i915_request.c drm/i915: Provide a timeout to i915_gem_wait_for_idle() 2018-07-09 13:55:41 +01:00
i915_selftest.c drm/i915/selftests: Include the start of each subtest in the GEM trace 2018-07-13 22:30:56 +01:00
i915_sw_fence.c drm/i915/selftests: Wait for the dma-fence timeout 2018-01-17 17:09:59 +00:00
i915_syncmap.c drm/i915/selftests: Always initialise err 2017-11-14 23:50:49 +00:00
i915_timeline.c drm/i915: Split i915_gem_timeline into individual timelines 2018-05-02 23:57:18 +01:00
i915_vma.c drm/i915: Replace drm_dev_unref with drm_dev_put 2018-06-28 19:09:46 +02:00
igt_flush_test.c drm/i915/selftests: Replace wait-on-timeout with explicit timeout 2018-07-09 13:56:42 +01:00
igt_flush_test.h drm/i915/selftests: Refactor common flush_test() 2018-05-08 12:44:31 +01:00
igt_wedge_me.h drm/i915/selftests: Add a safety net to live_workarounds 2018-07-11 14:13:56 +01:00
intel_breadcrumbs.c drm/i915: Replace drm_dev_unref with drm_dev_put 2018-06-28 19:09:46 +02:00
intel_engine_cs.c drm/i915: add a selftest for the mmio_bases table 2018-03-15 08:46:06 +00:00
intel_guc.c drm/i915/selftests: Fixup GuC FW negative test 2018-07-12 15:22:58 +01:00
intel_hangcheck.c drm/i915/selftests: Exercise reset to break stuck GTT eviction 2018-07-16 20:02:06 +01:00
intel_lrc.c drm/i915/selftests: Force a preemption hang 2018-07-16 17:17:27 +01:00
intel_uncore.c drm/i915/icl: Gen11 forcewake support 2018-03-07 15:07:45 +02:00
intel_workarounds.c drm/i915/selftests: Add a safety net to live_workarounds 2018-07-11 14:13:56 +01:00
lib_sw_fence.c drm/i915/selftests: Convert timers to use timer_setup() 2017-11-21 15:46:44 -08:00
lib_sw_fence.h drm/i915/selftests: Wrap a timer into a i915_sw_fence 2017-10-12 21:06:26 +01:00
mock_context.c drm/i915: Store a pointer to intel_context in i915_request 2018-05-18 09:35:22 +01:00
mock_context.h drm/i915/selftests: Use a sacrificial context for hang testing 2018-02-05 15:27:24 +00:00
mock_dmabuf.c
mock_dmabuf.h
mock_drm.c
mock_drm.h
mock_engine.c drm/i915: Replace nested subclassing with explicit subclasses 2018-07-07 08:09:43 +01:00
mock_engine.h drm/i915: Supply the engine-id for our mock_engine() 2017-08-10 12:18:35 +01:00
mock_gem_device.c drm/i915/selftests: Avoid warning if runtime pm is disabled 2018-07-06 23:33:34 +01:00
mock_gem_device.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mock_gem_object.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mock_gtt.c drm/i915/selftests: Replace open-coded i915_address_space_init() 2018-07-05 11:19:24 +01:00
mock_gtt.h
mock_request.c drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
mock_request.h drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
mock_timeline.c drm/i915: Split i915_gem_timeline into individual timelines 2018-05-02 23:57:18 +01:00
mock_timeline.h drm/i915: Split i915_gem_timeline into individual timelines 2018-05-02 23:57:18 +01:00
mock_uncore.c
mock_uncore.h
scatterlist.c drm/i915/selftests: mix huge pages 2017-10-07 10:12:03 +01:00