drm_gpuvm_resv_add_fence(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… drm_gpuvm_resv_add_fence(9) β€” your Kernel API Manual moment ✨

okay so bestie, welcome to the Kernel API Manual, and today's main character is drm_gpuvm_resv_add_fence(9). she's a void function, she returns nothing, and she's here to drop a fence into all the right dma-resv places. no cap. πŸŽ€


✨ NAME ✨

drm_gpuvm_resv_add_fence β€” literally the "add fence to private and all extobj dma-resv" girlie 🫢


🌸 SYNOPSIS 🌸

void drm_gpuvm_resv_add_fence (struct drm_gpuvm *gpuvm , struct drm_exec
*exec , struct dma_fence *fence , enum dma_resv_usage private_usage ,
enum dma_resv_usage extobj_usage );

that's the whole signature, copy it exactly, don't @ me πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • gpuvm β€” the struct drm_gpuvm * we're adding a fence to, aka the whole vibe we're decorating ✨
  • exec β€” the struct drm_exec * locking context, she's holding the locks so we can do this safely πŸ”’
  • fence β€” the struct dma_fence * we're actually adding, the guest of honour πŸ‘‘
  • private_usage β€” the enum dma_resv_usage for the private dma-resv, that's her personal lane πŸ“
  • extobj_usage β€” the enum dma_resv_usage for the extobj dma-resv, the shared/external-object energy 🌈
heads up bestie: the private usage and the extobj usage are separate parameters, so you literally cannot mix them up unless you're trying (don't try) πŸ™ˆ

πŸ’œ SEE ALSO πŸ’œ

start with the kernel file itself, bestie β€” ./drivers/gpu/drm/drm_gpuvm.c β€” and then the whole friend group shows up:


that's the whole page, no crumbs left behind 🧚

and for the sign-off: this little beauty lives under ./drivers/gpu/drm, dated October 2026 β€” so go forth, add those fences to private and all extobj dma-resv, and slay πŸ’–πŸ”₯ periodt.

πŸ“¦ where this page comes from