[Intel-gfx] [PATCH igt] igt/drv_hangman: Use manual error-state generation
Chris Wilson
chris at chris-wilson.co.uk
Thu Oct 20 09:07:39 UTC 2016
For the basic error state, we only desire that an error state be created
following a hang. For that purpose, we do not need a real hang (slow
6-12s) but can inject one instead (fast <1s).
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
tests/drv_hangman.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/tests/drv_hangman.c b/tests/drv_hangman.c
index 953a4c6..bfe5eaf 100644
--- a/tests/drv_hangman.c
+++ b/tests/drv_hangman.c
@@ -32,6 +32,8 @@
#include <sys/stat.h>
#include <fcntl.h>
+#include "igt_debugfs.h"
+
#ifndef I915_PARAM_CMD_PARSER_VERSION
#define I915_PARAM_CMD_PARSER_VERSION 28
#endif
@@ -166,15 +168,21 @@ static void test_error_state_basic(void)
{
int fd;
- fd = drm_open_driver(DRIVER_INTEL);
-
clear_error_state();
assert_error_state_clear();
- submit_hang(fd, I915_EXEC_RENDER);
+ /* Manually trigger a hang by request a reset */
+ fd = igt_debugfs_open("i915_wedged", O_WRONLY);
+ igt_ignore_warn(write(fd, "1\n", 2));
+ close(fd);
+
+ /* Wait for the error capture and gpu reset to complete */
+ fd = drm_open_driver(DRIVER_INTEL);
+ gem_quiescent_gpu(fd);
close(fd);
assert_error_state_collected();
+
clear_error_state();
assert_error_state_clear();
}
--
2.9.3
More information about the Intel-gfx
mailing list