Lines Matching refs:args

760 	struct drm_syncobj_create *args = data;
766 if (args->flags & ~DRM_SYNCOBJ_CREATE_SIGNALED)
770 &args->handle, args->flags);
777 struct drm_syncobj_destroy *args = data;
783 if (args->pad)
785 return drm_syncobj_destroy(file_private, args->handle);
792 struct drm_syncobj_handle *args = data;
797 if (args->pad)
800 if (args->flags != 0 &&
801 args->flags != DRM_SYNCOBJ_HANDLE_TO_FD_FLAGS_EXPORT_SYNC_FILE)
804 if (args->flags & DRM_SYNCOBJ_HANDLE_TO_FD_FLAGS_EXPORT_SYNC_FILE)
805 return drm_syncobj_export_sync_file(file_private, args->handle,
806 &args->fd);
808 return drm_syncobj_handle_to_fd(file_private, args->handle,
809 &args->fd);
816 struct drm_syncobj_handle *args = data;
821 if (args->pad)
824 if (args->flags != 0 &&
825 args->flags != DRM_SYNCOBJ_FD_TO_HANDLE_FLAGS_IMPORT_SYNC_FILE)
828 if (args->flags & DRM_SYNCOBJ_FD_TO_HANDLE_FLAGS_IMPORT_SYNC_FILE)
830 args->fd,
831 args->handle);
833 return drm_syncobj_fd_to_handle(file_private, args->fd,
834 &args->handle);
838 struct drm_syncobj_transfer *args)
845 timeline_syncobj = drm_syncobj_find(file_private, args->dst_handle);
849 ret = drm_syncobj_find_fence(file_private, args->src_handle,
850 args->src_point, args->flags,
859 drm_syncobj_add_point(timeline_syncobj, chain, fence, args->dst_point);
870 struct drm_syncobj_transfer *args)
876 binary_syncobj = drm_syncobj_find(file_private, args->dst_handle);
879 ret = drm_syncobj_find_fence(file_private, args->src_handle,
880 args->src_point, args->flags, &fence);
894 struct drm_syncobj_transfer *args = data;
900 if (args->pad)
903 if (args->dst_point)
904 ret = drm_syncobj_transfer_to_timeline(file_private, args);
906 ret = drm_syncobj_transfer_to_binary(file_private, args);
1213 struct drm_syncobj_wait *args = data;
1220 if (args->flags & ~(DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL |
1224 if (args->count_handles == 0)
1228 u64_to_user_ptr(args->handles),
1229 args->count_handles,
1235 args, NULL, syncobjs, false);
1237 drm_syncobj_array_free(syncobjs, args->count_handles);
1246 struct drm_syncobj_timeline_wait *args = data;
1253 if (args->flags & ~(DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL |
1258 if (args->count_handles == 0)
1262 u64_to_user_ptr(args->handles),
1263 args->count_handles,
1269 NULL, args, syncobjs, true);
1271 drm_syncobj_array_free(syncobjs, args->count_handles);
1281 struct drm_syncobj_array *args = data;
1289 if (args->pad != 0)
1292 if (args->count_handles == 0)
1296 u64_to_user_ptr(args->handles),
1297 args->count_handles,
1302 for (i = 0; i < args->count_handles; i++)
1305 drm_syncobj_array_free(syncobjs, args->count_handles);
1314 struct drm_syncobj_array *args = data;
1322 if (args->pad != 0)
1325 if (args->count_handles == 0)
1329 u64_to_user_ptr(args->handles),
1330 args->count_handles,
1335 for (i = 0; i < args->count_handles; i++)
1338 drm_syncobj_array_free(syncobjs, args->count_handles);
1347 struct drm_syncobj_timeline_array *args = data;
1357 if (args->flags != 0)
1360 if (args->count_handles == 0)
1364 u64_to_user_ptr(args->handles),
1365 args->count_handles,
1370 points = kmalloc_array(args->count_handles, sizeof(*points),
1376 if (!u64_to_user_ptr(args->points)) {
1377 memset(points, 0, args->count_handles * sizeof(uint64_t));
1378 } else if (copy_from_user(points, u64_to_user_ptr(args->points),
1379 sizeof(uint64_t) * args->count_handles)) {
1384 chains = kmalloc_array(args->count_handles, sizeof(void *), GFP_KERNEL);
1389 for (i = 0; i < args->count_handles; i++) {
1399 for (i = 0; i < args->count_handles; i++) {
1411 drm_syncobj_array_free(syncobjs, args->count_handles);
1419 struct drm_syncobj_timeline_array *args = data;
1421 uint64_t __user *points = u64_to_user_ptr(args->points);
1428 if (args->flags & ~DRM_SYNCOBJ_QUERY_FLAGS_LAST_SUBMITTED)
1431 if (args->count_handles == 0)
1435 u64_to_user_ptr(args->handles),
1436 args->count_handles,
1441 for (i = 0; i < args->count_handles; i++) {
1452 if (args->flags &
1480 drm_syncobj_array_free(syncobjs, args->count_handles);