drm_atomic_c...ively_active(9)
π drm_atomic_c...ively_active β a Kernel API Manual moment β¨
okay bestie, so this one lives in the Kernel API Manual and it's genuinely so useful once you get what it's doing. it's giving "don't trust active, trust the vibe check" π«Ά
πΈ NAME πΈ
drm_atomic_crtc_effectively_active β compute whether a CRTC is actually active, for real for real
β¨ SYNOPSIS β¨
bool drm_atomic_crtc_effectively_active (const struct drm_crtc_state *state );
π ARGUMENTS π
stateβ thedrm_crtc_statefor the CRTC. that's it, that's the whole argument, she's low maintenance π
π¦ DESCRIPTION π¦
okay so here's the situation, and it's kind of a plot twist π
when you're in self refresh mode, the crtc_state->active value is gonna be false, because the CRTC is off. like, genuinely off. no cap.
BUT β and this is the main character energy part β sometimes we're actually interested in whether the CRTC is active, or effectively active (ie: it's connected to an active display). so the thing is still doing something even though active is screaming false at you π
in those cases? use this function instead of just checking active. that's the whole assignment, bestie. don't just peek at active and call it a day, use the icon it deserves π
π₯ SEE ALSO π₯
- Kernel file
./include/drm/drm_atomic.h
and now the whole friend group, gather round π§:
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_old_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)struct drm_bus_cfg(9)struct drm_bridge_state(9)
mwah π this page came from ./include/drm, dated October 2026, and honestly? iconic. go check your CRTC's vibe bestie, ily, 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