Hi, On 10/25/2022 2:41 PM, Thomas Zimmermann wrote: > Hi > > Am 24.09.22 um 17:11 schrieb Jacek Lawrynowicz: >> Adds four types of GEM-based BOs for the VPU: >> - shmem >> - userptr >> - internal >> - prime >> >> All types are implemented as struct ivpu_bo, based on >> struct drm_gem_object. VPU address is allocated when buffer is created >> except for imported prime buffers that allocate it in BO_INFO IOCTL due >> to missing file_priv arg in gem_prime_import callback. >> Internal buffers are pinned on creation, the rest of buffers types >> can be pinned on demand (in SUBMIT IOCTL). >> Buffer VPU address, allocated pages and mappings are relased when the >> buffer is destroyed. >> Eviction mechism is planned for future versions. >> >> Add three new IOCTLs: BO_CREATE, BO_INFO, BO_USERPTR > > I feels like TTM already does all you need. (?) Why not build upon TTM? Would TTM make sense for a device without dedicated memory? It looks like struct drm_gem_shmem_object could be a better fit for us but it doesn't support userptr or internal buffers. Regards, Jacek