drm_gem_sim...ow_fb_access(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– drm_gem_simple_kms_begin_shadow_fb_access β€” bestie edition πŸ’–

okay so this is a page straight out of the Kernel API Manual, and it's about drm_gem_simple_kms_begin_shadow_fb_access β€” which, yes, is a whole mouthful, but it's literally just the function that prepares shadow framebuffers for CPU access. say it with me: prep the shadow fb so the CPU can touch it. iconic behaviour honestly πŸŽ€


✨ SYNOPSIS ✨

int drm_gem_simple_kms_begin_shadow_fb_access (struct
     drm_simple_display_pipe *pipe , struct drm_plane_state *plane_state );

like, it takes two things and gives you back an int. no cap. πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • pipe β€” the simple display pipe. that's the vibe. that's the whole thing.
  • plane_state β€” the plane state, and heads up, it's of type struct drm_shadow_plane_state πŸ‘€

🌸 DESCRIPTION 🌸

so what this function does is implement struct drm_simple_display_funcs.begin_fb_access. that's the assignment, that's the job, she ate πŸ“

for the full details you gotta go read drm_gem_begin_shadow_fb_access, and when you're done and you need to clean up, that's drm_gem_simple_kms_cleanup_shadow_fb's moment to shine ✨


🌈 RETURN 🌈

  • 0 on success 🫢
  • a negative errno code otherwise 😭

that's it. that's the whole return contract. periodt.


πŸ‘‘ SEE ALSO πŸ‘‘

the kernel file lives at ./drivers/gpu/drm/drm_gem_atomic_helper.c β€” that's the home base, and here's the whole friend group:

like, go read them. all of them. i'll wait πŸ’œ


ngl the function name is so long it barely fits in the header, which is why the title is all truncated like drm_gem_sim...ow_fb_access(9) β€” she's mysterious, she's abbreviated, she contains multitudes πŸ’€

and that's the page!! this one came from ./drivers/gpu/drm, dated October 2026, dropping out of the Kernel API Manual like the main character she is πŸ§šβ€β™€οΈ mwah, go prep those shadow framebuffers, bestie πŸ’…πŸ’–

πŸ“¦ where this page comes from