summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/igt_dummyload.c5
-rw-r--r--lib/igt_dummyload.h7
2 files changed, 6 insertions, 6 deletions
diff --git a/lib/igt_dummyload.c b/lib/igt_dummyload.c
index 7beb6624..2027a4b7 100644
--- a/lib/igt_dummyload.c
+++ b/lib/igt_dummyload.c
@@ -186,7 +186,8 @@ emit_recursive_batch(igt_spin_t *spin,
spin->handle = obj[BATCH].handle;
/* Allow ourselves to be preempted */
- *batch++ = MI_ARB_CHK;
+ if (!(opts->flags & IGT_SPIN_NO_PREEMPTION))
+ *batch++ = MI_ARB_CHK;
/* Pad with a few nops so that we do not completely hog the system.
*
@@ -379,8 +380,6 @@ void igt_spin_batch_end(igt_spin_t *spin)
if (!spin)
return;
- igt_assert(*spin->batch == MI_ARB_CHK ||
- *spin->batch == MI_BATCH_BUFFER_END);
*spin->batch = MI_BATCH_BUFFER_END;
__sync_synchronize();
}
diff --git a/lib/igt_dummyload.h b/lib/igt_dummyload.h
index e80a1245..38bc7682 100644
--- a/lib/igt_dummyload.h
+++ b/lib/igt_dummyload.h
@@ -50,9 +50,10 @@ struct igt_spin_factory {
unsigned int flags;
};
-#define IGT_SPIN_FENCE_OUT (1 << 0)
-#define IGT_SPIN_POLL_RUN (1 << 1)
-#define IGT_SPIN_FAST (1 << 2)
+#define IGT_SPIN_FENCE_OUT (1 << 0)
+#define IGT_SPIN_POLL_RUN (1 << 1)
+#define IGT_SPIN_FAST (1 << 2)
+#define IGT_SPIN_NO_PREEMPTION (1 << 3)
igt_spin_t *
__igt_spin_batch_factory(int fd, const struct igt_spin_factory *opts);