I started pulling on a thread, and it led me down a hole. This series refactors the ttm ttm_mem_type_manager object into a driver owned, allocated, subclassaed object. It starts with two minor fixes for some bad assumptions in two drivers. Enables a new init path, ports all the drivers to the new init path, and cleans up the old init path. Enables a new takedown path, ports all the drivers to the new takedown path, and cleans up the old takedown path Wraps all access to the memory managers in the bo_device in a wrapper across all drivers. Make debug callback optional Enables driver to provide their own mem manager objects Subclasses the objects in all drivers and makes them into driver owned object Drops the bo_device arrays of pointers, and some unneeded links and struct members Cleans up one api. I think I'd probably want to merge all this via drm-misc, so if I can collect acks/r-b from driver maintainers that would be good. This is also based on Chrisitan's work to remove init_mem_type, so it won't apply until he's finished getting all of that into drm-misc. https://cgit.freedesktop.org/~airlied/linux/log/?h=ttm-refactor-mem-manager is the tree I've built this on top off, so it's probably going to get rebased but the code should stay mostly the same. I've done some boot testing on nouveau, and I hope to test it on vmwgfx and amdgpu soon. Dave. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel