__drm_atomic...e_state_init(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… __drm_atomic...e_state_init β€” bestie's guide to the Kernel API Manual ✨

Okay so real talk, the manual page you're looking at is literally called __drm_atomic...e_state_init(9) (yes the name is truncated with dots, that's not me being lazy, that's just how it is πŸ’€) and it's all about one very specific little function. Let's get into it.


πŸŽ€ NAME πŸŽ€

__drm_atomic_helper_plane_state_init β€” literally just initialize the plane state. That's the whole gig. Slay.


✨ SYNOPSIS ✨

void __drm_atomic_helper_plane_state_init (struct drm_plane_state
*plane_state , struct drm_plane *plane );

That's the signature, exactly as written, no notes. 🫢


🌸 ARGUMENTS 🌸

  • plane_state β€” the atomic plane state, and it must not be NULL. Like, do not pass NULL, I'm begging you. πŸ™ˆ
  • plane β€” the plane object, and yup, this one must not be NULL either. Two non-NULLs, no exceptions, periodt.

πŸ’– DESCRIPTION πŸ’–

So what this does is it takes a freshly allocated plane_state and fills it in with all the default values. That's it, that's the vibe. It's giving "starter pack" energy. ✨

And why do we care? Because this is super useful for drivers that subclass the plane state β€” i.e. drivers that go "actually I want my own fancier struct that has plane_state inside it" β€” and they need a way to init the base part without reinventing the wheel. Iconic behavior honestly. πŸ‘‘


πŸ¦‹ SEE ALSO πŸ¦‹

Okay bestie, buckle up, because this list is long and I refuse to leave a single one out. All of these are (9) refs and they are all exactly as written:

Kernel file ./drivers/gpu/drm/drm_atomic_state_helper.c, plus atomic state reset and initialization(9), __drm_atomic_helper_crtc_state_init(9), __drm_atomic_helper_crtc_reset(9), drm_atomic_helper_crtc_reset(9), drm_atomic_helper_crtc_create_state(9), __drm_atomic_helper_crtc_duplicate_state(9), drm_atomic_helper_crtc_duplicate_state(9), __drm_atomic_helper_crtc_destroy_state(9), drm_atomic_helper_crtc_destroy_state(9), __drm_atomic_helper_plane_reset(9), drm_atomic_helper_plane_reset(9), drm_atomic_helper_plane_create_state(9), __drm_atomic_helper_plane_duplicate_state(9), drm_atomic_helper_plane_duplicate_state(9), __drm_atomic_helper_plane_destroy_state(9), drm_atomic_helper_plane_destroy_state(9), __drm_atomic_helper_connector_state_init(9), __drm_atomic_helper_connector_reset(9), drm_atomic_helper_connector_reset(9), drm_atomic_helper_connector_create_state(9), drm_atomic_helper_connector_tv_margins_reset(9), drm_atomic_helper_connector_tv_reset(9), drm_atomic_helper_connector_tv_check(9), __drm_atomic_helper_connector_duplicate_state(9), drm_atomic_helper_connector_duplicate_state(9), __drm_atomic_helper_connector_destroy_state(9), drm_atomic_helper_connector_destroy_state(9), __drm_atomic_helper_private_obj_create_state(9), __drm_atomic_helper_private_obj_duplicate_state(9), __drm_atomic_helper_bridge_duplicate_state(9), drm_atomic_helper_bridge_duplicate_state(9), drm_atomic_helper_bridge_destroy_state(9), __drm_atomic_helper_bridge_state_init(9), drm_atomic_helper_bridge_create_state(9).

That's the whole squad, not one missing, I checked twice. πŸ’…


Okay tiny recap because I love you: two args, both non-NULL, it sets up defaults on a new plane state, and it's made for subclassing drivers. That's the entire plot. πŸ“

✨ and that's a wrap! ✨ This little gem lives under the source path ./drivers/gpu/drm, and the manual page is dated October 2026 β€” so yeah, it's future-coded and also kind of a vibe. Catch you in the next man page, bestie, mwah πŸ’œπŸ§š

πŸ“¦ where this page comes from