Lines Matching refs:commit
1684 else if (funcs->commit) in drm_atomic_helper_commit_crtc_enable()
1685 funcs->commit(crtc); in drm_atomic_helper_commit_crtc_enable()
1735 else if (funcs->commit) in drm_atomic_helper_commit_encoder_bridge_enable()
1736 funcs->commit(encoder); in drm_atomic_helper_commit_encoder_bridge_enable()
1951 struct drm_crtc_commit *commit = state->crtcs[i].commit; in drm_atomic_helper_wait_for_flip_done() local
1956 if (!crtc || !commit) in drm_atomic_helper_wait_for_flip_done()
1959 ret = wait_for_completion_timeout(&commit->flip_done, 10 * HZ); in drm_atomic_helper_wait_for_flip_done()
2162 if (old_plane_state->commit && in drm_atomic_helper_async_check()
2163 !try_wait_for_completion(&old_plane_state->commit->hw_done)) { in drm_atomic_helper_async_check()
2377 struct drm_crtc_commit *commit, *stall_commit = NULL; in stall_checks() local
2384 list_for_each_entry(commit, &crtc->commit_list, commit_entry) { in stall_checks()
2386 completed = try_wait_for_completion(&commit->flip_done); in stall_checks()
2400 stall_commit = drm_crtc_commit_get(commit); in stall_checks()
2427 struct drm_crtc_commit *commit = container_of(completion, in release_crtc_commit() local
2428 typeof(*commit), in release_crtc_commit()
2431 drm_crtc_commit_put(commit); in release_crtc_commit()
2434 static void init_commit(struct drm_crtc_commit *commit, struct drm_crtc *crtc) in init_commit() argument
2436 init_completion(&commit->flip_done); in init_commit()
2437 init_completion(&commit->hw_done); in init_commit()
2438 init_completion(&commit->cleanup_done); in init_commit()
2439 INIT_LIST_HEAD(&commit->commit_entry); in init_commit()
2440 kref_init(&commit->ref); in init_commit()
2441 commit->crtc = crtc; in init_commit()
2452 return new_crtc_state->commit; in crtc_or_fake_commit()
2520 struct drm_crtc_commit *commit; in drm_atomic_helper_setup_commit() local
2527 commit = kzalloc_obj(*commit); in drm_atomic_helper_setup_commit()
2528 if (!commit) in drm_atomic_helper_setup_commit()
2531 init_commit(commit, crtc); in drm_atomic_helper_setup_commit()
2533 new_crtc_state->commit = commit; in drm_atomic_helper_setup_commit()
2545 complete_all(&commit->flip_done); in drm_atomic_helper_setup_commit()
2551 complete_all(&commit->flip_done); in drm_atomic_helper_setup_commit()
2556 commit->event = kzalloc_obj(*commit->event); in drm_atomic_helper_setup_commit()
2557 if (!commit->event) in drm_atomic_helper_setup_commit()
2560 new_crtc_state->event = commit->event; in drm_atomic_helper_setup_commit()
2563 new_crtc_state->event->base.completion = &commit->flip_done; in drm_atomic_helper_setup_commit()
2565 drm_crtc_commit_get(commit); in drm_atomic_helper_setup_commit()
2567 commit->abort_completion = true; in drm_atomic_helper_setup_commit()
2569 state->crtcs[i].commit = commit; in drm_atomic_helper_setup_commit()
2570 drm_crtc_commit_get(commit); in drm_atomic_helper_setup_commit()
2578 if (nonblock && old_conn_state->commit && in drm_atomic_helper_setup_commit()
2579 !try_wait_for_completion(&old_conn_state->commit->flip_done)) { in drm_atomic_helper_setup_commit()
2588 commit = crtc_or_fake_commit(state, new_conn_state->crtc ?: old_conn_state->crtc); in drm_atomic_helper_setup_commit()
2589 if (!commit) in drm_atomic_helper_setup_commit()
2592 new_conn_state->commit = drm_crtc_commit_get(commit); in drm_atomic_helper_setup_commit()
2600 if (nonblock && old_plane_state->commit && in drm_atomic_helper_setup_commit()
2601 !try_wait_for_completion(&old_plane_state->commit->flip_done)) { in drm_atomic_helper_setup_commit()
2610 commit = crtc_or_fake_commit(state, new_plane_state->crtc ?: old_plane_state->crtc); in drm_atomic_helper_setup_commit()
2611 if (!commit) in drm_atomic_helper_setup_commit()
2614 new_plane_state->commit = drm_crtc_commit_get(commit); in drm_atomic_helper_setup_commit()
2648 ret = drm_crtc_commit_wait(old_crtc_state->commit); in drm_atomic_helper_wait_for_dependencies()
2656 ret = drm_crtc_commit_wait(old_conn_state->commit); in drm_atomic_helper_wait_for_dependencies()
2664 ret = drm_crtc_commit_wait(old_plane_state->commit); in drm_atomic_helper_wait_for_dependencies()
2733 struct drm_crtc_commit *commit; in drm_atomic_helper_commit_hw_done() local
2737 commit = new_crtc_state->commit; in drm_atomic_helper_commit_hw_done()
2738 if (!commit) in drm_atomic_helper_commit_hw_done()
2746 if (old_crtc_state->commit) in drm_atomic_helper_commit_hw_done()
2747 drm_crtc_commit_put(old_crtc_state->commit); in drm_atomic_helper_commit_hw_done()
2749 old_crtc_state->commit = drm_crtc_commit_get(commit); in drm_atomic_helper_commit_hw_done()
2753 complete_all(&commit->hw_done); in drm_atomic_helper_commit_hw_done()
2778 struct drm_crtc_commit *commit; in drm_atomic_helper_commit_cleanup_done() local
2782 commit = old_crtc_state->commit; in drm_atomic_helper_commit_cleanup_done()
2783 if (WARN_ON(!commit)) in drm_atomic_helper_commit_cleanup_done()
2786 complete_all(&commit->cleanup_done); in drm_atomic_helper_commit_cleanup_done()
2787 WARN_ON(!try_wait_for_completion(&commit->hw_done)); in drm_atomic_helper_commit_cleanup_done()
2790 list_del(&commit->commit_entry); in drm_atomic_helper_commit_cleanup_done()
3265 struct drm_crtc_commit *commit; in drm_atomic_helper_swap_state() local
3280 commit = old_crtc_state->commit; in drm_atomic_helper_swap_state()
3282 if (!commit) in drm_atomic_helper_swap_state()
3285 ret = wait_for_completion_interruptible(&commit->hw_done); in drm_atomic_helper_swap_state()
3291 commit = old_conn_state->commit; in drm_atomic_helper_swap_state()
3293 if (!commit) in drm_atomic_helper_swap_state()
3296 ret = wait_for_completion_interruptible(&commit->hw_done); in drm_atomic_helper_swap_state()
3302 commit = old_plane_state->commit; in drm_atomic_helper_swap_state()
3304 if (!commit) in drm_atomic_helper_swap_state()
3307 ret = wait_for_completion_interruptible(&commit->hw_done); in drm_atomic_helper_swap_state()
3332 if (new_crtc_state->commit) { in drm_atomic_helper_swap_state()
3334 list_add(&new_crtc_state->commit->commit_entry, in drm_atomic_helper_swap_state()
3338 new_crtc_state->commit->event = NULL; in drm_atomic_helper_swap_state()