diff options
Diffstat (limited to 'tests/i915/gem_mmap.c')
-rw-r--r-- | tests/i915/gem_mmap.c | 22 |
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") |