Back in February, I discussed about completely rewriting OpenChrome DRM’s GEM / TTM code here. The original motivation for this activity was to see if the GEM / TTM code developed by the previous developer was the cause of runtime screen resolution X Server crash I was observing. While I did not discuss the matter in detail, I did manage to rewrite GEM / TTM code back in February, but after testing the code, the runtime screen resolution crash was still occurring, so I pulled the plug developing this code further, concluding that it was not really necessary. That being said, it allowed me to look into other possible causes, and solved the matter in early March.
As discussed here, the SSD I was using (ADATA Ultimate SU800 SSD) died a few months ago, and took away the code I spent a few weeks writing . . . Since then, I decided to expand into developing a new r128 DRM with KMS support, and I now have more reasons to get this GEM / TTM code developed so that the new r128 DRM can reuse the code. I do not want the new r128 DRM project to become another vaporware project (meaning, I am going to finish it unlike other Linux graphics developers who tried, but failed to finish several KMS supporting DRM projects in the early Year 2010s), and having some proven code reused helps with the r128 DRM development.
Actually, there are two other reasons why I will like to implement my own implementation of GEM / TTM code. First is, DRM maintainer wants OpenChrome DRM to remove unfinished acceleration code before the code goes into the mainline tree. The way I look at this request is that it is an opportunity to remove unmaintainable GEM / TTM code written by the previous developer, and replace it with my own implementation. Second is, I have observed freezes on VX900 chipset. This happened when changing the screen resolution during runtime. Yes, this issue was remedied back in March 2018, but apparently, it is a different bug from the one fixed in March 2018. This new bug was discovered only recently. It involves a crash with TTM. Hence, the impetus the replace the existing GEM / TTM code.
This time around, the new GEM / TTM code is safely inside the trustworthy SanDisk Extreme 64 GB USB 3.0 flash storage stick. It will stay inside there until it is ready to replace the existing code.