Here is the announcement. I tested the code on Diamond Multimedia Stealth 3D 2000 (S3 ViRGE, 2 MB EDO DRAM, PCI bus) and Stealth 3D 4000 (S3 ViRGE / GX2, 4 MB SGRAM, AGP bus) with Xubuntu 16.04.5 (X Server 1.19.6). Standby resume does not work. If anyone has the hardware register documentation, feel free to e-mail me as long as you do not violate your NDA.
Here is the announcement. I do not really have a graphics card that this DDX supports, so I was not able to test the code prior to the release. Actually, I do have one card (from Miro) with a chip from Alliance semiconductor, but it is ProMotion 3210, which is not supported by this DDX. I honestly doubt anyone on this planet uses this DDX anymore, but I updated the code anyway. If anyone has the hardware register documentation, feel free to e-mail me as long as you do not violate their NDA.
It took me about 5 to 6 days to figure out what was wrong with the code, but I am happy to report that the initial implementation of TTM memory allocator for OpenChrome DRM appears to be working okay. I have not gone through all the tests I should be doing at this point, but at least it is working on my HP 2133 mini-note. I booted my usual Xubuntu 16.04.5 LTS 32-bit and now the code can start up the X Server properly. Of course, standby resume is also working fine (A small unrelated bug with FP detection right after standby resume still exists in the code, but I have not encountered this yet). I expect it will take another week or two to properly clean up the code for the commit push into the upstream repository.
Finally, I got the new TTM memory allocator code merged with OpenChrome DRM. The code now compiles without syntax errors. As expected, it could not boot the X Server the first time or the second time I tried it. I am still working on getting it to work properly, and I expect this to take a week or two. Code commit will probably not happen for 2 to 3 weeks. Anyway, this is a huge step forward for OpenChrome Project, and my other future underserved graphics device revival projects.
I am now in the process of compiling the new TTM memory allocator code for OpenChrome DRM. I hope to test the code for the first time by tomorrow. Again, I plan to reuse the code with the future DRM modernization project (i.e., adding Kernel Mode Setting or KMS support) for underserved PCI / AGP graphics devices. That project has stalled for now pending the validation of TTM memory allocator code. It will resume once the code is proven. Things are pretty much going along the lines described in my XDC 2017 OpenChrome Project presentation, except the schedule.