DMA HELPERS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… dma helpers πŸ’…

okay so bestie, this is dma helpers(9) from the Kernel API Manual β€” and it's giving β€œmake my buffer look contiguous” energy. ✨

The DRM GEM/DMA helpers are literally a means to provide buffer objects that are presented to the device as a contiguous chunk of memory. This is useful for devices that do not support scatter-gather DMA (either directly or by using an intimately attached IOMMU). 🫢

For devices that access the memory bus through an (external) IOMMU, the buffer objects are allocated using a traditional page-based allocator and may be scattered through physical memory. However, they are contiguous in the IOVA space, so they appear contiguous to devices using them. no cap.

For other devices, the helpers rely on CMA to provide buffer objects that are physically contiguous in memory. πŸŽ€

For GEM callback helpers in struct drm_gem_object functions, see the likewise named functions with an _object_ infix (e.g., drm_gem_dma_object_vmap wraps drm_gem_dma_vmap). These helpers perform the necessary type conversion. πŸ”₯


πŸ‘€ SEE ALSO πŸ‘€

mwah πŸ’‹ this cutie came from ./drivers/gpu/drm, dated October 2026, and it's the dma helpers(9) page β€” periodt. 🫢

πŸ“¦ where this page comes from