drm_atomic_...set_disables(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… drm_atomic_helper_commit_modeset_disables πŸ’…

okay so we're in the Kernel API Manual bestie, and this page is all about drm_atomic_helper_commit_modeset_disables β€” the function that's literally the "say bye to the screens" era of a modeset commit. no cap, it's a whole vibe. πŸŽ€


✨ NAME ✨

drm_atomic_helper_commit_modeset_disables β€” modeset commit to disable outputs πŸ¦‹

like, the actual commit step where outputs get shut down. that's the whole thing.


✨ SYNOPSIS ✨

void drm_atomic_helper_commit_modeset_disables (struct drm_device *dev ,
       struct drm_atomic_commit *state );

two args, void return, she is not giving you a status code because she doesn't have one. periodt. πŸ’…


✨ ARGUMENTS ✨

  • dev β€” the DRM device πŸ’– like, the actual graphics device we're doing all this to.
  • state β€” the atomic state object being committed ✨ this is the snapshot of everything that's about to happen.

✨ DESCRIPTION ✨

so what does she do? bestie. she shuts down all the outputs that need to be shut down, and she prepares them (if required) with the new mode. πŸ”₯ that's it, that's the function. iconic behavior honestly.

here's the part where you need to pay attention though πŸ‘€ β€” for compatibility with legacy CRTC helpers, this should be called before drm_atomic_helper_commit_planes, which is literally what the default commit function does. so if you're just doing the normal thing, it's already handled, you're fine, go touch grass 🌸.

but! drivers with different needs can group the modeset commits together and do the plane commits at the end. and that's actually useful for drivers doing runtime PM, since plane updates then only happen when the CRTC is actually enabled. it's giving "don't do work you don't have to" energy and we love that for them πŸ‘‘

⚠️ lowkey important: the ordering thing is a compatibility note, not a suggestion. legacy CRTC helpers expect the call first. don't come crying to me if you swap it πŸ’€

✨ SEE ALSO ✨

okay this list is long long, so buckle up bestie, we're going on a tour of the whole atomic helper family 🫢

  • the Kernel file ./drivers/gpu/drm/drm_atomic_helper.c overview(9) β€” start here, it's the map πŸ—ΊοΈ
  • 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_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) β€” the sequel to this one, the "say hi again" era 🌈
  • 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) β€” the one you call after this one, remember? πŸ‘€
  • 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)

like I said. long long. iykyk 😭


aaaand that's the page!! πŸŽ€ source is ./drivers/gpu/drm, dated October 2026, and it's giving drm_atomic_...set_disables(9) energy all the way through. go forth and disable those modesets responsibly bestie, mwah πŸ’œβœ¨

πŸ“¦ where this page comes from