forked from Minki/linux
e4a8c8130b
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
36 lines
819 B
C
36 lines
819 B
C
/*
|
|
* SPDX-License-Identifier: MIT
|
|
*
|
|
* Copyright © 2019 Intel Corporation
|
|
*/
|
|
|
|
#ifndef IGT_LIVE_TEST_H
|
|
#define IGT_LIVE_TEST_H
|
|
|
|
#include "../i915_gem.h"
|
|
|
|
struct drm_i915_private;
|
|
|
|
struct igt_live_test {
|
|
struct drm_i915_private *i915;
|
|
const char *func;
|
|
const char *name;
|
|
|
|
unsigned int reset_global;
|
|
unsigned int reset_engine[I915_NUM_ENGINES];
|
|
};
|
|
|
|
/*
|
|
* Flush the GPU state before and after the test to ensure that no residual
|
|
* code is running on the GPU that may affect this test. Also compare the
|
|
* state before and after the test and alert if it unexpectedly changes,
|
|
* e.g. if the GPU was reset.
|
|
*/
|
|
int igt_live_test_begin(struct igt_live_test *t,
|
|
struct drm_i915_private *i915,
|
|
const char *func,
|
|
const char *name);
|
|
int igt_live_test_end(struct igt_live_test *t);
|
|
|
|
#endif /* IGT_LIVE_TEST_H */
|