Why put all the work into an "outdated" driver infrastructure. I think that it would make more sense to develop a new r(3-5,6?)xx ttm / galium driver. Galium and ttm are not finished yet, but until we see a working r500/r600 driver will also take some time.
Do you want somethings working in next couple of weeks or are you ready to wait few months (not before end of this year) ? I believe the current strategy to fix r300 and add support for newer hw to it is a good one. The new infrastructure: gallium, drm"2", dri2, ... isn't ready for production at all we still having a lot of discussion on the design and once we happy with the design we need to test it with code and even then we will likely wait a bit to see how mature it's before freezing API and pushing things upstream. We don't want to ask distrib or user to build things using branch scattered all around fdo neither we want to support this code as we break it sometimes every hour.