drm_atomic_h...r_reset_crtc(9)
β¨ drm_atomic_helper_reset_crtc β¨
Okay bestie, welcome to the Kernel API Manual, section 9 β this one's about drm_atomic_helper_reset_crtc, the little function that hits the reset button on a CRTC's active outputs. It's giving "have you tried turning it off and on again" but for display hardware π
πΈ NAME πΈ
drm_atomic_helper_reset_crtc β reset the active outputs of a CRTC
π SYNOPSIS π
int drm_atomic_helper_reset_crtc (struct drm_crtc *crtc , struct
drm_modeset_acquire_ctx *ctx );
π¦ ARGUMENTS π¦
crtcβ the DRM CRTC, i.e. the thing you're resetting. Main character energy, obviously.ctxβ the lock acquisition context. It's the vibe check for your locks, no cap.
π DESCRIPTION π
So what does it actually do? It resets the active outputs by indicating that connectors have changed. And because of that, it implies a reset of every active component chilling between the CRTC and the connectors β like, the whole little ecosystem gets refreshed together, periodt.
Also, a lil' sibling exists: drm_bridge_helper_reset_crtc, which is the same idea but dedicated to bridges. Different function, same slay π«Ά
β οΈ NOTE β οΈ
This whole thing relies on resetting drm_crtc_state.connectors_changed. So for drivers that optimize out unnecessary modesets β yeah, this will result in a no-op commit. It achieves nothing. Literally nothing. Not a single thing. ππ
Not a bug, just how it is β so don't come for the function when your driver's optimizer eats it for breakfast.
π RETURN π
0 on success, or a negative error code on failure. That's it, that's the whole vibe check π
π§ SEE ALSO π§
Grab a snack, bestie, because this list is long β but every single one of these is here for a reason, iykyk:
- 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_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_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)
That's the whole page, bestie β you ate that π
π Cute lil' sign-off: this one lives in ./drivers/gpu/drm, dated October 2026, and it goes by drm_atomic_h...r_reset_crtc(9) because apparently even manpage headers gotta be mysterious. β¨
π¦ 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