For any independent developers that have been wanting to explore ways to contribute to the open-source Radeon driver but have been intimidated by the lack of documentation within the code, the situation is beginning to improve.
It was just yesterday when I was writing about the AMD Radeon HD 7000 series open-source support still lacking
and that besides the code not being in a usable state that documentation is still lacking for recent generations of Radeon GPUs. To some surprise, this morning a set of ten patches arrived from AMD's Alex Deucher for better documenting the Radeon DRM (Direct Rendering Manager) driver code.
As said on the mailing list
This is something I've been wanting to do for a while and I finally spent a little time getting a start on it. There is still a lot to do and not all of my descriptions are great, but I think we can document the rest in bits and pieces. I also added a note about what asics the function is applicable to. I tried to start with the more common and complex code. I was thinking it would make sense to have an informal documentation policy something like the following:
1. If you edit an undocumented function, add documentation
2. If you edit a documented function and change how it works, update the documentation
3. All new functions added should be documented
Fulfulling all of these for stable fixes could pose problems so obviously there is some leeway.
This adds in around 2,000 lines of documentation to the Radeon kernel driver. Equally important is Deucher's proposal for an informal documentation policy; it's about damn time. This really shouldn't just apply to the Radeon driver but would be great if it applied to all X.Org projects. From fledging developers I still frequently hear that insufficient documentation is one of their biggest hurdles in initially contributing to X.Org/graphics-related projects and many open-source projects in general.