summaryrefslogtreecommitdiff
path: root/tests/gem_busy.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2016-07-28 14:43:22 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2016-07-28 15:05:11 +0100
commit5c1036200871511fea4535e2e4c1519c78fc86ac (patch)
tree0d74cd021fb77ed9bb59c17e874460c11cf806a6 /tests/gem_busy.c
parentb2e8d2c46dbb014592134387281881a3fe3fd6da (diff)
igt/gem_busy: Don't run hang tests under the hangchecker
When deliberately hanging the GPU, don't report FAIL if we detect a GPU hang! Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97106 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'tests/gem_busy.c')
-rw-r--r--tests/gem_busy.c41
1 files changed, 31 insertions, 10 deletions
diff --git a/tests/gem_busy.c b/tests/gem_busy.c
index 2b1c1b79..940f05e7 100644
--- a/tests/gem_busy.c
+++ b/tests/gem_busy.c
@@ -383,6 +383,9 @@ igt_main
igt_fixture {
fd = drm_open_driver_master(DRIVER_INTEL);
+ }
+
+ igt_fixture {
igt_fork_hang_detector(fd);
}
@@ -408,16 +411,6 @@ igt_main
one(fd, e->exec_id, e->flags, 0);
gem_quiescent_gpu(fd);
}
-
- igt_subtest_f("hang-%s", e->name) {
- gem_require_ring(fd, e->exec_id | e->flags);
- igt_skip_on_f(gen == 6 &&
- e->exec_id == I915_EXEC_BSD,
- "MI_STORE_DATA broken on gen6 bsd\n");
- gem_quiescent_gpu(fd);
- one(fd, e->exec_id, e->flags, HANG);
- gem_quiescent_gpu(fd);
- }
}
for (e = intel_execution_engines; e->name; e++) {
@@ -453,6 +446,34 @@ igt_main
igt_fixture {
igt_stop_hang_detector();
+ }
+
+ igt_subtest_group {
+ int gen = 0;
+
+ igt_fixture {
+ gem_require_mmap_wc(fd);
+ gen = intel_gen(intel_get_drm_devid(fd));
+ }
+
+ for (e = intel_execution_engines; e->name; e++) {
+ /* default exec-id is purely symbolic */
+ if (e->exec_id == 0)
+ continue;
+
+ igt_subtest_f("hang-%s", e->name) {
+ gem_require_ring(fd, e->exec_id | e->flags);
+ igt_skip_on_f(gen == 6 &&
+ e->exec_id == I915_EXEC_BSD,
+ "MI_STORE_DATA broken on gen6 bsd\n");
+ gem_quiescent_gpu(fd);
+ one(fd, e->exec_id, e->flags, HANG);
+ gem_quiescent_gpu(fd);
+ }
+ }
+ }
+
+ igt_fixture {
close(fd);
}
}