Re: [RFC][PATCH 05/15] videobuf2: handle V4L2_FLAG_MEMORY_NON_CONSISTENT in REQBUFS

From: Hans Verkuil
Date: Tue Jan 28 2020 - 03:38:35 EST


On 1/28/20 5:45 AM, Tomasz Figa wrote:
> On Thu, Jan 23, 2020 at 8:08 PM Hans Verkuil <hverkuil@xxxxxxxxx> wrote:
>>
>> On 1/22/20 4:48 AM, Sergey Senozhatsky wrote:
>>> On (20/01/22 11:18), Sergey Senozhatsky wrote:
>>> [..]
>>>>>> + * -
>>>>>> + - __u32
>>>>>> - ``reserved``\ [1]
>>>>>> - A place holder for future extensions. Drivers and applications
>>>>>> - must set the array to zero.
>>>>>> + must set the array to zero, unless application wants to specify
>>>>>> + buffer management ``flags``.
>>>>>
>>>>> I think support for this flag should be signaled as a V4L2_BUF_CAP capability.
>>>>> If the capability is not set, then vb2 should set 'flags' to 0 to preserve the
>>>>> old 'Drivers and applications must set the array to zero' behavior.
>>>>
>>>> The patch set adds V4L2_BUF_CAP_SUPPORTS_CACHE_HINTS towards the end of the
>>>> series, I guess I can shuffle the patches and change the wording here.
>>>
>>> Or I can add separate queue flag and V4L2_BUF_CAP:
>>>
>>> struct vb2_queue {
>>> ...
>>> allow_cache_hints:1
>>> + allow_consistency_hints:1
>>> ...
>>> }
>>>
>>> and then have CAP_SUPPORTS_CACHE_HINTS/CAP_SUPPORTS_CONSISTENCY_HINTS.
>>
>> Don't these two go hand-in-hand? I.e. either neither are supported, or
>> both are supported? If so, then one queue flag is sufficient.
>
> Cache sync hints are already part of the standard UAPI, so I think
> there isn't any capability bit needed for them.

These hints may exist, but they never worked. So I think a capability would
be very useful.

That said, they aren't
> really tied to non-consistent MMAP buffers. Userspace using USERPTR
> can also use them.

OK, two separate capability bits is fine.

Regards,

Hans

>
> MMAP buffer consistency hint deserves a capability bit indeed.
>
> Best regards,
> Tomasz
>