DMA-BUF In Linux 3.5 WIll Get MMAP, VMAP

Written by Michael Larabel in Hardware on 26 May 2012 at 08:48 AM EDT. 2 Comments
HARDWARE
The DMA-BUF buffer sharing mechanism in the Linux kernel will gain new features with the Linux 3.5 kernel.

On Friday the pull request was issued by Sumit Semwal of Linaro for the DMA-BUF framework that's used by ARM SoC vendors for sharing buffers between drivers and also is set to be used in the x86 space as well for sharing buffers between multiple graphics drivers.

The key features of the DMA-BUF updates for Linux 3.5 include mmap and vmap support. There's also documentation updates too.

While there is now the new features coming to DMA-BUF, right now the interfaces for using this buffer sharing mechanism are still exported as GPL-only and haven't been changed yet that would allow the binary-only Linux graphics drivers to use the symbols that in theory could make NVIDIA better support the Optimus technology with their driver.

Also not covered by this pull request are the DMA-BUF updates to the DRM drivers. Those changes will come in the DRM pull request. With the Linux 3.5 kernel, the leading open-source Linux graphics driver will provide proper support for DMA-BUF PRIME.

The 3.5 DMA-BUF pull request can be read on LKML.org.

On a related note, there's still DMA-BUF work being done by ARM for synchronizing access to buffers shared between drivers/devices using DMA-BUF, see this mailing list thread for the latest details.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week