Lines Matching refs:commit
1492 else if (funcs->commit) in drm_atomic_helper_commit_modeset_enables()
1493 funcs->commit(crtc); in drm_atomic_helper_commit_modeset_enables()
1527 else if (funcs->commit) in drm_atomic_helper_commit_modeset_enables()
1528 funcs->commit(encoder); in drm_atomic_helper_commit_modeset_enables()
1715 struct drm_crtc_commit *commit = old_state->crtcs[i].commit; in drm_atomic_helper_wait_for_flip_done() local
1720 if (!crtc || !commit) in drm_atomic_helper_wait_for_flip_done()
1723 ret = wait_for_completion_timeout(&commit->flip_done, 10 * HZ); in drm_atomic_helper_wait_for_flip_done()
1926 if (old_plane_state->commit && in drm_atomic_helper_async_check()
1927 !try_wait_for_completion(&old_plane_state->commit->hw_done)) { in drm_atomic_helper_async_check()
2141 struct drm_crtc_commit *commit, *stall_commit = NULL; in stall_checks() local
2148 list_for_each_entry(commit, &crtc->commit_list, commit_entry) { in stall_checks()
2150 completed = try_wait_for_completion(&commit->flip_done); in stall_checks()
2164 stall_commit = drm_crtc_commit_get(commit); in stall_checks()
2191 struct drm_crtc_commit *commit = container_of(completion, in release_crtc_commit() local
2192 typeof(*commit), in release_crtc_commit()
2195 drm_crtc_commit_put(commit); in release_crtc_commit()
2198 static void init_commit(struct drm_crtc_commit *commit, struct drm_crtc *crtc) in init_commit() argument
2200 init_completion(&commit->flip_done); in init_commit()
2201 init_completion(&commit->hw_done); in init_commit()
2202 init_completion(&commit->cleanup_done); in init_commit()
2203 INIT_LIST_HEAD(&commit->commit_entry); in init_commit()
2204 kref_init(&commit->ref); in init_commit()
2205 commit->crtc = crtc; in init_commit()
2216 return new_crtc_state->commit; in crtc_or_fake_commit()
2285 struct drm_crtc_commit *commit; in drm_atomic_helper_setup_commit() local
2292 commit = kzalloc(sizeof(*commit), GFP_KERNEL); in drm_atomic_helper_setup_commit()
2293 if (!commit) in drm_atomic_helper_setup_commit()
2296 init_commit(commit, crtc); in drm_atomic_helper_setup_commit()
2298 new_crtc_state->commit = commit; in drm_atomic_helper_setup_commit()
2310 complete_all(&commit->flip_done); in drm_atomic_helper_setup_commit()
2316 complete_all(&commit->flip_done); in drm_atomic_helper_setup_commit()
2321 commit->event = kzalloc(sizeof(*commit->event), in drm_atomic_helper_setup_commit()
2323 if (!commit->event) in drm_atomic_helper_setup_commit()
2326 new_crtc_state->event = commit->event; in drm_atomic_helper_setup_commit()
2329 new_crtc_state->event->base.completion = &commit->flip_done; in drm_atomic_helper_setup_commit()
2331 drm_crtc_commit_get(commit); in drm_atomic_helper_setup_commit()
2333 commit->abort_completion = true; in drm_atomic_helper_setup_commit()
2335 state->crtcs[i].commit = commit; in drm_atomic_helper_setup_commit()
2336 drm_crtc_commit_get(commit); in drm_atomic_helper_setup_commit()
2344 if (nonblock && old_conn_state->commit && in drm_atomic_helper_setup_commit()
2345 !try_wait_for_completion(&old_conn_state->commit->flip_done)) { in drm_atomic_helper_setup_commit()
2354 commit = crtc_or_fake_commit(state, new_conn_state->crtc ?: old_conn_state->crtc); in drm_atomic_helper_setup_commit()
2355 if (!commit) in drm_atomic_helper_setup_commit()
2358 new_conn_state->commit = drm_crtc_commit_get(commit); in drm_atomic_helper_setup_commit()
2366 if (nonblock && old_plane_state->commit && in drm_atomic_helper_setup_commit()
2367 !try_wait_for_completion(&old_plane_state->commit->flip_done)) { in drm_atomic_helper_setup_commit()
2376 commit = crtc_or_fake_commit(state, new_plane_state->crtc ?: old_plane_state->crtc); in drm_atomic_helper_setup_commit()
2377 if (!commit) in drm_atomic_helper_setup_commit()
2380 new_plane_state->commit = drm_crtc_commit_get(commit); in drm_atomic_helper_setup_commit()
2414 ret = drm_crtc_commit_wait(old_crtc_state->commit); in drm_atomic_helper_wait_for_dependencies()
2422 ret = drm_crtc_commit_wait(old_conn_state->commit); in drm_atomic_helper_wait_for_dependencies()
2430 ret = drm_crtc_commit_wait(old_plane_state->commit); in drm_atomic_helper_wait_for_dependencies()
2499 struct drm_crtc_commit *commit; in drm_atomic_helper_commit_hw_done() local
2503 commit = new_crtc_state->commit; in drm_atomic_helper_commit_hw_done()
2504 if (!commit) in drm_atomic_helper_commit_hw_done()
2512 if (old_crtc_state->commit) in drm_atomic_helper_commit_hw_done()
2513 drm_crtc_commit_put(old_crtc_state->commit); in drm_atomic_helper_commit_hw_done()
2515 old_crtc_state->commit = drm_crtc_commit_get(commit); in drm_atomic_helper_commit_hw_done()
2519 complete_all(&commit->hw_done); in drm_atomic_helper_commit_hw_done()
2544 struct drm_crtc_commit *commit; in drm_atomic_helper_commit_cleanup_done() local
2548 commit = old_crtc_state->commit; in drm_atomic_helper_commit_cleanup_done()
2549 if (WARN_ON(!commit)) in drm_atomic_helper_commit_cleanup_done()
2552 complete_all(&commit->cleanup_done); in drm_atomic_helper_commit_cleanup_done()
2553 WARN_ON(!try_wait_for_completion(&commit->hw_done)); in drm_atomic_helper_commit_cleanup_done()
2556 list_del(&commit->commit_entry); in drm_atomic_helper_commit_cleanup_done()
3029 struct drm_crtc_commit *commit; in drm_atomic_helper_swap_state() local
3044 commit = old_crtc_state->commit; in drm_atomic_helper_swap_state()
3046 if (!commit) in drm_atomic_helper_swap_state()
3049 ret = wait_for_completion_interruptible(&commit->hw_done); in drm_atomic_helper_swap_state()
3055 commit = old_conn_state->commit; in drm_atomic_helper_swap_state()
3057 if (!commit) in drm_atomic_helper_swap_state()
3060 ret = wait_for_completion_interruptible(&commit->hw_done); in drm_atomic_helper_swap_state()
3066 commit = old_plane_state->commit; in drm_atomic_helper_swap_state()
3068 if (!commit) in drm_atomic_helper_swap_state()
3071 ret = wait_for_completion_interruptible(&commit->hw_done); in drm_atomic_helper_swap_state()
3096 if (new_crtc_state->commit) { in drm_atomic_helper_swap_state()
3098 list_add(&new_crtc_state->commit->commit_entry, in drm_atomic_helper_swap_state()
3102 new_crtc_state->commit->event = NULL; in drm_atomic_helper_swap_state()