drm_atomic_h...or_flip_done(9)
π drm_atomic_h...or_flip_done(9) β bestie edition
okay so this is a page from the Kernel API Manual, and it's about drm_atomic_helper_wait_for_flip_done β yes the title up there is truncated with ... and no we did not do that, that's just how it's printed, iykyk π
β¨ NAME β¨
drm_atomic_helper_wait_for_flip_done β literally just wait for all page flips to be done. that's the whole vibe. it waits. for flips. until they're done. π
π¦ SYNOPSIS π¦
void drm_atomic_helper_wait_for_flip_done (struct drm_device *dev ,
struct drm_atomic_commit *state );
it returns void btw, so likeβ¦ it's not gonna hand you back a result. it just does the thing and dips. π
πΈ ARGUMENTS πΈ
devβ the DRM device. the main character, the hardware baddie in question π₯οΈstateβ the atomic state object that's being committed. this is the glow-up plan your driver is currently serving β¨
π DESCRIPTION π
okay so picture this: your atomic commit just happened, right? and now this helper is the one that's like "girl. hold on. let's wait for the page flips on all the affected crtcs before we go touching anything." and by "touching anything" we mean β before cleaning up old framebuffers using drm_atomic_helper_cleanup_planes. so like, it's the responsible friend who makes sure the leftovers are actually cool to toss π«Ά
compared to drm_atomic_helper_wait_for_vblanks, this one is the thorough icon π β it waits for the completion on all CRTCs, and it does that based on the assumption that cursors-only updates are signalling their completion immediately (or that they're using a different path entirely). not me explaining that like it's drama, but it kind of is π
β οΈ real talk though β this requires that drivers use the nonblocking commit tracking support, and that support has to be initialized using drm_atomic_helper_setup_commit. if you skipped that step, this is not gonna slay, it's gonna be a whole situation π don't say we didn't warn you.
π₯ SEE ALSO π₯
the whole friend group, all invited to the group chat, no one left out fr fr π:
- Kernel file
./drivers/gpu/drm/drm_atomic_helper.coverview(9) drm_atomic_helper_check_modeset(9)drm_atomic_helper_check_wb_connector_state(9)drm_atomic_helper_check_plane_state(9)drm_atomic_helper_check_crtc_primary_plane(9)drm_atomic_helper_check_planes(9)drm_atomic_helper_check(9)drm_atomic_helper_commit_encoder_bridge_disable(9)drm_atomic_helper_commit_crtc_disable(9)drm_atomic_helper_commit_encoder_bridge_post_disable(9)drm_atomic_helper_update_legacy_modeset_state(9)drm_atomic_helper_calc_timestamping_constants(9)drm_atomic_helper_commit_crtc_set_mode(9)drm_atomic_helper_commit_modeset_disables(9)drm_atomic_helper_commit_writebacks(9)drm_atomic_helper_commit_encoder_bridge_pre_enable(9)drm_atomic_helper_commit_crtc_enable(9)drm_atomic_helper_commit_encoder_bridge_enable(9)drm_atomic_helper_commit_modeset_enables(9)drm_atomic_helper_wait_for_fences(9)drm_atomic_helper_wait_for_vblanks(9)drm_atomic_helper_commit_tail(9)drm_atomic_helper_commit_tail_rpm(9)drm_atomic_helper_async_check(9)drm_atomic_helper_async_commit(9)drm_atomic_helper_commit(9)implementing nonblocking commit(9)drm_atomic_helper_setup_commit(9)drm_atomic_helper_wait_for_dependencies(9)drm_atomic_helper_fake_vblank(9)drm_atomic_helper_commit_hw_done(9)drm_atomic_helper_commit_cleanup_done(9)drm_atomic_helper_prepare_planes(9)drm_atomic_helper_unprepare_planes(9)drm_atomic_helper_commit_planes(9)drm_atomic_helper_commit_planes_on_crtc(9)drm_atomic_helper_disable_planes_on_crtc(9)drm_atomic_helper_cleanup_planes(9)drm_atomic_helper_swap_state(9)drm_atomic_helper_update_plane(9)drm_atomic_helper_disable_plane(9)drm_atomic_helper_set_config(9)drm_atomic_helper_disable_all(9)drm_atomic_helper_reset_crtc(9)drm_atomic_helper_shutdown(9)drm_atomic_helper_duplicate_state(9)drm_atomic_helper_suspend(9)drm_atomic_helper_commit_duplicated_state(9)drm_atomic_helper_resume(9)drm_atomic_helper_page_flip(9)drm_atomic_helper_page_flip_target(9)drm_atomic_helper_bridge_propagate_bus_fmt(9)drm_atomic_helper_bridge_get_hdmi_output_bus_fmts(9)
π a lil sign-off π
this page lives in ./drivers/gpu/drm, dated October 2026, and it's filed under the manual name Kernel API Manual β and the title at the very top, drm_atomic_h...or_flip_done(9), is just the truncation girlie doing her thing, she didn't choose that life π
go forth, wait for your flips, and remember: drm_atomic_helper_setup_commit first, vibes second. periodt. ππ§ββοΈ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms