summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/igt_vgem.c12
-rw-r--r--lib/igt_vgem.h1
-rw-r--r--tests/vgem_slow.c2
3 files changed, 11 insertions, 4 deletions
diff --git a/lib/igt_vgem.c b/lib/igt_vgem.c
index 66557913..81c5a3b7 100644
--- a/lib/igt_vgem.c
+++ b/lib/igt_vgem.c
@@ -155,7 +155,7 @@ uint32_t vgem_fence_attach(int fd, struct vgem_bo *bo, unsigned flags)
return arg.out_fence;
}
-static int __vgem_fence_signal(int fd, struct local_vgem_fence_signal *arg)
+static int ioctl_vgem_fence_signal(int fd, struct local_vgem_fence_signal *arg)
{
int err = 0;
if (igt_ioctl(fd, LOCAL_IOCTL_VGEM_FENCE_SIGNAL, arg))
@@ -164,11 +164,17 @@ static int __vgem_fence_signal(int fd, struct local_vgem_fence_signal *arg)
return err;
}
-void vgem_fence_signal(int fd, uint32_t fence)
+int __vgem_fence_signal(int fd, uint32_t fence)
{
struct local_vgem_fence_signal arg;
memset(&arg, 0, sizeof(arg));
arg.fence = fence;
- igt_assert_eq(__vgem_fence_signal(fd, &arg), 0);
+
+ return ioctl_vgem_fence_signal(fd, &arg);
+}
+
+void vgem_fence_signal(int fd, uint32_t fence)
+{
+ igt_assert_eq(__vgem_fence_signal(fd, fence), 0);
}
diff --git a/lib/igt_vgem.h b/lib/igt_vgem.h
index ab9ece4c..002ad7f0 100644
--- a/lib/igt_vgem.h
+++ b/lib/igt_vgem.h
@@ -44,6 +44,7 @@ bool vgem_fence_has_flag(int fd, unsigned flags);
uint32_t vgem_fence_attach(int fd, struct vgem_bo *bo, unsigned flags);
#define VGEM_FENCE_WRITE 0x1
#define WIP_VGEM_FENCE_NOTIMEOUT 0x2
+int __vgem_fence_signal(int fd, uint32_t fence);
void vgem_fence_signal(int fd, uint32_t fence);
#endif /* IGT_VGEM_H */
diff --git a/tests/vgem_slow.c b/tests/vgem_slow.c
index 4a1ae702..58b09e42 100644
--- a/tests/vgem_slow.c
+++ b/tests/vgem_slow.c
@@ -68,7 +68,7 @@ static void test_nohang(int fd)
igt_assert(poll(&pfd, 1, 0) == 0);
igt_assert(poll(&pfd, 1, 60*1000) == 1);
- vgem_fence_signal(fd, fence);
+ igt_assert_eq(__vgem_fence_signal(fd, fence), -110);
close(pfd.fd);
gem_close(fd, bo.handle);
}