1 /*
2  * SPDX-License-Identifier: MIT
3  *
4  * Copyright © 2019 Intel Corporation
5  */
6 
7 #ifndef IGT_LIVE_TEST_H
8 #define IGT_LIVE_TEST_H
9 
10 #include "gt/intel_engine.h" /* for I915_NUM_ENGINES */
11 
12 struct drm_i915_private;
13 
14 struct igt_live_test {
15 	struct drm_i915_private *i915;
16 	const char *func;
17 	const char *name;
18 
19 	unsigned int reset_global;
20 	unsigned int reset_engine[I915_NUM_ENGINES];
21 };
22 
23 /*
24  * Flush the GPU state before and after the test to ensure that no residual
25  * code is running on the GPU that may affect this test. Also compare the
26  * state before and after the test and alert if it unexpectedly changes,
27  * e.g. if the GPU was reset.
28  */
29 int igt_live_test_begin(struct igt_live_test *t,
30 			struct drm_i915_private *i915,
31 			const char *func,
32 			const char *name);
33 int igt_live_test_end(struct igt_live_test *t);
34 
35 #endif /* IGT_LIVE_TEST_H */
36