drm_gem_fb_end_cpu_access(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… drm_gem_fb_end_cpu_access

okay so this one lives in the Kernel API Manual, and it's lowkey the "we're so done here" bestie of the DRM framebuffer world. Let's get into it 🫢


✨ NAME ✨

drm_gem_fb_end_cpu_access β€” signals end of CPU access to GEM buffer objects

like, it's the closing ceremony for when your CPU was touching GEM buffer objects and now it's NOT. periodt. πŸŽ€


🌸 SYNOPSIS 🌸

void drm_gem_fb_end_cpu_access(struct drm_framebuffer *fb, enum dma_data_direction dir);

no return value, it just does the thing and dips πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • fb β€” the framebuffer. the main character here, honestly πŸ‘‘
  • dir β€” access mode. which way the data was flowing, iykyk

πŸ’– DESCRIPTION πŸ’–

So basically, this function signals the end of CPU access to the given framebuffer's GEM buffer objects. That's it, that's the vibe ✨

Here's the part you CANNOT skip, bestie: this function must be paired with a corresponding call to drm_gem_fb_begin_cpu_access. it's giving matched set, it's giving two halves of one soul, it's giving "don't you dare call the end without the begin" 😭 fr fr, they go together.

And for imported BOs? the function calls dma_buf_end_cpu_access. so it's out here delegating, as it should 🫢

See also drm_gem_fb_begin_cpu_access β€” the other half of the duo, go say hi 🌈


⭐ SEE ALSO ⭐

the whole friend group, all tagged and accounted for πŸ’œ


quick vibe check: begin + end are a package deal. call the end without the begin and you're just out here causing chaos, and not the cute kind πŸ’€

and that's the page!! shoutout to ./drivers/gpu/drm, dated October 2026, living under drm_gem_fb_end_cpu_access(9) β€” ily, go pair your calls bestie πŸ“πŸ§šπŸ’…

πŸ“¦ where this page comes from