drm_atomic_..._chain_check(9)
β¨ drm_atomic_..._chain_check(9) β¨
okay so this is a page straight out of the Kernel API Manual, and it's giving "bridge chain atomic check" realness, bestie. buckle up π
π NAME π
drm_atomic_bridge_chain_check β literally do an atomic check on the bridge chain, that's the whole vibe π¦
πΈ SYNOPSIS πΈ
int drm_atomic_bridge_chain_check (struct drm_bridge *bridge , struct
drm_crtc_state *crtc_state , struct drm_connector_state *conn_state );
π ARGUMENTS π
bridgeβ the bridge control structure, our main character π«Άcrtc_stateβ the new CRTC state, fresh out of the box β¨conn_stateβ the new connector state, also new, also iconic π
π₯ DESCRIPTION π₯
okay so the order here is so important, listen. first you trigger a bus format negotiation, right? and then for all the bridges in the encoder chain you call the drm_bridge_funcs.atomic_check op β and if that's not there it just falls back on drm_bridge_funcs.mode_fixup, no big deal, she's flexible πββοΈ
and the direction?? you go from the last bridge to the first. yes, backwards, that's just how she rolls π
all of that happens before drm_encoder_helper_funcs.atomic_check gets called. so this is the pre-game, the warm-up, the little prelude before the main event π no cap.
β RETURN β
0when everything slays β- a negative error code when it doesn't π (failure era, we hate to see it)
ngl bestie, if you get a negative number back, that's your sign to go fix something.
π SEE ALSO π
kernel file ./drivers/gpu/drm/drm_bridge.c, plus the whole friend group β go read these too fr fr:
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_post_disable(9)drm_atomic_bridge_chain_pre_enable(9)drm_atomic_bridge_chain_enable(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)
π that's the whole page, you ate that. periodt. π
and that's a wrap bestie!! this one lives down in ./drivers/gpu/drm and it's dated October 2026 β go off, you're now officially fluent in bridge chain behavior π§ββοΈππ
π¦ 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