Hang on a minute, this version of TTM will expose GEM APIs?
I think the GEM APIs are built on top of TTM by driver code. Most of the GEM interfaces are driver-specific these days anyways.
The issue (AFAIK) was that the original version of TTM code built into the drivers a year or two ago wasn't considered sufficiently clean to go into the kernel tree, but the new version is.
It seems also that nouveau is adding extra code to ttm. They are putting bits of ttm and gem into drm/nouveau. I was thinking it would all be generic and held in one piece. I wonder when majority of devs will jump on gallium3d bandwagon, from what I heard airlie saying is that it will happen once DRM/KMS becomes solid :).
Memory management hardware and command submission mechanisms are significantly different between GPU vendors, so each family of GPUs needs different code.
I believe that finding a "model" which could work well across all the different hardware was one of the big challenges, and one of the reasons that memory management has taken so long to design and implement.