for_each_ol...tor_in_state(9)
π NAME π
okay so bestie, this is for_each_old_connector_in_state β the Kernel API Manual girlie that literally iterates over all connectors in an atomic update. that's the whole vibe. β¨
π¦ SYNOPSIS π¦
for_each_old_connector_in_state (__state , connector ,
old_connector_state , __i );
π ARGUMENTS π
__stateβ astruct drm_atomic_commitpointer. yeah. that's the main character of this whole operation πconnectorβ astruct drm_connectoriteration cursor, aka the lil pointer that walks the lineup πΆββοΈold_connector_stateβ astruct drm_connector_stateiteration cursor but for the old state. nostalgic era only, no cap π°οΈ__iβ anintiteration cursor. it's for macro-internal use only bestie, don't touch it, it's giving backstage pass π«
πΈ DESCRIPTION πΈ
so what this does is it iterates over all connectors in an atomic update β but it's tracking only the old state. old state only. that's the whole point, that's the assignment, she ate and left no crumbs π
and like, when is that useful? bestie, it's useful in disable functions, where we need the old state that the hardware is still in. the hardware is lowkey still living in the past and we gotta work with that β¨
π₯ SEE ALSO π₯
Kernel file ./include/drm/drm_atomic.h, plus a whole friend group of related icons:
struct drm_crtc_commit(9)struct drm_private_state_funcs(9)struct drm_private_obj(9)drm_for_each_privobj(9)struct drm_private_state(9)struct drm_atomic_commit(9)drm_crtc_commit_get(9)drm_crtc_commit_put(9)drm_atomic_commit_get(9)drm_atomic_commit_put(9)drm_atomic_get_old_crtc_state(9)drm_atomic_get_new_crtc_state(9)drm_atomic_get_old_plane_state(9)drm_atomic_get_new_plane_state(9)drm_atomic_get_old_connector_state(9)drm_atomic_get_new_connector_state(9)__drm_atomic_get_current_plane_state(9)for_each_oldnew_connector_in_state(9)for_each_new_connector_in_state(9)for_each_oldnew_crtc_in_state(9)for_each_old_crtc_in_state(9)for_each_new_crtc_in_state(9)for_each_oldnew_colorop_in_state(9)for_each_new_colorop_in_state(9)for_each_oldnew_plane_in_state(9)for_each_oldnew_plane_in_state_reverse(9)for_each_new_plane_in_state_reverse(9)for_each_old_plane_in_state(9)for_each_new_plane_in_state(9)for_each_oldnew_private_obj_in_state(9)for_each_old_private_obj_in_state(9)for_each_new_private_obj_in_state(9)drm_atomic_crtc_needs_modeset(9)drm_atomic_crtc_effectively_active(9)struct drm_bus_cfg(9)struct drm_bridge_state(9)
okay that's the whole page, go be iconic with your atomic updates π«Ά
sign-off szn: this lil beauty lives in ./include/drm, it's dated October 2026, and yes the header/footer both go by for_each_ol...tor_in_state(9) because abbreviating is her brand πβ¨
π¦ 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