Lines Matching full:fd

66 syncobj_attach_sw_sync(int fd, uint32_t handle)  in syncobj_attach_sw_sync()  argument
73 syncobj_import_sync_file(fd, handle, fence); in syncobj_attach_sw_sync()
80 syncobj_trigger(int fd, uint32_t handle) in syncobj_trigger() argument
82 int timeline = syncobj_attach_sw_sync(fd, handle); in syncobj_trigger()
112 int fd; member
126 syncobj_trigger(pair->fd, pair->handle); in syncobj_trigger_free_pair_func()
131 syncobj_trigger_delayed(int fd, uint32_t syncobj, uint64_t nsec) in syncobj_trigger_delayed() argument
135 pair->fd = fd; in syncobj_trigger_delayed()
142 test_wait_bad_flags(int fd) in test_wait_bad_flags() argument
146 igt_assert_eq(__syncobj_wait(fd, &wait), -EINVAL); in test_wait_bad_flags()
150 test_wait_zero_handles(int fd) in test_wait_zero_handles() argument
153 igt_assert_eq(__syncobj_wait(fd, &wait), -EINVAL); in test_wait_zero_handles()
157 test_wait_illegal_handle(int fd) in test_wait_illegal_handle() argument
164 igt_assert_eq(__syncobj_wait(fd, &wait), -ENOENT); in test_wait_illegal_handle()
168 test_reset_zero_handles(int fd) in test_reset_zero_handles() argument
173 ret = drmIoctl(fd, LOCAL_IOCTL_SYNCOBJ_RESET, &array); in test_reset_zero_handles()
178 test_reset_illegal_handle(int fd) in test_reset_illegal_handle() argument
186 ret = drmIoctl(fd, LOCAL_IOCTL_SYNCOBJ_RESET, &array); in test_reset_illegal_handle()
191 test_reset_one_illegal_handle(int fd) in test_reset_one_illegal_handle() argument
197 syncobjs[0] = syncobj_create(fd, LOCAL_SYNCOBJ_CREATE_SIGNALED); in test_reset_one_illegal_handle()
199 syncobjs[2] = syncobj_create(fd, LOCAL_SYNCOBJ_CREATE_SIGNALED); in test_reset_one_illegal_handle()
201 igt_assert_eq(syncobj_wait_err(fd, &syncobjs[0], 1, 0, 0), 0); in test_reset_one_illegal_handle()
202 igt_assert_eq(syncobj_wait_err(fd, &syncobjs[2], 1, 0, 0), 0); in test_reset_one_illegal_handle()
206 ret = drmIoctl(fd, LOCAL_IOCTL_SYNCOBJ_RESET, &array); in test_reset_one_illegal_handle()
210 igt_assert_eq(syncobj_wait_err(fd, &syncobjs[0], 1, 0, 0), 0); in test_reset_one_illegal_handle()
211 igt_assert_eq(syncobj_wait_err(fd, &syncobjs[2], 1, 0, 0), 0); in test_reset_one_illegal_handle()
213 syncobj_destroy(fd, syncobjs[0]); in test_reset_one_illegal_handle()
214 syncobj_destroy(fd, syncobjs[2]); in test_reset_one_illegal_handle()
218 test_reset_bad_pad(int fd) in test_reset_bad_pad() argument
227 ret = drmIoctl(fd, LOCAL_IOCTL_SYNCOBJ_RESET, &array); in test_reset_bad_pad()
232 test_signal_zero_handles(int fd) in test_signal_zero_handles() argument
237 ret = drmIoctl(fd, LOCAL_IOCTL_SYNCOBJ_SIGNAL, &array); in test_signal_zero_handles()
242 test_signal_illegal_handle(int fd) in test_signal_illegal_handle() argument
250 ret = drmIoctl(fd, LOCAL_IOCTL_SYNCOBJ_SIGNAL, &array); in test_signal_illegal_handle()
255 test_signal_one_illegal_handle(int fd) in test_signal_one_illegal_handle() argument
261 syncobjs[0] = syncobj_create(fd, 0); in test_signal_one_illegal_handle()
263 syncobjs[2] = syncobj_create(fd, 0); in test_signal_one_illegal_handle()
265 igt_assert_eq(syncobj_wait_err(fd, &syncobjs[0], 1, 0, 0), -EINVAL); in test_signal_one_illegal_handle()
266 igt_assert_eq(syncobj_wait_err(fd, &syncobjs[2], 1, 0, 0), -EINVAL); in test_signal_one_illegal_handle()
270 ret = drmIoctl(fd, LOCAL_IOCTL_SYNCOBJ_SIGNAL, &array); in test_signal_one_illegal_handle()
274 igt_assert_eq(syncobj_wait_err(fd, &syncobjs[0], 1, 0, 0), -EINVAL); in test_signal_one_illegal_handle()
275 igt_assert_eq(syncobj_wait_err(fd, &syncobjs[2], 1, 0, 0), -EINVAL); in test_signal_one_illegal_handle()
277 syncobj_destroy(fd, syncobjs[0]); in test_signal_one_illegal_handle()
278 syncobj_destroy(fd, syncobjs[2]); in test_signal_one_illegal_handle()
282 test_signal_bad_pad(int fd) in test_signal_bad_pad() argument
291 ret = drmIoctl(fd, LOCAL_IOCTL_SYNCOBJ_SIGNAL, &array); in test_signal_bad_pad()
317 test_single_wait(int fd, uint32_t test_flags, int expect) in test_single_wait() argument
319 uint32_t syncobj = syncobj_create(fd, 0); in test_single_wait()
324 timeline = syncobj_attach_sw_sync(fd, syncobj); in test_single_wait()
329 igt_assert_eq(syncobj_wait_err(fd, &syncobj, 1, 0, flags), expect); in test_single_wait()
331 igt_assert_eq(syncobj_wait_err(fd, &syncobj, 1, short_timeout(), in test_single_wait()
335 igt_assert_eq(syncobj_wait_err(fd, &syncobj, 1, UINT64_MAX, in test_single_wait()
339 syncobj_destroy(fd, syncobj); in test_single_wait()
345 test_wait_delayed_signal(int fd, uint32_t test_flags) in test_wait_delayed_signal() argument
347 uint32_t syncobj = syncobj_create(fd, 0); in test_wait_delayed_signal()
353 timer = syncobj_trigger_delayed(fd, syncobj, SHORT_TIME_NSEC); in test_wait_delayed_signal()
355 timeline = syncobj_attach_sw_sync(fd, syncobj); in test_wait_delayed_signal()
360 igt_assert(syncobj_wait(fd, &syncobj, 1, in test_wait_delayed_signal()
369 syncobj_destroy(fd, syncobj); in test_wait_delayed_signal()
373 test_reset_unsignaled(int fd) in test_reset_unsignaled() argument
375 uint32_t syncobj = syncobj_create(fd, 0); in test_reset_unsignaled()
377 igt_assert_eq(syncobj_wait_err(fd, &syncobj, 1, 0, 0), -EINVAL); in test_reset_unsignaled()
379 syncobj_reset(fd, &syncobj, 1); in test_reset_unsignaled()
381 igt_assert_eq(syncobj_wait_err(fd, &syncobj, 1, 0, 0), -EINVAL); in test_reset_unsignaled()
383 syncobj_destroy(fd, syncobj); in test_reset_unsignaled()
387 test_reset_signaled(int fd) in test_reset_signaled() argument
389 uint32_t syncobj = syncobj_create(fd, 0); in test_reset_signaled()
391 syncobj_trigger(fd, syncobj); in test_reset_signaled()
393 igt_assert_eq(syncobj_wait_err(fd, &syncobj, 1, 0, 0), 0); in test_reset_signaled()
395 syncobj_reset(fd, &syncobj, 1); in test_reset_signaled()
397 igt_assert_eq(syncobj_wait_err(fd, &syncobj, 1, 0, 0), -EINVAL); in test_reset_signaled()
399 syncobj_destroy(fd, syncobj); in test_reset_signaled()
403 test_reset_multiple_signaled(int fd) in test_reset_multiple_signaled() argument
409 syncobjs[i] = syncobj_create(fd, 0); in test_reset_multiple_signaled()
410 syncobj_trigger(fd, syncobjs[i]); in test_reset_multiple_signaled()
413 igt_assert_eq(syncobj_wait_err(fd, syncobjs, 3, 0, 0), 0); in test_reset_multiple_signaled()
415 syncobj_reset(fd, syncobjs, 3); in test_reset_multiple_signaled()
418 igt_assert_eq(syncobj_wait_err(fd, &syncobjs[i], 1, in test_reset_multiple_signaled()
420 syncobj_destroy(fd, syncobjs[i]); in test_reset_multiple_signaled()
428 syncobj_reset(pair->fd, &pair->handle, 1); in reset_and_trigger_func()
429 syncobj_trigger(pair->fd, pair->handle); in reset_and_trigger_func()
433 test_reset_during_wait_for_submit(int fd) in test_reset_during_wait_for_submit() argument
435 uint32_t syncobj = syncobj_create(fd, 0); in test_reset_during_wait_for_submit()
440 pair.fd = fd; in test_reset_during_wait_for_submit()
445 igt_assert(syncobj_wait(fd, &syncobj, 1, in test_reset_during_wait_for_submit()
451 syncobj_destroy(fd, syncobj); in test_reset_during_wait_for_submit()
455 test_signal(int fd) in test_signal() argument
457 uint32_t syncobj = syncobj_create(fd, 0); in test_signal()
460 igt_assert_eq(syncobj_wait_err(fd, &syncobj, 1, 0, 0), -EINVAL); in test_signal()
461 igt_assert_eq(syncobj_wait_err(fd, &syncobj, 1, 0, flags), -ETIME); in test_signal()
463 syncobj_signal(fd, &syncobj, 1); in test_signal()
465 igt_assert(syncobj_wait(fd, &syncobj, 1, 0, 0, NULL)); in test_signal()
466 igt_assert(syncobj_wait(fd, &syncobj, 1, 0, flags, NULL)); in test_signal()
468 syncobj_destroy(fd, syncobj); in test_signal()
472 test_multi_wait(int fd, uint32_t test_flags, int expect) in test_multi_wait() argument
478 syncobjs[0] = syncobj_create(fd, 0); in test_multi_wait()
479 syncobjs[1] = syncobj_create(fd, 0); in test_multi_wait()
480 syncobjs[2] = syncobj_create(fd, 0); in test_multi_wait()
493 timeline = syncobj_attach_sw_sync(fd, syncobjs[i]); in test_multi_wait()
498 igt_assert_eq(syncobj_wait_err(fd, syncobjs, 3, 0, flags), expect); in test_multi_wait()
500 igt_assert_eq(syncobj_wait_err(fd, syncobjs, 3, short_timeout(), in test_multi_wait()
504 igt_assert_eq(syncobj_wait_err(fd, syncobjs, 3, UINT64_MAX, in test_multi_wait()
508 syncobj_destroy(fd, syncobjs[0]); in test_multi_wait()
509 syncobj_destroy(fd, syncobjs[1]); in test_multi_wait()
510 syncobj_destroy(fd, syncobjs[2]); in test_multi_wait()
514 int fd; member
522 igt_assert_eq(__syncobj_wait(wait->fd, &wait->wait), 0); in wait_thread_func()
527 test_wait_snapshot(int fd, uint32_t test_flags) in test_wait_snapshot() argument
534 syncobjs[0] = syncobj_create(fd, 0); in test_wait_snapshot()
535 syncobjs[1] = syncobj_create(fd, 0); in test_wait_snapshot()
538 timelines[0] = syncobj_attach_sw_sync(fd, syncobjs[0]); in test_wait_snapshot()
539 timelines[1] = syncobj_attach_sw_sync(fd, syncobjs[1]); in test_wait_snapshot()
542 wait.fd = fd; in test_wait_snapshot()
558 syncobj_trigger(fd, syncobjs[0]); in test_wait_snapshot()
562 timelines[0] = syncobj_attach_sw_sync(fd, syncobjs[0]); in test_wait_snapshot()
568 syncobj_reset(fd, &syncobjs[0], 1); in test_wait_snapshot()
576 timelines[2] = syncobj_attach_sw_sync(fd, syncobjs[0]); in test_wait_snapshot()
583 syncobj_trigger(fd, syncobjs[1]); in test_wait_snapshot()
595 syncobj_destroy(fd, syncobjs[0]); in test_wait_snapshot()
596 syncobj_destroy(fd, syncobjs[1]); in test_wait_snapshot()
614 test_wait_complex(int fd, uint32_t test_flags) in test_wait_complex() argument
625 syncobjs[i] = syncobj_create(fd, 0); in test_wait_complex()
633 timelines[i] = syncobj_attach_sw_sync(fd, syncobjs[i]); in test_wait_complex()
636 wait.fd = fd; in test_wait_complex()
659 timelines[i] = syncobj_attach_sw_sync(fd, syncobjs[i]); in test_wait_complex()
675 syncobj_reset(fd, &syncobjs[i], 1); in test_wait_complex()
680 timelines[i] = syncobj_attach_sw_sync(fd, syncobjs[i]); in test_wait_complex()
710 syncobj_destroy(fd, syncobjs[i]); in test_wait_complex()
715 test_wait_interrupted(int fd, uint32_t test_flags) in test_wait_interrupted() argument
718 uint32_t syncobj = syncobj_create(fd, 0); in test_wait_interrupted()
728 igt_assert_eq(__syncobj_wait(fd, &wait), -ETIME); in test_wait_interrupted()
731 timeline = syncobj_attach_sw_sync(fd, syncobj); in test_wait_interrupted()
735 igt_assert_eq(__syncobj_wait(fd, &wait), -ETIME); in test_wait_interrupted()
737 syncobj_destroy(fd, syncobj); in test_wait_interrupted()
742 has_syncobj_wait(int fd) in has_syncobj_wait() argument
749 if (drmGetCap(fd, DRM_CAP_SYNCOBJ, &value)) in has_syncobj_wait()
757 ret = drmIoctl(fd, LOCAL_IOCTL_SYNCOBJ_WAIT, &wait); in has_syncobj_wait()
763 int fd = -1; variable
766 fd = drm_open_driver(DRIVER_ANY);
767 igt_require(has_syncobj_wait(fd));
772 test_wait_bad_flags(fd);
775 test_wait_zero_handles(fd);
778 test_wait_illegal_handle(fd);
781 test_reset_zero_handles(fd);
784 test_reset_illegal_handle(fd);
787 test_reset_one_illegal_handle(fd);
790 test_reset_bad_pad(fd);
793 test_signal_zero_handles(fd);
796 test_signal_illegal_handle(fd);
799 test_signal_one_illegal_handle(fd);
802 test_signal_bad_pad(fd);
827 test_single_wait(fd, flags, err);
831 test_wait_delayed_signal(fd, 0);
834 test_wait_delayed_signal(fd, WAIT_FOR_SUBMIT);
837 test_wait_delayed_signal(fd, WAIT_ALL);
840 test_wait_delayed_signal(fd, WAIT_ALL | WAIT_FOR_SUBMIT);
843 test_reset_unsignaled(fd);
846 test_reset_signaled(fd);
849 test_reset_multiple_signaled(fd);
852 test_reset_during_wait_for_submit(fd);
855 test_signal(fd);
884 test_multi_wait(fd, flags, err);
888 test_wait_snapshot(fd, 0);
891 test_wait_snapshot(fd, WAIT_ALL);
894 test_wait_snapshot(fd, WAIT_FOR_SUBMIT);
897 test_wait_snapshot(fd, WAIT_ALL | WAIT_FOR_SUBMIT);
900 test_wait_complex(fd, 0);
903 test_wait_complex(fd, WAIT_ALL);
906 test_wait_complex(fd, WAIT_FOR_SUBMIT);
909 test_wait_complex(fd, WAIT_ALL | WAIT_FOR_SUBMIT);
912 test_wait_interrupted(fd, 0);
915 test_wait_interrupted(fd, WAIT_ALL);