drm_atomic_h...update_plane(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… drm_atomic_h...update_plane(9) β€” the Kernel API Manual, but make it make sense

okay so bestie, welcome to the kernel API manual for drm_atomic_h...update_plane(9). yes the name is abridged with the little ... and no, that's not me being lazy, that's literally how it's printed. iconic behaviour honestly. anyway, let's get into it ✨


🌸 NAME 🌸

drm_atomic_helper_update_plane β€” a helper for updating the primary plane, but make it atomic πŸ’«


πŸŽ€ SYNOPSIS πŸŽ€

here's the whole thing, copy it exactly, don't you dare paraphrase:

int drm_atomic_helper_update_plane (struct drm_plane *plane , struct
drm_crtc *crtc , struct drm_framebuffer *fb , int crtc_x , int crtc_y ,
unsigned int crtc_w , unsigned int crtc_h , uint32_t src_x , uint32_t
src_y , uint32_t src_w , uint32_t src_h , struct drm_modeset_acquire_ctx
*ctx );

that's a whole lot of arguments, but it's giving "responsible function with a lot of friends" and honestly? we respect it 🫢


✨ ARGUMENTS ✨

every single one of them, in order, no skips, periodt:

  • plane β€” the plane object you're updating. like, the thing itself πŸ¦‹
  • crtc β€” the CRTC that owns the owning plane. yes, owning owning. that's what it says πŸ’…
  • fb β€” the framebuffer you're flipping onto the plane πŸ”₯
  • crtc_x β€” the x offset of the primary plane on the CRTC
  • crtc_y β€” the y offset of the primary plane on the CRTC
  • crtc_w β€” the width of the primary plane rectangle on the CRTC
  • crtc_h β€” the height of the primary plane rectangle on the CRTC
  • src_x β€” the x offset of the framebuffer, for panning πŸ‘€
  • src_y β€” the y offset of the framebuffer, for panning πŸ‘€
  • src_w β€” the width of the source rectangle in the framebuffer
  • src_h β€” the height of the source rectangle in the framebuffer
  • ctx β€” the lock acquire context. the vibe check for your locks πŸ”’

ngl that's a lot of numbers but they're all just "where" and "how big" and it eats every time πŸ“


πŸ’œ DESCRIPTION πŸ’œ

so what does it actually do? it provides a default plane update handler that uses the atomic driver interface ✨ that's it, that's the whole tea. it's the helper you reach for so you don't have to hand-roll the update path yourself. main character energy, lowkey β˜•


🌈 RETURN 🌈

  • zero on success πŸŽ‰
  • an error code on failure 😭 (she's not always gonna slay, and that's okay)

πŸ‘‘ SEE ALSO πŸ‘‘

buckle up bestie, this list is long and we are not skipping a single one, because every reference here is a whole era:

first up, the context one β€” it's literally Kernel file ./drivers/gpu/drm/drm_atomic_helper.c overview(9) πŸ’–

then, in this exact order, iykyk:

like, that's a lot of friends and every one of them is invited to the group chat πŸ’€ but fr fr they're all relevant, don't @ me.


πŸ’‘ friendly reminder: the 9 in all of those is the manpage section, not a shoutout to the year 2009. stay safe out there 🧚

🌸 little sign-off 🌸

this gem lives under ./drivers/gpu/drm and the page is dated October 2026. so like, she's from the future and she's still slaying. periodt πŸ’…βœ¨

bye bestie, go update some planes atomically, you've got this πŸ«ΆπŸ’–

πŸ“¦ where this page comes from