drm_gem_begi...ow_fb_access(9)
β¨ NAME β¨
okay so this is drm_gem_begin_shadow_fb_access β it's from the kernel API manual (the drm_gem_begi...ow_fb_access(9) page, yes the name is truncated in the header, that's just how it's printed bestie, no cap π
) and tl;dr: it prepares shadow framebuffers for CPU access.
πΈ SYNOPSIS πΈ
int drm_gem_begin_shadow_fb_access (struct drm_plane *plane , struct
drm_plane_state *plane_state );
like literally that's the whole signature, she's short and she knows it π
π¦ ARGUMENTS π¦
planeβ the plane. that's it. that's the whole description. the plane. π©οΈplane_stateβ the plane state, and it's of typestruct drm_shadow_plane_state(important!! not just any plane_state, okurrr) β
π DESCRIPTION π
so what does she actually do. This function implements struct drm_plane_helper_funcs.begin_fb_access. That's her job, that's her whole assignment, main character energy fr fr π
What happens: it maps all the buffer objects of the plane's framebuffer into kernel address space and stores them in struct drm_shadow_plane_state.map. All of them. Not some. All. π«Ά
Then, the first data bytes are available in struct drm_shadow_plane_state.data. cute little shortcut, we love her π
π don't forget the cleanup bestie β see drm_gem_end_shadow_fb_access for that, because leaving stuff mapped is not the vibe, iykyk
π₯ RETURN π₯
0on success π- or a negative errno code otherwise π (she'll tell you what went wrong, just negatively)
π SEE ALSO π
okay so the whole friend group, in order:
- Kernel file
./drivers/gpu/drm/drm_gem_atomic_helper.candoverview(9) drm_gem_plane_helper_prepare_fb(9)__drm_gem_duplicate_shadow_plane_state(9)drm_gem_duplicate_shadow_plane_state(9)__drm_gem_destroy_shadow_plane_state(9)drm_gem_destroy_shadow_plane_state(9)__drm_gem_reset_shadow_plane(9)drm_gem_reset_shadow_plane(9)drm_gem_end_shadow_fb_access(9)β the cleanup one, say hi to her again πdrm_gem_simple_kms_begin_shadow_fb_access(9)drm_gem_simple_kms_end_shadow_fb_access(9)drm_gem_simple_kms_reset_shadow_plane(9)drm_gem_simple_kms_duplicate_shadow_plane_state(9)drm_gem_simple_kms_destroy_shadow_plane_state(9)
that's the whole page bestie, go map some framebuffers π§ββοΈβ¨
mwah π β this one lives in ./drivers/gpu/drm and it's stamped October 2026, so like, future-coded of her honestly π
π¦ 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