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. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. Ubuntu Announces Carrier Advisory Group
  2. Qt 5.1 Release Candidate 1 Has Arrived
  3. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  4. Subversion 1.8 Presents New Features
  5. LLVM 3.3 Officially Released
  6. LLVM/Clang Now Uses Loop Vectorizer At New Levels
  7. Intel GPU Driver Tries To Rip Out FBDEV Support
  8. Coreboot Doing AMD USB 3.0, Q35 QEMU Emulation
  9. VP9 Codec Now Enabled By Default In Chrome
  10. openSUSE 13.1 M2 Plays On PulseAudio 4.0
  11. Debian 7.1 Rounds In Some Bug-Fixes
Latest Forum Talk
  1. Ubuntu Announces Carrier Advisory Group
  2. Intel Haswell-Based Apple MacBook Air, HD 5000...
  3. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  4. Intel GPU Driver Tries To Rip Out FBDEV Support
  5. Vote for GOG to add Linux versions of games they...
  6. Mir Still Causing Concerns By Ubuntu Derivatives
  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