summaryrefslogtreecommitdiff
path: root/tests/i915/gem_mmap_wc.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/i915/gem_mmap_wc.c')
-rw-r--r--tests/i915/gem_mmap_wc.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/i915/gem_mmap_wc.c b/tests/i915/gem_mmap_wc.c
index b8cff46e..e3ffc5ad 100644
--- a/tests/i915/gem_mmap_wc.c
+++ b/tests/i915/gem_mmap_wc.c
@@ -443,6 +443,25 @@ test_fault_concurrent(int fd)
}
static void
+test_pf_nonblock(int i915)
+{
+ igt_spin_t *spin;
+ uint32_t *ptr;
+
+ spin = igt_spin_batch_new(i915);
+
+ igt_set_timeout(1, "initial pagefaulting did not complete within 1s");
+
+ ptr = gem_mmap__wc(i915, spin->handle, 0, 4096, PROT_WRITE);
+ ptr[256] = 0;
+ munmap(ptr, 4096);
+
+ igt_reset_timeout();
+
+ igt_spin_batch_free(i915, spin);
+}
+
+static void
run_without_prefault(int fd,
void (*func)(int fd))
{
@@ -581,6 +600,8 @@ igt_main
test_write_cpu_read_wc(fd, 0);
igt_subtest("write-gtt-read-wc")
test_write_gtt_read_wc(fd);
+ igt_subtest("pf-nonblock")
+ test_pf_nonblock(fd);
igt_subtest("set-cache-level")
test_set_cache_level(fd);