1*4882a593SmuzhiyunTODO 2*4882a593Smuzhiyun. Where should we do eviction (detatch_pages())? We aren't necessarily 3*4882a593Smuzhiyun accessing the pages via a GART, so maybe we need some other threshold 4*4882a593Smuzhiyun to put a cap on the # of pages that can be pin'd. 5*4882a593Smuzhiyun . Use mm_shrinker to trigger unpinning pages. 6*4882a593Smuzhiyun . This is mainly theoretical since most of these devices don't actually 7*4882a593Smuzhiyun have swap or harddrive. 8*4882a593Smuzhiyun. GEM/shmem backed pages can have existing mappings (kernel linear map, 9*4882a593Smuzhiyun etc..), which isn't really ideal. 10*4882a593Smuzhiyun. Revisit GEM sync object infrastructure.. TTM has some framework for this 11*4882a593Smuzhiyun already. Possibly this could be refactored out and made more common? 12*4882a593Smuzhiyun There should be some way to do this with less wheel-reinvention. 13*4882a593Smuzhiyun . This can be handled by the dma-buf fence/reservation stuff when it 14*4882a593Smuzhiyun lands 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunUserspace: 17*4882a593Smuzhiyun. git://anongit.freedesktop.org/xorg/driver/xf86-video-omap 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunCurrently tested on 20*4882a593Smuzhiyun. OMAP3530 beagleboard 21*4882a593Smuzhiyun. OMAP4430 pandaboard 22*4882a593Smuzhiyun. OMAP4460 pandaboard 23*4882a593Smuzhiyun. OMAP5432 uEVM 24