Lines Matching refs:fence_state

1093 static int setup_out_fence(struct drm_out_fence_state *fence_state,  in setup_out_fence()  argument
1096 fence_state->fd = get_unused_fd_flags(O_CLOEXEC); in setup_out_fence()
1097 if (fence_state->fd < 0) in setup_out_fence()
1098 return fence_state->fd; in setup_out_fence()
1100 if (put_user(fence_state->fd, fence_state->out_fence_ptr)) in setup_out_fence()
1103 fence_state->sync_file = sync_file_create(fence); in setup_out_fence()
1104 if (!fence_state->sync_file) in setup_out_fence()
1114 struct drm_out_fence_state **fence_state, in prepare_signaling() argument
1160 f = krealloc(*fence_state, sizeof(**fence_state) * in prepare_signaling()
1168 *fence_state = f; in prepare_signaling()
1199 f = krealloc(*fence_state, sizeof(**fence_state) * in prepare_signaling()
1207 *fence_state = f; in prepare_signaling()
1235 struct drm_out_fence_state *fence_state, in complete_signaling() argument
1245 fd_install(fence_state[i].fd, in complete_signaling()
1246 fence_state[i].sync_file->file); in complete_signaling()
1248 kfree(fence_state); in complete_signaling()
1265 if (!fence_state) in complete_signaling()
1269 if (fence_state[i].sync_file) in complete_signaling()
1270 fput(fence_state[i].sync_file->file); in complete_signaling()
1271 if (fence_state[i].fd >= 0) in complete_signaling()
1272 put_unused_fd(fence_state[i].fd); in complete_signaling()
1275 if (fence_state[i].out_fence_ptr && in complete_signaling()
1276 put_user(-1, fence_state[i].out_fence_ptr)) in complete_signaling()
1280 kfree(fence_state); in complete_signaling()
1294 struct drm_out_fence_state *fence_state; in drm_mode_atomic_ioctl() local
1334 fence_state = NULL; in drm_mode_atomic_ioctl()
1405 ret = prepare_signaling(dev, state, arg, file_priv, &fence_state, in drm_mode_atomic_ioctl()
1422 complete_signaling(dev, state, fence_state, num_fences, !ret); in drm_mode_atomic_ioctl()