Lines Matching refs:args
834 struct drm_syncobj_create *args = data;
840 if (args->flags & ~DRM_SYNCOBJ_CREATE_SIGNALED)
844 &args->handle, args->flags);
851 struct drm_syncobj_destroy *args = data;
857 if (args->pad)
859 return drm_syncobj_destroy(file_private, args->handle);
866 struct drm_syncobj_handle *args = data;
871 if (args->pad)
874 if (args->flags != 0 &&
875 args->flags != DRM_SYNCOBJ_HANDLE_TO_FD_FLAGS_EXPORT_SYNC_FILE)
878 if (args->flags & DRM_SYNCOBJ_HANDLE_TO_FD_FLAGS_EXPORT_SYNC_FILE)
879 return drm_syncobj_export_sync_file(file_private, args->handle,
880 &args->fd);
882 return drm_syncobj_handle_to_fd(file_private, args->handle,
883 &args->fd);
890 struct drm_syncobj_handle *args = data;
895 if (args->pad)
898 if (args->flags != 0 &&
899 args->flags != DRM_SYNCOBJ_FD_TO_HANDLE_FLAGS_IMPORT_SYNC_FILE)
902 if (args->flags & DRM_SYNCOBJ_FD_TO_HANDLE_FLAGS_IMPORT_SYNC_FILE)
904 args->fd,
905 args->handle);
907 return drm_syncobj_fd_to_handle(file_private, args->fd,
908 &args->handle);
912 struct drm_syncobj_transfer *args)
919 timeline_syncobj = drm_syncobj_find(file_private, args->dst_handle);
923 ret = drm_syncobj_find_fence(file_private, args->src_handle,
924 args->src_point, args->flags,
942 drm_syncobj_add_point(timeline_syncobj, chain, fence, args->dst_point);
953 struct drm_syncobj_transfer *args)
959 binary_syncobj = drm_syncobj_find(file_private, args->dst_handle);
962 ret = drm_syncobj_find_fence(file_private, args->src_handle,
963 args->src_point, args->flags, &fence);
977 struct drm_syncobj_transfer *args = data;
983 if (args->pad)
986 if (args->dst_point)
987 ret = drm_syncobj_transfer_to_timeline(file_private, args);
989 ret = drm_syncobj_transfer_to_binary(file_private, args);
1301 struct drm_syncobj_wait *args = data;
1308 if (args->flags & ~(DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL |
1312 if (args->count_handles == 0)
1316 u64_to_user_ptr(args->handles),
1317 args->count_handles,
1323 args, NULL, syncobjs, false);
1325 drm_syncobj_array_free(syncobjs, args->count_handles);
1334 struct drm_syncobj_timeline_wait *args = data;
1341 if (args->flags & ~(DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL |
1346 if (args->count_handles == 0)
1350 u64_to_user_ptr(args->handles),
1351 args->count_handles,
1357 NULL, args, syncobjs, true);
1359 drm_syncobj_array_free(syncobjs, args->count_handles);
1420 struct drm_syncobj_eventfd *args = data;
1428 if (args->flags & ~DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE)
1431 if (args->pad)
1434 syncobj = drm_syncobj_find(file_private, args->handle);
1438 ev_fd_ctx = eventfd_ctx_fdget(args->fd);
1449 entry->point = args->point;
1450 entry->flags = args->flags;
1462 struct drm_syncobj_array *args = data;
1470 if (args->pad != 0)
1473 if (args->count_handles == 0)
1477 u64_to_user_ptr(args->handles),
1478 args->count_handles,
1483 for (i = 0; i < args->count_handles; i++)
1486 drm_syncobj_array_free(syncobjs, args->count_handles);
1495 struct drm_syncobj_array *args = data;
1503 if (args->pad != 0)
1506 if (args->count_handles == 0)
1510 u64_to_user_ptr(args->handles),
1511 args->count_handles,
1516 for (i = 0; i < args->count_handles; i++) {
1522 drm_syncobj_array_free(syncobjs, args->count_handles);
1531 struct drm_syncobj_timeline_array *args = data;
1541 if (args->flags != 0)
1544 if (args->count_handles == 0)
1548 u64_to_user_ptr(args->handles),
1549 args->count_handles,
1554 points = kmalloc_array(args->count_handles, sizeof(*points),
1560 if (!u64_to_user_ptr(args->points)) {
1561 memset(points, 0, args->count_handles * sizeof(uint64_t));
1562 } else if (copy_from_user(points, u64_to_user_ptr(args->points),
1563 sizeof(uint64_t) * args->count_handles)) {
1568 chains = kmalloc_array(args->count_handles, sizeof(void *), GFP_KERNEL);
1573 for (i = 0; i < args->count_handles; i++) {
1583 for (i = 0; i < args->count_handles; i++) {
1595 drm_syncobj_array_free(syncobjs, args->count_handles);
1603 struct drm_syncobj_timeline_array *args = data;
1605 uint64_t __user *points = u64_to_user_ptr(args->points);
1612 if (args->flags & ~DRM_SYNCOBJ_QUERY_FLAGS_LAST_SUBMITTED)
1615 if (args->count_handles == 0)
1619 u64_to_user_ptr(args->handles),
1620 args->count_handles,
1625 for (i = 0; i < args->count_handles; i++) {
1636 if (args->flags &
1664 drm_syncobj_array_free(syncobjs, args->count_handles);