DRM_GEM_DMA_..._DUMB_CREATE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… DRM_GEM_DMA_..._DUMB_CREATE πŸ’…

okay so bestie, you found a page from the Kernel API Manual and the title got truncated by the terminal like it always does 😭 β€” the real, full name of this macro is DRM_GEM_DMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE, and it's the DMA GEM driver-operations hookup that makes sure you get a virtual address on the buffer. yes ma'am, that's the whole vibe πŸŽ€


✨ NAME ✨

DRM_GEM_DMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE β€” DMA GEM driver operations ensuring a virtual address on the buffer πŸ¦‹


🌸 SYNOPSIS 🌸

DRM_GEM_DMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE (dumb_create_func );

πŸŽ€ ARGUMENTS πŸŽ€

  • dumb_create_func β€” the callback function that gets wired up to .dumb_create. that's it, that's the whole argument, she's lowkey minimal πŸ’…

πŸ’– DESCRIPTION πŸ’–

So here's the tea β˜•: this macro is a shortcut β€” a lil' pre-built bundle β€” for setting the default GEM operations inside the drm_driver structure, specifically for drivers that need the virtual address also on imported buffers. imported buffers get the vmap treatment too, no cap ✨

She's a variant of DRM_GEM_DMA_DRIVER_OPS_VMAP, made for drivers that override the default implementation of struct drm_driver.dumb_create. so if you're rolling your own dumb_create, this is your girl 🫢

bestie pls hear me: use DRM_GEM_DMA_DRIVER_OPS_VMAP if possible. it's the main-character default and she ate. only reach for this variant when you genuinely need the override.

and if your driver does not require a virtual address on imported buffers? then you want DRM_GEM_DMA_DRIVER_OPS_WITH_DUMB_CREATE instead. different tool, different job, pick the right one for the vibe check πŸ‘‘


πŸ¦‹ SEE ALSO πŸ¦‹


⭐ and that's the page!! this icon came out of the kernel file at ./include/drm, stamped October 2026, straight outta the Kernel API Manual β€” read it, love it, slay your dumb_create override πŸ’œπŸ§šπŸŒˆ

πŸ“¦ where this page comes from