summaryrefslogtreecommitdiff
path: root/tests/i915/gem_mmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/i915/gem_mmap.c')
-rw-r--r--tests/i915/gem_mmap.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/i915/gem_mmap.c b/tests/i915/gem_mmap.c
index 05a40d8a..227ae7ca 100644
--- a/tests/i915/gem_mmap.c
+++ b/tests/i915/gem_mmap.c
@@ -116,6 +116,25 @@ test_huge_bo(int huge)
free(cpu_pattern);
}
+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__cpu(i915, spin->handle, 0, 4096, PROT_WRITE);
+ ptr[256] = 0;
+ munmap(ptr, 4096);
+
+ igt_reset_timeout();
+
+ igt_spin_batch_free(i915, spin);
+}
+
static int mmap_ioctl(int i915, struct drm_i915_gem_mmap *arg)
{
int err = 0;
@@ -248,6 +267,9 @@ igt_main
gem_close(fd, handle);
}
+ igt_subtest("pf-nonblock")
+ test_pf_nonblock(fd);
+
igt_subtest("basic-small-bo")
test_huge_bo(-1);
igt_subtest("big-bo")