Radeon VM, DMA-BUF Will Go Into Linux 3.3 Kernel

Posted by Michael Larabel on January 06, 2012

The Radeon virtual memory (VM) support -- part of the Radeon HD 7000 series upbringing -- is now in the DRM next tree for landing in the Linux 3.3 kernel. Separate from the expected 3.3 graphics pull request, Linaro's "dma-buf" has already been sent to Linus Torvalds for merging into the mainline tree.

As talked about earlier today and mentioned before by AMD's John Bridgman, there's invasive Radeon DRM changes coming as part of the Radeon HD 7000 series support upbringing due to the radically new "Southern Islands" / GCN (Graphics Core Next) architecture. Bridgman noted on the Phoronix Forums that the memory patches might come out in early January and last night the virtual memory patches did, which Bridgman confirmed.

The Radeon GPU virtual memory support is invasive and touches more than one thousand lines of code and has already undergone twenty-two revisions before merging. With this work being invasive and the 3.3 merge window only being open for the next two weeks, the code was quick to land and today can now be found in Airlie's tree so it will be part of the Linux 3.3 kernel. But there's still a lot more work left (and the clearing of legal review) before there is open-source Radeon HD 7000 series support available to Linux desktop users.

What was sent into Linus Torvalds this morning by David as separate from the DRM work is the "dma-buf" work that's been worked on by Linaro developers, DRM developers, and other kernel stakeholders for the past several months. This work provides a buffer sharing mechanism for Linux kernel drivers. The ARM SoC vendors have mostly been after this work to design drivers better fitting their hardware designs and being able to share buffers between various drivers such as for V4L, DRM, and fbdev sub-systems.

There's no major users of dma-buf quite yet, but now that it's mainline, by the Linux 3.4 kernel it's expected that it will be utilized. It's also possible dma-buf may be helpful down the road in multi-GPU Linux driver support for buffer sharing. This buffer sharing mechanism is just for the kernel drivers and doesn't expose any interfaces to user-space.

The dma-buf work amounts to about 700 lines of code. The pull request for this code can be found on the mailing list.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Raspberry Pi Gets New Wayland Weston Renderer
  2. Debian GNU/Hurd 2013 Release Brings New Packages
  3. Intel Ultrabook Performance Is Faster With Mesa 9.2
  4. Hot Relocation HDD To SSD Support For Btrfs
  5. Phoronix Test Suite 4.6.0 "Utsira" Released
  6. New Intel X.Org Driver Supports All Of Haswell
  7. SQLite Now Faster With Memory Mapped I/O
  8. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  9. Qt For Tizen Launches, Based On Qt 5.1
  10. KTAP Released For Linux Kernel Dynamic Tracing
  11. Linux 3.10-rc2 Kernel Takes In A Few Extra Pulls
Latest Forum Talk
  1. Linux's "Ondemand" Governor Is No...
  2. Debian GNU/Hurd 2013 Release Brings New Packages
  3. Humble Indie Bundle Finally Sells Out
  4. Hot Relocation HDD To SSD Support For Btrfs
  5. Kubuntu, KDE Has Little Hope For Ubuntu's Mir
  6. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite