drm_atomic_h..._flip_target(9)
β¨ drm_atomic_h..._flip_target(9) β¨
okay bestie so this is a page from the Kernel API Manual, section 9 β yes, the real-deal kernel one. buckle up, it's a short one but it's important π
πΈ NAME πΈ
drm_atomic_helper_page_flip_target β literally does a page flip on a target vblank period. that's it, that's the whole thing. it's giving "small function, big job" energy π
β¨ SYNOPSIS β¨
int drm_atomic_helper_page_flip_target (struct drm_crtc *crtc , struct
drm_framebuffer *fb , struct drm_pending_vblank_event *event , uint32_t
flags , uint32_t target , struct drm_modeset_acquire_ctx *ctx );
six params, returns an int, no cap. let's go through them one by one π«Ά
π ARGUMENTS π
crtcβ the DRM CRTC. the main character of this whole operation, honestly πfbβ the DRM framebuffer. this is the actual pixels that are gonna show up on screen πΌοΈeventβ an optional DRM event to signal when the flip is done. optional! so you can pass nothing and nobody's mad at you πflagsβ flip flags for non-vblank sync'ed updates π₯targetβ tells the function which target vblank period the flip should take effect on. very "be there at exactly this time" of it β°ctxβ the lock acquisition context π
π¦ DESCRIPTION π¦
so what does this actually do? it provides a default drm_crtc_funcs.page_flip_target implementation. like, the out-of-the-box one. no cap π¦
it's similar to drm_atomic_helper_page_flip, except it has that extra target parameter so you can specify the target vblank period you want the flip to land on. so it's the same vibe, just with β¨ precision β¨
β RETURN β
returns 0 on success, and negative errno numbers on failure. so if you get a negative number back, that's your sign something went sideways π
π SEE ALSO π
bestie. this list is long and i'm not skipping a single one, because every single one of these is a real reference and we don't gatekeep here π
- Kernel file
./drivers/gpu/drm/drm_atomic_helper.c - overview(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_wait_for_flip_done(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_bridge_propagate_bus_fmt(9)drm_atomic_helper_bridge_get_hdmi_output_bus_fmts(9)
like i said. the whole friend group π«Ά
okay that's the page!! this one came from ./drivers/gpu/drm, dated October 2026, and it lives in the Kernel API Manual β go forth and flip those targets bestie, you're so valid for reading the docs ππβ¨
π¦ 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