From: Gustavo Padovan
Turn sync_fence_info into __u64 type enable us to extend the struct in the
future without breaking the ABI.
v2: use type __u64 for fence_info
v3: fix commit message to reflect the v2 change
Signed-off-by: Gustavo Padovan
---
drivers/staging/android/sync.c | 2
From: Gustavo Padovan
As struct sync_pt doesn't exist anymore it is a good idea remove any
reference to it in the sync_framework. sync_pts were replaced directly by
fences and here we rename it to sync_fence_info to let the fence namespace
clean.
v2: rename fence_info to sync_fence
Hi Maarten,
2016-02-03 Maarten Lankhorst :
> Op 03-02-16 om 14:25 schreef Gustavo Padovan:
> > From: Gustavo Padovan
> >
> > Turn sync_fence_info into __u64 type enable us to extend the struct in the
> > future without breaking the ABI.
> >
> > v2: use ty
2016-02-04 Maarten Lankhorst :
> Op 03-02-16 om 21:09 schreef Gustavo Padovan:
> > Hi Maarten,
> >
> > 2016-02-03 Maarten Lankhorst :
> >
> >> Op 03-02-16 om 14:25 schreef Gustavo Padovan:
> >>> From: Gustavo Padovan
> >>>
> >>
Hi Philipp,
2017-04-03 Philipp Zabel :
> Hi Gustavo,
>
> On Mon, 2017-03-13 at 16:20 -0300, Gustavo Padovan wrote:
> > From: Gustavo Padovan
> >
> > Turn the reserved2 field into fence_fd that we will use to send
> > an in-fence to the kernel retur
2017-04-03 Javier Martinez Canillas :
> Hello Mauro and Gustavo,
>
> On 04/03/2017 07:16 AM, Mauro Carvalho Chehab wrote:
> > Hi Gustavo,
> >
> > Em Mon, 13 Mar 2017 16:20:25 -0300
> > Gustavo Padovan escreveu:
> >
> >> From: Gustavo Padovan
&
Hi Sakari,
2017-04-04 Sakari Ailus :
> Hi Gustavo,
>
> Thank you for the patchset. Please see my comments below.
>
> On Mon, Mar 13, 2017 at 04:20:25PM -0300, Gustavo Padovan wrote:
> > From: Gustavo Padovan
> >
> > Hi,
> >
> > This RFC adds s
Hi Javier,
2017-04-05 Javier Martinez Canillas :
> Hello Gustavo,
>
> On 04/05/2017 11:09 AM, Gustavo Padovan wrote:
> > 2017-04-03 Javier Martinez Canillas :
> >
> >> Hello Mauro and Gustavo,
> >>
> >> On 04/03/2017 07:16 AM, Mauro Carvalho Ch
like this. I'm not
a V4L2 expert, so I don't know all the consequences of such a change.
Any other ideas?
The current patchset is at:
https://git.kernel.org/pub/scm/linux/kernel/git/padovan/linux.git/log/?h=v4l2-fences
Regards,
Gustavo
2017-03-13 Gustavo Padovan :
> From: Gustav
Hi Mauro,
2017-05-18 Mauro Carvalho Chehab :
> Each text file under Documentation follows a different
> format. Some doesn't even have titles!
>
> Change its representation to follow the adopted standard,
> using ReST markups for it to be parseable by Sphinx:
> - Use markup for document title an
From: Gustavo Padovan
Hi,
After the comments received in the last patchset[1] and
during the media summit [2] here is the new and improved version
of the patchset. The implementation is simpler, smaller and cover
a lot more cases.
If you look to the last patchset I got rid of a few things
From: Gustavo Padovan
ordered_in_driver is used to optimize the use of explicit synchronization
when the driver guarantees ordering we can use the same fence context for
out-fences. In this case userspace will know that the buffers won't be
signaling out of order. vivid queues are al
From: Gustavo Padovan
We use ordered_in_driver property to optimize for the case where
the driver can deliver the buffers in an ordered fashion. When it
is ordered we can use the same fence context for all fences, but
when it is not we need to a new context for each out-fence.
So the
From: Gustavo Padovan
Turn the reserved2 field into fence_fd that we will use to send
an in-fence to the kernel and return an out-fence from the kernel to
userspace.
Two new flags were added, V4L2_BUF_FLAG_IN_FENCE, that should be used
when sending a fence to the kernel to be waited on, and
From: Gustavo Padovan
To support explicit synchronization we need to run all operations that can
fail before we queue the buffer to the driver. With fences the queueing
will be delayed if the fence is not signaled yet and it will be better if
such callback do not fail.
For that we move the
From: Gustavo Padovan
vivid guarantees the ordering of buffer when processing then, so add the
V4L2_CAP_ORDERED capability to inform userspace of that.
Signed-off-by: Gustavo Padovan
---
drivers/media/platform/vivid/vivid-core.c | 19 ---
1 file changed, 12 insertions(+), 7
From: Gustavo Padovan
When using explicit synchronization userspace needs to know if
the queue can deliver everything back in the same order, so we added
a new capability that drivers can use to report that they are capable
of keeping ordering.
In videobuf2 core when using fences we also make
From: Gustavo Padovan
If V4L2_BUF_FLAG_OUT_FENCE flag is present on the QBUF call we create
an out_fence and send its fd to userspace on the fence_fd field as a
return arg for the QBUF call.
The fence is signaled on buffer_done(), when the job on the buffer is
finished.
With out-fences we do
From: Gustavo Padovan
Add section to VIDIOC_QBUF about it
v4:
- Document ordering behavior for in-fences
- Document V4L2_CAP_ORDERED capability
- Remove doc about OUT_FENCE event
- Document immediate return of out-fence in QBUF
v3:
- make the out_fence
From: Gustavo Padovan
Add vb2_setup_out_fence() and the needed members to struct vb2_buffer.
v3:
- Do not hold yet another ref to the out_fence (Brian Starkey)
v2: - change it to reflect fd_install at DQEVENT
- add fence context for out-fences
Signed-off-by: Gustavo
From: Javier Martinez Canillas
Add a videobuf2-fence.h header file that contains different helpers
for DMA buffer sharing explicit fence support in videobuf2.
v2: - use fence context provided by the caller in vb2_fence_alloc()
Signed-off-by: Javier Martinez Canillas
Signed-off-by: Gustavo
From: Gustavo Padovan
Receive in-fence from userspace and add support for waiting on them
before queueing the buffer to the driver. Buffers can't be queued to the
driver before its fences signal. And a buffer can't be queue to the driver
out of the order they were queued from users
t; 5 files changed, 93 insertions(+), 80 deletions(-)
Reviewed-by: Gustavo Padovan
Gustavo
> 1 file changed, 3 insertions(+)
Reviewed-by: Gustavo Padovan
Gustavo
2017-11-17 Alexandre Courbot :
> On Thursday, November 16, 2017 2:10:49 AM JST, Gustavo Padovan wrote:
> > From: Gustavo Padovan
> >
> > We use ordered_in_driver property to optimize for the case where
> > the driver can deliver the buffers in an ordered fashion. Wh
2017-11-17 Alexandre Courbot :
> On Friday, November 17, 2017 4:02:56 PM JST, Alexandre Courbot wrote:
> > On Thursday, November 16, 2017 2:10:54 AM JST, Gustavo Padovan wrote:
> > > From: Javier Martinez Canillas
> > >
> > > Add a videobuf2-fence.h header
2017-11-17 Alexandre Courbot :
> On Thursday, November 16, 2017 2:10:55 AM JST, Gustavo Padovan wrote:
> > From: Gustavo Padovan
> >
> > Add vb2_setup_out_fence() and the needed members to struct vb2_buffer.
> >
> > v3:
> > - Do not hold yet anot
2017-11-17 Alexandre Courbot :
> On Thursday, November 16, 2017 2:10:56 AM JST, Gustavo Padovan wrote:
> > From: Gustavo Padovan
> >
> > If V4L2_BUF_FLAG_OUT_FENCE flag is present on the QBUF call we create
> > an out_fence and send its fd to userspace on the fence_f
2017-11-17 Mauro Carvalho Chehab :
> Em Wed, 15 Nov 2017 15:10:47 -0200
> Gustavo Padovan escreveu:
>
> > From: Gustavo Padovan
> >
> > When using explicit synchronization userspace needs to know if
> > the queue can deliver everything back in the same order,
Hi Mauro,
2017-11-17 Mauro Carvalho Chehab :
> Em Wed, 15 Nov 2017 15:10:49 -0200
> Gustavo Padovan escreveu:
>
> > From: Gustavo Padovan
> >
> > We use ordered_in_driver property to optimize for the case where
> > the driver can deliver the buffers in a
2017-11-17 Alexandre Courbot :
> Hi Gustavo,
>
> I am coming a bit late in this series' review, so apologies if some of my
> comments have already have been discussed in an earlier revision.
>
> On Thursday, November 16, 2017 2:10:53 AM JST, Gustavo Padovan wrote:
&g
2017-11-17 Mauro Carvalho Chehab :
> Em Fri, 17 Nov 2017 15:49:23 +0900
> Alexandre Courbot escreveu:
>
> > > @@ -178,6 +179,12 @@ static int vb2_queue_or_prepare_buf(struct
> > > vb2_queue *q, struct v4l2_buffer *b,
> > > return -EINVAL;
> > > }
> > >
> > > + if ((b->fence_fd !=
2017-11-17 Mauro Carvalho Chehab :
> Em Wed, 15 Nov 2017 15:10:53 -0200
> Gustavo Padovan escreveu:
>
> > From: Gustavo Padovan
> >
> > Receive in-fence from userspace and add support for waiting on them
> > before queueing the buffer to the driver. Buffers
2017-12-21 Mauro Carvalho Chehab :
> Em Mon, 11 Dec 2017 16:27:35 -0200
> Gustavo Padovan escreveu:
>
> > From: Gustavo Padovan
> >
> > Hi,
> >
> > One more iteration of the explicit fences patches, please refer
> > to the previous version[1] for
2017-12-21 Mauro Carvalho Chehab :
> Em Mon, 11 Dec 2017 16:27:36 -0200
> Gustavo Padovan escreveu:
>
> > From: Gustavo Padovan
> >
> > Explicit synchronization benefits a lot from ordered queues, they fit
> > better in a pipeline with DRM for example so cr
2017-12-21 Mauro Carvalho Chehab :
> Em Mon, 11 Dec 2017 16:27:38 -0200
> Gustavo Padovan escreveu:
>
> > From: Gustavo Padovan
> >
> > Turn the reserved2 field into fence_fd that we will use to send
> > an in-fence to the kernel and return an out-fence
2017-12-21 Mauro Carvalho Chehab :
> Em Mon, 11 Dec 2017 16:27:39 -0200
> Gustavo Padovan escreveu:
>
> > From: Gustavo Padovan
> >
> > Receive in-fence from userspace and add support for waiting on them
> > before queueing the buffer to the driver. Buffers
Hi Alex,
2017-12-15 Alexandre Courbot :
> Set the necessary ops for supporting requests in vim2m.
>
> Signed-off-by: Alexandre Courbot
> ---
> drivers/media/platform/vim2m.c | 22 ++
> 1 file changed, 22 insertions(+)
>
> diff --git a/drivers/media/platform/vim2m.c b/drive
2017-09-11 Hans Verkuil :
> On 09/11/2017 12:50 PM, Hans Verkuil wrote:
> > On 09/07/2017 08:42 PM, Gustavo Padovan wrote:
> >> From: Gustavo Padovan
> >>
> >> Add section to VIDIOC_QBUF about it
> >>
> >> v2:
> >>- mentio
2017-09-11 Hans Verkuil :
> On 09/11/2017 03:18 PM, Gustavo Padovan wrote:
> > 2017-09-11 Hans Verkuil :
> >
> >> On 09/11/2017 12:50 PM, Hans Verkuil wrote:
> >>> On 09/07/2017 08:42 PM, Gustavo Padovan wrote:
> >>>> From: Gustavo Padovan
From: Gustavo Padovan
Add section to VIDIOC_QBUF about it
v2:
- mention that fences are files (Hans)
- rework for the new API
Signed-off-by: Gustavo Padovan
---
Documentation/media/uapi/v4l/vidioc-qbuf.rst | 31
1 file changed, 31 insertions
From: Gustavo Padovan
Hi,
Refer to the documentation on the first patch for the details. The previous
iteration is here:
https://www.mail-archive.com/linux-media@vger.kernel.org/msg118077.html
The 2nd patch proposes an userspace API for fences, then on patch 3 we
prepare to the addition of in
From: Gustavo Padovan
Instead of assigning the global v4l2 device, assign the specific device.
This was causing trouble when using using V4L2 events with vivid
devices. The device's queue should be the same we opened in userspace.
This is needed for the upcoming V4L2_EVENT_BUF_QUEUED su
From: Gustavo Padovan
For explicit synchronization (and soon for HAL3/Request API) we need
the v4l2-driver to guarantee the ordering in which the buffers were queued
by userspace. This is already true for many drivers, but we never needed
to say it.
Signed-off-by: Gustavo Padovan
---
include
From: Gustavo Padovan
If V4L2_BUF_FLAG_OUT_FENCE flag is present on the QBUF call we create
an out_fence and sent to userspace on the V4L2_EVENT_BUF_QUEUED when
the buffer is queued to the driver.
The out fence fd returned references the next buffer to be queued to the
driver and not the buffer
From: Gustavo Padovan
Turn the reserved2 field into fence_fd that we will use to send
an in-fence to the kernel and return an out-fence from the kernel to
userspace.
Two new flags were added, V4L2_BUF_FLAG_IN_FENCE, that should be used
when sending a fence to the kernel to be waited on, and
From: Gustavo Padovan
Receive in-fence from userspace and add support for waiting on them
before queueing the buffer to the driver. Buffers are only queued
to the driver once they are ready. A buffer is ready when its
in-fence signals.
v4:
- Add a comment about dma_fence_add_callback
From: Gustavo Padovan
Rename __close_fd() to close_fd() and export it to be able close files
in modules using file descriptors.
The usecase that motivates this change happens in V4L2 where we send
events to userspace with a fd that has file installed in it. But if for
some reason we have to
From: Gustavo Padovan
With the upcoming explicit synchronization support to V4L2 we need a
way to notify userspace when buffers are queued to the driver - buffers
with fences attached to it can only be queued once the fence signal, so
the queueing to the driver might be deferred.
Yet, userspace
From: Javier Martinez Canillas
Add a videobuf2-fence.h header file that contains different helpers
for DMA buffer sharing explicit fence support in videobuf2.
Signed-off-by: Javier Martinez Canillas
Signed-off-by: Gustavo Padovan
---
include/media/videobuf2-fence.h | 49
From: Gustavo Padovan
Add vb2_setup_out_fence() and the needed members to struct vb2_buffer.
Signed-off-by: Gustavo Padovan
---
drivers/media/v4l2-core/videobuf2-core.c | 55
include/media/videobuf2-core.h | 34
2 files changed
From: Gustavo Padovan
To enable vivid to be used with explicit synchronization we need
to mark its queues as ordered. vivid queues are already ordered by
default so we no changes are needed.
Signed-off-by: Gustavo Padovan
Acked-by: Hans Verkuil
---
drivers/media/platform/vivid/vivid-core.c
From: Gustavo Padovan
Implement the needed pieces to let userspace subscribe for
V4L2_EVENT_BUF_QUEUED events. Videobuf2 will queue the event for the
DQEVENT ioctl.
v3: - Do not call v4l2 event API from vb2 (Mauro)
v2: - Use VIDEO_MAX_FRAME to allocate room for events at
From: Gustavo Padovan
Add a new event the userspace can subscribe to receive notifications
when a buffer is queued onto the driver. The event provides the index of
the queued buffer.
v2: - Add missing Documentation (Mauro)
Signed-off-by: Gustavo Padovan
---
Documentation/media/uapi/v4l
From: Gustavo Padovan
Call v4l2_ctrl_subscribe_event to subscribe to the BUF_QUEUED event as
well.
Signed-off-by: Gustavo Padovan
---
drivers/media/usb/uvc/uvc_v4l2.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc
From: Gustavo Padovan
To support explicit synchronization we need to run all operations that can
fail before we queue the buffer to the driver. With fences the queueing
will be delayed if the fence is not signaled yet and it will be better if
such callback do not fail.
For that we move the
2017-09-07 Al Viro :
> On Thu, Sep 07, 2017 at 03:42:25PM -0300, Gustavo Padovan wrote:
> > From: Gustavo Padovan
> >
> > Rename __close_fd() to close_fd() and export it to be able close files
> > in modules using file descriptors.
> >
> > The usecase tha
On Fri, 2017-09-08 at 00:09 +0200, Hans Verkuil wrote:
> On 09/07/2017 08:42 PM, Gustavo Padovan wrote:
> > From: Gustavo Padovan
> >
> > Rename __close_fd() to close_fd() and export it to be able close
> > files
> > in modules using file descriptors.
> &g
e Coccinelle software.
>
> Signed-off-by: Markus Elfring
> ---
> drivers/dma-buf/dma-buf.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
Reviewed-by: Gustavo Padovan
Gustavo
safer according to the Linux coding style convention.
>
> Signed-off-by: Markus Elfring
> ---
> drivers/dma-buf/dma-buf.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Gustavo Padovan
Gustavo
pression.
>
> Signed-off-by: Markus Elfring
> ---
> drivers/dma-buf/dma-buf.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Gustavo Padovan
Gustavo
issue was detected by using the Coccinelle software.
>
> Signed-off-by: Markus Elfring
> ---
> drivers/dma-buf/sync_debug.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
Reviewed-by: Gustavo Padovan
Gustavo
int main(void)
> {
> int err = 0;
>
> + if (!sync_api_supported()) {
> + printf("SKIP: Sync framework not supported by kernel\n");
> + return 0;
> + }
> +
> printf("[RUN]\tTesting sync framework\n");
>
> err += RUN_TEST(test_alloc_timeline);
>
Reviewed-by: Gustavo Padovan
--
Gustavo Padovan
Collabora Ltd.
Hi Brian,
On Mon, 2017-10-02 at 14:41 +0100, Brian Starkey wrote:
> Hi Gustavo,
>
> On Thu, Sep 07, 2017 at 03:42:11PM -0300, Gustavo Padovan wrote:
> > From: Gustavo Padovan
> >
> > Hi,
> >
> > Refer to the documentation on the first patch for the det
On Mon, 2017-10-02 at 14:42 +0100, Brian Starkey wrote:
> Hi,
>
> On Thu, Sep 07, 2017 at 03:42:13PM -0300, Gustavo Padovan wrote:
> > From: Gustavo Padovan
> >
> > Turn the reserved2 field into fence_fd that we will use to send
> > an in-fence to the kernel
On Mon, 2017-10-02 at 14:43 +0100, Brian Starkey wrote:
> Hi,
>
> On Thu, Sep 07, 2017 at 03:42:21PM -0300, Gustavo Padovan wrote:
> > From: Gustavo Padovan
> >
> > For explicit synchronization (and soon for HAL3/Request API) we
> > need
> > the v4l2-dr
Hi Mauro,
2017-06-08 Mauro Carvalho Chehab :
> Hi Gustavo,
>
> Em Wed, 24 May 2017 21:31:01 -0300
> Gustavo Padovan escreveu:
>
> > Hi all,
> >
> > I've been working on the v2 of this series, but I think I hit a blocker
> > when trying to cover t
2017-06-08 Shuah Khan :
> Hi Gustavo,
>
> On Thu, Jun 8, 2017 at 2:17 PM, Mauro Carvalho Chehab
> wrote:
> > Hi Gustavo,
> >
> > Em Wed, 24 May 2017 21:31:01 -0300
> > Gustavo Padovan escreveu:
> >
> >> Hi all,
> >>
> >> I&
_test.c | 71 +-
> --
> tools/testing/selftests/sync/synctest.h | 3 +-
> 3 files changed, 58 insertions(+), 26 deletions(-)
All looks good to me, so for the 3 patches:
Reviewed-by: Gustavo Padovan
Gustavo
--
Gustavo Padovan
Collabora Ltd.
From: Gustavo Padovan
Hi,
I renamed this back to RFC as many things are still under
discussion/open but it integrates all comments received on the
previous round[1].
My main goal now is to fit as many use cases as possible into this
Explicit Synchronization implementation, but first I'd
From: Gustavo Padovan
Driver that implement their own .vidioc_subscribe_event function should
be using v4l2_subscribe_event_v4l2() instead of
v4l2_ctrl_subscribe_event().
Signed-off-by: Gustavo Padovan
---
drivers/media/pci/cobalt/cobalt-v4l2.c | 2 +-
drivers/media/pci/ivtv/ivtv
From: Gustavo Padovan
With the upcoming explicit synchronization support to V4L2 we need a
way to notify userspace of the out_fence_fd when buffers are queued to the
driver - buffers with in-fences attached to it can only be queued once the
fence signal, so the queueing to the driver might be
From: Gustavo Padovan
Add a new event the userspace can subscribe to receive notifications
of the out_fence_fd when a buffer is queued onto the driver.
The event provides the index of the queued buffer and the out_fence_fd.
v3: - Rename event to V4L2_EVENT_OUT_FENCE
v2: - Add missing
From: Gustavo Padovan
To enable vivid to be used with explicit synchronization we need
to mark its queues as ordered. vivid queues are already ordered by
default so we no changes are needed.
v2: rename 'ordered' to 'ordered_in_driver' to avoid confusion.
Signed-off-by: Gu
From: Gustavo Padovan
For explicit synchronization (and soon for HAL3/Request API) we need
the v4l2-driver to guarantee the ordering in which the buffers were queued
by userspace. This is already true for many drivers, but we never needed
to say it.
v2: rename property to 'ordered_in_drive
From: Gustavo Padovan
Add section to VIDIOC_QBUF about it
v3:
- make the out_fence refer to the current buffer (Hans)
- Note what happens when the IN_FENCE is not set (Hans)
v2:
- mention that fences are files (Hans)
- rework for the new API
Signed-off-by
From: Gustavo Padovan
Add vb2_setup_out_fence() and the needed members to struct vb2_buffer.
v2: - change it to reflect fd_install at DQEVENT
- add fence context for out-fences
Signed-off-by: Gustavo Padovan
---
drivers/media/v4l2-core/videobuf2-core.c | 31
From: Gustavo Padovan
If V4L2_BUF_FLAG_OUT_FENCE flag is present on the QBUF call we create
an out_fence and send to userspace on the V4L2_EVENT_OUT_FENCE when
the buffer is queued to the driver, or right away if the queue is ordered
both in VB2 and in the driver.
The fence is signaled on
From: Gustavo Padovan
Receive in-fence from userspace and add support for waiting on them
before queueing the buffer to the driver. Buffers are only queued
to the driver once they are ready. A buffer is ready when its
in-fence signals.
For queues that require vb2 to queue buffers to the v4l2
From: Javier Martinez Canillas
Add a videobuf2-fence.h header file that contains different helpers
for DMA buffer sharing explicit fence support in videobuf2.
v2: - use fence context provided by the caller in vb2_fence_alloc()
Signed-off-by: Javier Martinez Canillas
Signed-off-by: Gustavo
From: Gustavo Padovan
To support explicit synchronization we need to run all operations that can
fail before we queue the buffer to the driver. With fences the queueing
will be delayed if the fence is not signaled yet and it will be better if
such callback do not fail.
For that we move the
From: Gustavo Padovan
Turn the reserved2 field into fence_fd that we will use to send
an in-fence to the kernel and return an out-fence from the kernel to
userspace.
Two new flags were added, V4L2_BUF_FLAG_IN_FENCE, that should be used
when sending a fence to the kernel to be waited on, and
From: Gustavo Padovan
By setting this member on vb2_queue the driver tell vb2 core that
it requires the buffers queued in QBUF to be queued with same order to the
driver.
Signed-off-by: Gustavo Padovan
---
include/media/videobuf2-core.h | 4
1 file changed, 4 insertions(+)
diff --git a
From: Gustavo Padovan
Instead of assigning the global v4l2 device, assign the specific device.
This was causing trouble when using V4L2 events with vivid devices.
The device's queue should be the same we opened in userspace.
This is needed for the upcoming V4L2_EVENT_OUT_FENCE support
From: Gustavo Padovan
We need a common function to subscribe all the common events in drivers,
so far we had only V4L2_EVENT_CTRL, so such a function wasn't necessary,
but we are about to introduce a new event for the upcoming explicit fences
implementation, thus a common place is n
From: Gustavo Padovan
For some type of events we may require the event user in the
kernel to run some operation when DQ_EVENT() is called.
V4L2_EVENT_OUT_FENCE is the first user of this mechanism as it needs
to call v4l2 core back to install a file descriptor.
This is WIP, I believe we are able
From: Gustavo Padovan
In all places that we were calling v4l2_ctrl_subscribe event() we now call
v4l2_subscribe_event_v4l2() that embed v4l2_ctrl_subscribe event() and can
be expanded to support more events.
Signed-off-by: Gustavo Padovan
---
drivers/media/common/saa7146/saa7146_video.c
2017-10-16 Hans Verkuil :
> Hi Alexandre,
>
> Thank you very much for working on this. Much appreciated!
>
> I only did a very high-level review of the patch series: there is not much
> point IMHO of doing a detailed review given the upcoming discussions in
> Prague. It's better to wait until we
2017-10-25 Brian Starkey :
> Hi Gustavo,
>
> On Fri, Oct 20, 2017 at 07:50:08PM -0200, Gustavo Padovan wrote:
> > From: Gustavo Padovan
> >
> > Receive in-fence from userspace and add support for waiting on them
> > before queueing the buffer to the driver. B
2017-11-17 Mauro Carvalho Chehab :
> Em Fri, 17 Nov 2017 11:12:48 -0200
> Gustavo Padovan escreveu:
>
> > > > /*
> > > > * If streamon has been called, and we haven't yet called
> > > > * start_streaming() since not eno
2017-11-17 Hans Verkuil :
> On 15/11/17 18:10, Gustavo Padovan wrote:
> > From: Gustavo Padovan
> >
> > Receive in-fence from userspace and add support for waiting on them
> > before queueing the buffer to the driver. Buffers can't be queued to the
> >
2017-11-17 Gustavo Padovan :
> 2017-11-17 Hans Verkuil :
>
> > On 15/11/17 18:10, Gustavo Padovan wrote:
> > > From: Gustavo Padovan
> > >
> > > Receive in-fence from userspace and add support for waiting on them
> > > before queueing the buff
Hi Smitha,
2017-11-20 Smitha T Murthy :
> Hi Gustavo,
>
> I am currently referring to your implementation for explicit
> synchronisation. For the same I needed your testapp, but I am unable
> to download the same at the link provided
> “https://gitlab.collabora.com/padovan/v4l2-fences-test”
>
>
From: Gustavo Padovan
Hi,
One more iteration of the explicit fences patches, please refer
to the previous version[1] for more details about the general
mechanism
This version makes the patchset and the implementation much more
simple, to start we are not using a ordered capability anymore,
but
From: Gustavo Padovan
For explicit synchronization it important for userspace to know if the
format being used by the driver can deliver the buffers back to userspace
in the same order they were queued with QBUF.
Ordered streams fits nicely in a pipeline with DRM for example, where
ordered
From: Gustavo Padovan
Receive in-fence from userspace and add support for waiting on them
before queueing the buffer to the driver. Buffers can't be queued to the
driver before its fences signal. And a buffer can't be queue to the driver
out of the order they were queued from users
From: Gustavo Padovan
Add section to VIDIOC_QBUF about it
v5:
- Remove V4L2_CAP_ORDERED
- Add doc about V4L2_FMT_FLAG_UNORDERED
v4:
- Document ordering behavior for in-fences
- Document V4L2_CAP_ORDERED capability
- Remove doc about OUT_FENCE event
From: Gustavo Padovan
If V4L2_BUF_FLAG_OUT_FENCE flag is present on the QBUF call we create
an out_fence and send its fd to userspace on the fence_fd field as a
return arg for the QBUF call.
The fence is signaled on buffer_done(), when the job on the buffer is
finished.
v7:
- merge
From: Gustavo Padovan
Turn the reserved2 field into fence_fd that we will use to send
an in-fence to the kernel and return an out-fence from the kernel to
userspace.
Two new flags were added, V4L2_BUF_FLAG_IN_FENCE, that should be used
when sending a fence to the kernel to be waited on, and
From: Gustavo Padovan
Explicit synchronization benefits a lot from ordered queues, they fit
better in a pipeline with DRM for example so create a opt-in way for
drivers notify videobuf2 that the queue is unordered.
Drivers don't need implement it if the queue is ordered.
Signed-off-by: Gu
701 - 800 of 818 matches
Mail list logo