> > > > > > My requirement: > > 1. support non-contiguous memory allocation as GPU buffer > > 2. support contiguous memory allocation too for exporting to some > > display DRM driver as framebuffer > > btw, I think etnaviv deals w/ contiguous scanout buffer by just > importing the scanout buffer from the other display drm driver. So I > think you could avoid having to allocate these buffers. > > Right, after looking at the renderonly lib of imx+etnaviv, it create dumb buffer at display DRM and export to etnaviv. With this method, seems lima just need to support non-contiguous memory allocation.
Thanks, Qiang > > > 3. no GPU page fault for better performance and avoid multi MMU > > page fault handling, CPU page fault is OK > > 4. better have buffer swap to disk feature when memory is full > > > > Current MM: > > 1. drm_gem_cma_object, only support contiguous memory > > 2. drm_gem_get_pages > > 1) need to combine with cma method for contiguous memory > > 2) when shrink is needed, swap some idle buffer to disk and put > > pages, need implement by myself > > 3) additional shmem layer introduced > > 3. TTM TTM_PL_SYSTEM only > > 1) no contiguous memory support > > 2) too complicated as we don't need other functions of TTM > > 3) need GPU page fault to populate memory? > > 4) no page pool for cached memory > > > > My plan: > > 1. for contiguous memory allocation use dma_alloc_* > > 2. for non-contiguous memory allocation, use a page pool from > > alloc_page > > 3. buffer is not really allocated when GEM_CREATE, but in CPU > > page fault handler and task submit buffer validation which make > > sure no GPU page fault > > 4. in shrinker handler, free un-used page in the pool, if still not > > enough, swap some idle buffer to disk > > > > 3&4 apply to both dma_alloc buffer and alloc_page buffer. > > > > Thanks, > > Qiang > > > > > > _______________________________________________ > > dri-devel mailing list > > dri-devel@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/dri-devel > > >
_______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel