Lines Matching refs:fence_state
1086 static int setup_out_fence(struct drm_out_fence_state *fence_state, in setup_out_fence() argument
1089 fence_state->fd = get_unused_fd_flags(O_CLOEXEC); in setup_out_fence()
1090 if (fence_state->fd < 0) in setup_out_fence()
1091 return fence_state->fd; in setup_out_fence()
1093 if (put_user(fence_state->fd, fence_state->out_fence_ptr)) in setup_out_fence()
1096 fence_state->sync_file = sync_file_create(fence); in setup_out_fence()
1097 if (!fence_state->sync_file) in setup_out_fence()
1107 struct drm_out_fence_state **fence_state, in prepare_signaling() argument
1153 f = krealloc(*fence_state, sizeof(**fence_state) * in prepare_signaling()
1161 *fence_state = f; in prepare_signaling()
1192 f = krealloc(*fence_state, sizeof(**fence_state) * in prepare_signaling()
1200 *fence_state = f; in prepare_signaling()
1228 struct drm_out_fence_state *fence_state, in complete_signaling() argument
1238 fd_install(fence_state[i].fd, in complete_signaling()
1239 fence_state[i].sync_file->file); in complete_signaling()
1241 kfree(fence_state); in complete_signaling()
1258 if (!fence_state) in complete_signaling()
1262 if (fence_state[i].sync_file) in complete_signaling()
1263 fput(fence_state[i].sync_file->file); in complete_signaling()
1264 if (fence_state[i].fd >= 0) in complete_signaling()
1265 put_unused_fd(fence_state[i].fd); in complete_signaling()
1268 if (fence_state[i].out_fence_ptr && in complete_signaling()
1269 put_user(-1, fence_state[i].out_fence_ptr)) in complete_signaling()
1273 kfree(fence_state); in complete_signaling()
1287 struct drm_out_fence_state *fence_state; in drm_mode_atomic_ioctl() local
1327 fence_state = NULL; in drm_mode_atomic_ioctl()
1398 ret = prepare_signaling(dev, state, arg, file_priv, &fence_state, in drm_mode_atomic_ioctl()
1415 complete_signaling(dev, state, fence_state, num_fences, !ret); in drm_mode_atomic_ioctl()