[PATCH v2 00/18] drm/ttm: make ttm bo a gem bo subclass

Thomas Hellström (VMware) thomas at shipmail.org
Fri Jun 21 15:12:19 UTC 2019



On 6/21/19 1:57 PM, Gerd Hoffmann wrote:

Aargh. Please don't do this. Multiple reasons:

1) I think It's bad to dump all buffer object functionality we can 
possibly think of in a single struct and force that on all (well at 
least most) users. It's better to isolate functionality in structs, have 
utility functions for those and let the drivers derive their buffer 
objects from whatever functionality they actually need.
2) vmwgfx is not using gem and we don't want to carry that extra payload 
in the buffer object.
3) TTM historically hasn't been using the various drm layers except for 
later when common helpers have been used, (like the vma manager and the 
cache utilities). It's desirable to keep that layer distinction. (which 
is really what I'm saying in 1.)

Now if more and more functionality that originated in TTM is moving into 
GEM we need to find a better way to do that without duplicating 
functionality. I suggest adding pointers in the TTM structs and 
defaulting those pointers to the member in the TTM struct. Optionally to 
to the member in the GEM struct. If we need to migrate those members out 
of the TTM struct, vmwgfx would have to provide them in its own buffer 
class.

NAK from the vmwgfx side.

Thanks,
Thoams




More information about the dri-devel mailing list