drm_bridge_chain_mode_valid(9)
π drm_bridge_chain_mode_valid(9) β the kernel API manual, but make it make sense π
okay so bestie, welcome to the drm_bridge_chain_mode_valid(9) page from the Kernel API Manual β¨ this is the one that does the whole "is this display mode actually valid across, like, every bridge" vibe check. stay with me, it's genuinely so good π«Ά
β¨ NAME β¨
drm_bridge_chain_mode_valid β the girl who validates your mode against all the bridges in the encoder chain. all of them. no skipping π
πΈ SYNOPSIS πΈ
enum drm_mode_status drm_bridge_chain_mode_valid (struct drm_bridge
*first_bridge , const struct drm_display_info *info , const struct
drm_display_mode *mode );
like, look at her. three args. so clean. π¦
π ARGUMENTS π
first_bridgeβ the bridge control structure. this is your starting point, your main character, the one you pass in πinfoβ the display info that the mode is gonna be validated against. it's the reference sheet, basically πmodeβ the desired mode. the one we're validating. the vibe we're checking β¨
π DESCRIPTION π
so here's the tea: this function calls drm_bridge_funcs.mode_valid for all the bridges in the encoder chain β and it goes in order, starting from first_bridge all the way to the last one. first to last, no cap πΆββοΈβ‘οΈπΆββοΈ
and if even one bridge is like "nope, not accepting this mode"? the function returns the error code. one hater and the whole thing's cooked π literally that's it.
β οΈ NOTE β οΈ
okay important, don't skip this one bestie π β the bridge you pass in should be the one closest to the encoder. that's the whole bit. iykyk.
β RETURN β
MODE_OKon success π slaydrm_mode_statusEnum error code on failure π
π¦ SEE ALSO π¦
everything's connected, it's giving ecosystem π and yes we're listing all of it, i don't do half-measure:
- the 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_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_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)
and that's the page!! π this one lives over in ./drivers/gpu/drm, and the version/date on the tin is October 2026 β shoutout to drm_bridge_chain_mode_valid(9) for being the moment. periodt. πβ¨
π¦ 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