Lines Matching refs:fence_state
1121 static int setup_out_fence(struct drm_out_fence_state *fence_state, in setup_out_fence() argument
1124 fence_state->fd = get_unused_fd_flags(O_CLOEXEC); in setup_out_fence()
1125 if (fence_state->fd < 0) in setup_out_fence()
1126 return fence_state->fd; in setup_out_fence()
1128 if (put_user(fence_state->fd, fence_state->out_fence_ptr)) in setup_out_fence()
1131 fence_state->sync_file = sync_file_create(fence); in setup_out_fence()
1132 if (!fence_state->sync_file) in setup_out_fence()
1142 struct drm_out_fence_state **fence_state, in prepare_signaling() argument
1188 f = krealloc(*fence_state, sizeof(**fence_state) * in prepare_signaling()
1196 *fence_state = f; in prepare_signaling()
1227 f = krealloc(*fence_state, sizeof(**fence_state) * in prepare_signaling()
1235 *fence_state = f; in prepare_signaling()
1263 struct drm_out_fence_state *fence_state, in complete_signaling() argument
1273 fd_install(fence_state[i].fd, in complete_signaling()
1274 fence_state[i].sync_file->file); in complete_signaling()
1276 kfree(fence_state); in complete_signaling()
1293 if (!fence_state) in complete_signaling()
1297 if (fence_state[i].sync_file) in complete_signaling()
1298 fput(fence_state[i].sync_file->file); in complete_signaling()
1299 if (fence_state[i].fd >= 0) in complete_signaling()
1300 put_unused_fd(fence_state[i].fd); in complete_signaling()
1303 if (fence_state[i].out_fence_ptr && in complete_signaling()
1304 put_user(-1, fence_state[i].out_fence_ptr)) in complete_signaling()
1308 kfree(fence_state); in complete_signaling()
1322 struct drm_out_fence_state *fence_state; in drm_mode_atomic_ioctl() local
1376 fence_state = NULL; in drm_mode_atomic_ioctl()
1447 ret = prepare_signaling(dev, state, arg, file_priv, &fence_state, in drm_mode_atomic_ioctl()
1464 complete_signaling(dev, state, fence_state, num_fences, !ret); in drm_mode_atomic_ioctl()