On Tue, 2009-07-28 at 20:55 +0200, Thomas Hellström wrote: > Jerome Glisse skrev: > > On Wed, 2009-07-22 at 10:37 +0200, Thomas Hellström wrote: > > > >> TTM has a device struct per device and an optional global struct that is > >> common for all devices and intended to be per subsystem. > >> > >> The only subsystem currently having a global structure is the memory > >> accounting subsystem: > >> struct ttm_mem_global > >> > > > > Thomas i don't think the way we init ttm_mem_global today make > > it follow the 1 struct ttm_mem_global for everyone. I think it > > should be initialized and refcounted by device struct. > > > > So on first device creation a ttm_mem_global is created and > > then anytime a new device is created the refcount of ttm_mem_global > > is increased. > Jerome, > This is exactly what the current code intends to do. > > Are you seeing something different?
I definitly don't see that :) In radeon we do create a structure which hold the ttm_mem_global struct so it's not shared at all it got inited & destroyed along the driver. This is why i think it's better to remove the driver initialization and let bo_device init path take care of initializing one and only one object which can be shared by multiple driverttm_mem_global_inits. So what i propose is remove mem_glob parameter from : ttm_bo_device_init, add a call to ttm_mem_global_init in ttm_bo_device_init and add some static refcount in ttm_memory.c if refcount = 0 then ttm_mem_global_init create a ttm_mem_global struct and initialize things, if refcount > 0 then it gives back the already initialized ttm_mem_global. Of course we unref with ttm_mem_global_release and destroy once refcount reach 0. Cheers, Jerome ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel