drm/i915/selftests: Refactor common live_test framework
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 21 Jan 2019 22:20:47 +0000 (22:20 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 22 Jan 2019 13:01:20 +0000 (13:01 +0000)
commite4a8c8130ba3ac5566c96c0dd79d7a3988fc13ab
tree0ecce058e2ab96a4be3ca2f59802592863d7ac31
parentc95e7ce387f97df6f7e61e08a35f97a8d74e5ee1
drm/i915/selftests: Refactor common live_test framework

Before adding yet another copy of struct live_test and its handler,
refactor the existing code into a common framework for live selftests.
For many live selftests, we want to know if the GPU hung or otherwise
misbehaved during the execution of the test (beyond any infraction in
the behaviour under test), live_test provides this by comparing the
GPU state before and after, alerting if it unexpectedly changed (e.g.
the reset counter changed). It also ensures that the GPU is idle before
and after the test, so that residual code running on the GPU is flushed
before testing.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190121222117.23305-5-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/Makefile
drivers/gpu/drm/i915/selftests/i915_gem_context.c
drivers/gpu/drm/i915/selftests/i915_request.c
drivers/gpu/drm/i915/selftests/igt_live_test.c [new file with mode: 0644]
drivers/gpu/drm/i915/selftests/igt_live_test.h [new file with mode: 0644]