Message ID | 20180412180823.11998-1-chris@chris-wilson.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 12/04/2018 19:08, Chris Wilson wrote: > Before we start trying to use userptr to test interoperability with > PRIME, we first need to check that the device in question has userptr > support. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106013 > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > --- > tests/prime_mmap.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/tests/prime_mmap.c b/tests/prime_mmap.c > index 0da0aa68..67a6a232 100644 > --- a/tests/prime_mmap.c > +++ b/tests/prime_mmap.c > @@ -307,6 +307,19 @@ static int prime_handle_to_fd_no_assert(uint32_t handle, int flags, int *fd_out) > return ret; > } > > +static bool has_userptr(void) > +{ > + uint32_t handle = 0; > + void *ptr; > + > + igt_assert(posix_memalign(&ptr, 4096, 4096) == 0); > + if ( __gem_userptr(fd, ptr, 4096, 0, 0, &handle) == 0) > + gem_close(fd, handle); > + free(ptr); > + > + return handle; > +} > + > /* test for mmap(dma_buf_export(userptr)) */ > static void > test_userptr(void) > @@ -315,6 +328,8 @@ test_userptr(void) > void *ptr; > uint32_t handle; > > + igt_require(has_userptr()); > + > /* create userptr bo */ > ret = posix_memalign(&ptr, 4096, BO_SIZE); > igt_assert_eq(ret, 0); > Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Regards, Tvrtko
diff --git a/tests/prime_mmap.c b/tests/prime_mmap.c index 0da0aa68..67a6a232 100644 --- a/tests/prime_mmap.c +++ b/tests/prime_mmap.c @@ -307,6 +307,19 @@ static int prime_handle_to_fd_no_assert(uint32_t handle, int flags, int *fd_out) return ret; } +static bool has_userptr(void) +{ + uint32_t handle = 0; + void *ptr; + + igt_assert(posix_memalign(&ptr, 4096, 4096) == 0); + if ( __gem_userptr(fd, ptr, 4096, 0, 0, &handle) == 0) + gem_close(fd, handle); + free(ptr); + + return handle; +} + /* test for mmap(dma_buf_export(userptr)) */ static void test_userptr(void) @@ -315,6 +328,8 @@ test_userptr(void) void *ptr; uint32_t handle; + igt_require(has_userptr()); + /* create userptr bo */ ret = posix_memalign(&ptr, 4096, BO_SIZE); igt_assert_eq(ret, 0);
Before we start trying to use userptr to test interoperability with PRIME, we first need to check that the device in question has userptr support. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106013 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- tests/prime_mmap.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)