drm_atomic_helper_shutdown(9)
π drm_atomic_helper_shutdown β like, the whole Kernel API Manual vibe
okay bestie, so this page lives in the Kernel API Manual and it's called drm_atomic_helper_shutdown(9). yes the title and the page name are the same thing, that's just how these pages are, we don't question it π
β¨ NAME β¨
drm_atomic_helper_shutdown β shuts down all the CRTCs. all of them. every last one. π«Ά
πΈ SYNOPSIS πΈ
void drm_atomic_helper_shutdown (struct drm_device *dev );
π¦ ARGUMENTS π¦
devβ the DRM device in question. that's the one you're shutting down, bestie π
π₯ DESCRIPTION π₯
okay so this one shuts down all CRTC β and it's genuinely useful for driver unloading. like, that's its whole moment, that's its main character energy β¨
but listen, real talk π«Ά β if you're doing shutdown on suspend, you should handle that with drm_atomic_helper_suspend instead. why? because that one also takes a snapshot of the modeset state so it can be restored on resume. drm_atomic_helper_shutdown does not do that, so likeβ¦ don't come crying to me when your state is gone π
and ngl, this function is lowkey just a convenience wrapper around drm_atomic_helper_disable_all. it's also the atomic version of drm_helper_force_disable_all. slay, iconic, periodt π
π SEE ALSO π
bestie there are so many. buckle up, we're going on a journey π§ the kernel file ./drivers/gpu/drm/drm_atomic_helper.c overview(9) plus:
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_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. a journey. π
k bye bestie, ily, go disable those CRTCs responsibly πβ¨
this gorgeous little page came from the source tree at ./drivers/gpu/drm, and it's dated October 2026 β that's the version, that's the date, that's the whole footer, mwah π
π¦ 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