Open-Source Radeon Tries Again For PCI-E 2.0

Written by Michael Larabel in Radeon on 26 June 2012 at 11:28 AM EDT. 12 Comments
RADEON
David Airlie sent in some PCI Express 2.0 patches for the Linux kernel DRM this morning, which will hopefully allow supported Radeon graphics cards to run at PCI-E 2.0 speeds by default.

As shown in multiple Phoronix articles, PCI Express 2.0 speeds can really boost the Radeon driver performance. With the additional bandwidth provided by PCI-E 2.0, the open-source AMD driver sees a much-needed performance boost. While the PCI Express 2.0 specification was ratified in 2007 and has been supported by most motherboard chipsets and graphics cards since then (on the Radeon side, it's been supported going back to the R600 days), it hasn't been enabled by default with the open-source Radeon driver due to alleged bugs for a small minority of users. The performance meanwhile has been painful for a majority of the ATI/AMD customers sticking to open-source code.

David Airlie began today's patch work by submitting a DRM core patch that allows for checking to see if PCI Express 2.0 5GT link speeds are supported for a given device. There is a special case within this function that explictly disables the PCI Express 2.0 checking for root ports from VIA and Serverworks since they're reportedly known to cause issues.

A second patch allows for PCI Express 2.0 to be supported by the Radeon HD 7000 "Southern Islands" graphics cards, but that patch comes down to just calling the same PCI-E 2.0 initialization path as is used by the HD 6000 "Northern Islands" series, which in turn is the HD 5000 "Evergreen" PCI-E 2.0 code-path.

The third and final patch attempts to enable PCI Express 2.0 support where possible, which comes down to using the new PCI-E 2.0 checker function along the Evergreen (the code-path that's shared with the HD 6000 and HD 7000 series too) and R600 paths. With this patch applied, PCI Express 2.0 should be on-by-default for the Radeon HD 2000 series and newer on a patched Linux kernel in conjunction with a supported PCI-E Gen2 motherboard. If there's bugs, falling back to PCI Express 1.0 is possible via the radeon.pcie_gen2=0 parameter.


Intel's PCI Express 2.0 launch party back in 2007 at IDF Fall prior to the Phoronix computer beer opening event.

These patches will hopefully be merged into the Linux 3.6 kernel to provide a much-needed open-source Radeon driver performance boost. The only problem now? With the Radeon HD 7000 series hardware we're now up to PCI Express 3.0... There's no support there yet on the open-source side (Catalyst on Linux does properly handle PCI-E 2.0/3.0), besides the Gallium3D driver there still not being in a fully-functional state.
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