[PATCH v3 3/7] drm/ivpu: Add GEM buffer object management

Jacek Lawrynowicz jacek.lawrynowicz at linux.intel.com
Wed Oct 26 11:26:12 UTC 2022


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


More information about the dri-devel mailing list