Community Beats AMD To New Radeon Audio Code
AMD's internal Evergreen HDMI audio code has gone through four revisions so far, but it hasn't been officially signed off by the legal team. This process has drawn on for several months with no support for HDMI audio on the Radeon HD 5000/6000 series and newer GPUs when using anything but the Catalyst binary blob. The Evergreen family is now one and a half years old, but the HDMI audio support is finally available on this Sunday morning for the Radeon KMS driver.
It was yesterday that Rafał Miłecki, an independent open-source contributor, wrote in the Phoronix Forums: "Unfortunately I've bought netbook with AMD E-450, and so with integrated HD6320 :( Fortunately expect patches ~tomorrow :)" Guess what? He managed to get Evergreen HDMI audio working.
Rafał Miłecki is the open-source developer who has previously worked on the R700 KMS audio support and various other parts of the open-source Radeon Linux stack. He was also the one that hacked in 802.11n support into a Broadcom WiFi driver.
Hitting the DRI mailing list just minutes ago was "support for audio on Evergreen" (the Radeon HD 5000 series). The first patch was 35 lines of new code and introduces a few new registers while the second patch was just a few lines of code. Kudos to Rafał Miłecki for managing Radeon HD 5000 series HDMI audio code working (and finding out the bits to poke) prior to AMD getting out any code or further documentation.
HDMI audio has been supported already for previous generations of Radeon GPUs by the KMS/DRM driver. The original HDMI audio code also came via reverse-engineering back in the RadeonHD days.
The patches can be found here and will hopefully be part of the Linux 3.3 kernel.
Additional details on how you can help with reverse-engineering the Radeon HDMI audio registers for your graphics card can be found in this forum thread.