OpenCloudOS-Kernel/drivers/gpu/drm/i915/selftests
Chris Wilson d0667e9ce5 drm/i915: Pass the set of guilty engines to i915_reset()
Currently, we rely on inspecting the hangcheck state from within the
i915_reset() routines to determine which engines were guilty of the
hang. This is problematic for cases where we want to run
i915_handle_error() and call i915_reset() independently of hangcheck.
Instead of relying on the indirect parameter passing, turn it into an
explicit parameter providing the set of stalled engines which then are
treated as guilty until proven innocent.

While we are removing the implicit stalled parameter, also make the
reason into an explicit parameter to i915_reset(). We still need a
back-channel for i915_handle_error() to hand over the task to the locked
waiter, but let's keep that its own channel rather than incriminate
another.

This leaves stalled/seqno as being private to hangcheck, with no more
nefarious snooping by reset, be it whole-device or per-engine. \o/

The only real issue now is that this makes it crystal clear that we
don't actually do any testing of hangcheck per se in
drv_selftest/live_hangcheck, merely of resets!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Michel Thierry <michel.thierry@intel.com>
Cc: Jeff McGee <jeff.mcgee@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Michel Thierry <michel.thierry@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180406220354.18911-2-chris@chris-wilson.co.uk
2018-04-06 23:51:40 +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: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
i915_gem_coherency.c drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
i915_gem_context.c drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
i915_gem_dmabuf.c drm/i915: Fix an error checking test 2017-06-27 14:30:56 +01:00
i915_gem_evict.c drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
i915_gem_gtt.c drm: move read_domains and write_domain into i915 2018-02-16 14:12:48 +00:00
i915_gem_object.c drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
i915_gem_timeline.c drm/i915/selftests: Always initialise err 2017-11-14 23:50:49 +00:00
i915_live_selftests.h drm/i915/selftests: Add basic sanitychecks for execlists 2018-04-04 20:53:51 +01:00
i915_mock_selftests.h drm/i915: add a selftest for the mmio_bases table 2018-03-15 08:46:06 +00: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: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
i915_selftest.c
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_vma.c drm/i915/selftests: Always initialise err 2017-11-14 23:50:49 +00:00
intel_breadcrumbs.c Pass mode to wait_on_atomic_t() action funcs and provide default actions 2017-11-13 15:38:16 +00: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/guc: Allow preempt-client to be NULL 2018-02-08 07:29:59 +00:00
intel_hangcheck.c drm/i915: Pass the set of guilty engines to i915_reset() 2018-04-06 23:51:40 +01:00
intel_lrc.c drm/i915/selftests: Add basic sanitychecks for execlists 2018-04-04 20:53:51 +01:00
intel_uncore.c drm/i915/icl: Gen11 forcewake support 2018-03-07 15:07:45 +02: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/selftests: Use a sacrificial context for hang testing 2018-02-05 15:27:24 +00: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: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00: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: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00: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: make mappable struct resource centric 2017-12-12 12:30:21 +02: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
mock_timeline.h
mock_uncore.c
mock_uncore.h
scatterlist.c drm/i915/selftests: mix huge pages 2017-10-07 10:12:03 +01:00