drm_atomic_b...post_disable(9)
β¨ drm_atomic_bridge_chain_post_disable π
okay bestie, welcome to the Kernel API Manual, this one's drm_atomic_b...post_disable(9) and it's lowkey the cleanup crew of the bridge world π§Ήβ¨
πΈ NAME πΈ
drm_atomic_bridge_chain_post_disable β cleans up after disabling all bridges in the encoder chain π«Ά
π¦ SYNOPSIS π¦
void drm_atomic_bridge_chain_post_disable (struct drm_bridge *bridge ,
struct drm_atomic_commit *state );
π ARGUMENTS π
bridgeβ the bridge control structure, main character energy frstateβ the atomic state being committed, iykyk
π DESCRIPTION π
so the way this works π β it calls the drm_bridge_funcs.atomic_post_disable op for all the bridges in the encoder chain, starting from the first bridge to the last. literally every single one, no skips, no cap.
these get called after completing drm_encoder_helper_funcs.atomic_disable β
and here's the little plot twist π β if a bridge sets pre_enable_prev_first, then the post_disable for that bridge gets called before the previous one, so it reverses the pre_enable calling direction. cute right? symmetry slay π
π EXAMPLE π
picture this chain, iconic lineup honestly:
Bridge A ---> Bridge B ---> Bridge C ---> Bridge D ---> Bridge E
With the pre_enable_prev_first flag enabled in Bridge B, D, E, then the resulting post_disable order would be:
Bridge B, Bridge A, Bridge E, Bridge D, Bridge C.
not me re-reading that twice π it flips, bestie, that's the whole vibe.
π©· NOTE π©·
the bridge passed should be the one closest to the encoder π don't hand it a random middle bridge, that's not it.
π SEE ALSO π
the whole friend group, go say hi π
- Kernel file
./drivers/gpu/drm/drm_bridge.c overview(9)display driver integration(9)special care dsi(9)dsi bridge operations(9)bridge chain format selection(9)drm_bridge_enter(9)drm_bridge_exit(9)drm_bridge_unplug(9)drm_bridge_get(9)drm_bridge_put(9)drm_bridge_clear_and_put(9)drm_bridge_put_void(9)drm_bridge_add(9)devm_drm_bridge_add(9)drm_bridge_remove(9)drm_bridge_attach(9)bridge operations(9)drm_bridge_chain_mode_valid(9)drm_bridge_chain_mode_set(9)drm_atomic_bridge_chain_disable(9)drm_atomic_bridge_chain_pre_enable(9)drm_atomic_bridge_chain_enable(9)drm_atomic_bridge_chain_check(9)drm_bridge_detect(9)drm_bridge_get_modes(9)drm_bridge_edid_read(9)drm_bridge_hpd_enable(9)drm_bridge_hpd_disable(9)drm_bridge_hpd_notify(9)of_drm_find_and_get_bridge(9)of_drm_find_bridge(9)of_drm_get_bridge_by_endpoint(9)devm_drm_put_bridge(9)
okay that's the whole page bestie, go forth and disable your bridges in the correct order π¦πβ¨
this came from ./drivers/gpu/drm, dated October 2026, and it's drm_atomic_b...post_disable(9) β mwah, love u, 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