Lines Matching refs:fence_state
1178 static int setup_out_fence(struct drm_out_fence_state *fence_state, in setup_out_fence() argument
1181 fence_state->fd = get_unused_fd_flags(O_CLOEXEC); in setup_out_fence()
1182 if (fence_state->fd < 0) in setup_out_fence()
1183 return fence_state->fd; in setup_out_fence()
1185 if (put_user(fence_state->fd, fence_state->out_fence_ptr)) in setup_out_fence()
1188 fence_state->sync_file = sync_file_create(fence); in setup_out_fence()
1189 if (!fence_state->sync_file) in setup_out_fence()
1199 struct drm_out_fence_state **fence_state, in prepare_signaling() argument
1245 f = krealloc(*fence_state, sizeof(**fence_state) * in prepare_signaling()
1253 *fence_state = f; in prepare_signaling()
1284 f = krealloc(*fence_state, sizeof(**fence_state) * in prepare_signaling()
1292 *fence_state = f; in prepare_signaling()
1322 struct drm_out_fence_state *fence_state, in complete_signaling() argument
1332 fd_install(fence_state[i].fd, in complete_signaling()
1333 fence_state[i].sync_file->file); in complete_signaling()
1335 kfree(fence_state); in complete_signaling()
1352 if (!fence_state) in complete_signaling()
1356 if (fence_state[i].sync_file) in complete_signaling()
1357 fput(fence_state[i].sync_file->file); in complete_signaling()
1358 if (fence_state[i].fd >= 0) in complete_signaling()
1359 put_unused_fd(fence_state[i].fd); in complete_signaling()
1362 if (fence_state[i].out_fence_ptr && in complete_signaling()
1363 put_user(-1, fence_state[i].out_fence_ptr)) in complete_signaling()
1367 kfree(fence_state); in complete_signaling()
1393 struct drm_out_fence_state *fence_state; in drm_mode_atomic_ioctl() local
1451 fence_state = NULL; in drm_mode_atomic_ioctl()
1527 ret = prepare_signaling(dev, state, arg, file_priv, &fence_state, in drm_mode_atomic_ioctl()
1544 complete_signaling(dev, state, fence_state, num_fences, !ret); in drm_mode_atomic_ioctl()