drm_atomic_h...eset_enables(9)
π drm_atomic_helper_commit_modeset_enables(9) π
okay so bestie, welcome to the Kernel API Manual page for drm_atomic_helper_commit_modeset_enables β yes that's a whole mouthful, iykyk π this is a section 9 (kernel API) page, and honestly it's kind of a baddie once you get to know her.
β¨ NAME β¨
drm_atomic_helper_commit_modeset_enables β the modeset commit that turns your outputs on π₯ literally the "lights on" moment of the whole atomic commit saga.
πΈ SYNOPSIS πΈ
void drm_atomic_helper_commit_modeset_enables (struct drm_device *dev ,
struct drm_atomic_commit *state );
like, that's the whole signature. two args. no return. she just does it. periodt π«Ά
π¦ ARGUMENTS π¦
devβ your DRM device π» the main character, the one everything hangs off of.stateβ the atomic state object that's actively being committed β¨ this is the vibe check of what the new config should look like.
π DESCRIPTION π
okay so what does she actually do? bestie. she enables all the outputs with the new configuration β specifically the ones that had to be turned off for the update to happen π like yes, we had to kill the lights to rewire the room, and now she's the one flipping the switch back on, but with the new layout. iconic.
for compatibility with legacy CRTC helpers, this should be called after drm_atomic_helper_commit_planes β which is exactly what the default commit function does, ngl that's just the standard route π£οΈ
but!! and this is the fun part π drivers with different needs can group the modeset commits together and do the plane commits at the end instead. this is genuinely useful for drivers doing runtime PM, because plane updates then only happen when the CRTC is actually enabled π like, why do work for a screen that isn't even on yet? exactly. efficiency queen π
ngl this is one of those "call order matters, bestie" situations. the default order is commit_planes β this. don't come for me if you reorder it and things get weird π
π§ SEE ALSO π§
the whole friend group π«Ά literally her entire social circle, go say hi:
./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_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_page_flip_target(9)drm_atomic_helper_bridge_propagate_bus_fmt(9)drm_atomic_helper_bridge_get_hdmi_output_bus_fmts(9)
okay that's the whole page bestie, you ate that π this one lives under ./drivers/gpu/drm and the version stamp says October 2026 β so mark your calendar, she's got a date π« mwah, bye! πβ¨π
π¦ 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