From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Hans Verkuil <hverkuil@xs4all.nl>
Cc: linux-media@vger.kernel.org, pawel@osciak.com,
m.szyprowski@samsung.com, Hans Verkuil <hans.verkuil@cisco.com>
Subject: Re: [RFCv4 PATCH 01/15] videobuf2-core.h: improve documentation
Date: Mon, 27 Oct 2014 02:07:58 +0200 [thread overview]
Message-ID: <2367286.uK648OTWkn@avalon> (raw)
In-Reply-To: <1414063302-26903-2-git-send-email-hverkuil@xs4all.nl>
Hi Hans,
Thank you for the patch.
On Thursday 23 October 2014 13:21:28 Hans Verkuil wrote:
> From: Hans Verkuil <hans.verkuil@cisco.com>
>
> Document that drivers can access/modify the buffer contents in buf_prepare
> and buf_finish. That was not clearly stated before.
>
> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> include/media/videobuf2-core.h | 32 +++++++++++++++++---------------
> 1 file changed, 17 insertions(+), 15 deletions(-)
>
> diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h
> index 6ef2d01..70ace7c 100644
> --- a/include/media/videobuf2-core.h
> +++ b/include/media/videobuf2-core.h
> @@ -270,22 +270,24 @@ struct vb2_buffer {
> * queue setup from completing successfully; optional.
> * @buf_prepare: called every time the buffer is queued from userspace
> * and from the VIDIOC_PREPARE_BUF ioctl; drivers may
> - * perform any initialization required before each hardware
> - * operation in this callback; drivers that support
> - * VIDIOC_CREATE_BUFS must also validate the buffer size;
> - * if an error is returned, the buffer will not be queued
> - * in driver; optional.
> + * perform any initialization required before each
> + * hardware operation in this callback; drivers can
> + * access/modify the buffer here as it is still synced for
> + * the CPU; drivers that support VIDIOC_CREATE_BUFS must
> + * also validate the buffer size; if an error is returned,
> + * the buffer will not be queued in driver; optional.
> * @buf_finish: called before every dequeue of the buffer back to
> - * userspace; drivers may perform any operations required
> - * before userspace accesses the buffer; optional. The
> - * buffer state can be one of the following: DONE and
> - * ERROR occur while streaming is in progress, and the
> - * PREPARED state occurs when the queue has been canceled
> - * and all pending buffers are being returned to their
> - * default DEQUEUED state. Typically you only have to do
> - * something if the state is VB2_BUF_STATE_DONE, since in
> - * all other cases the buffer contents will be ignored
> - * anyway.
> + * userspace; the buffer is synced for the CPU, so drivers
> + * can access/modify the buffer contents; drivers may
> + * perform any operations required before userspace
> + * accesses the buffer; optional. The buffer state can be
> + * one of the following: DONE and ERROR occur while
> + * streaming is in progress, and the PREPARED state occurs
> + * when the queue has been canceled and all pending
> + * buffers are being returned to their default DEQUEUED
> + * state. Typically you only have to do something if the
> + * state is VB2_BUF_STATE_DONE, since in all other cases
> + * the buffer contents will be ignored anyway.
> * @buf_cleanup: called once before the buffer is freed; drivers may
> * perform any additional cleanup; optional.
> * @start_streaming: called once to enter 'streaming' state; the driver
may
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2014-10-27 0:07 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-23 11:21 [RFCv4 PATCH 00/15] vb2: improve dma-sg, expbuf Hans Verkuil
2014-10-23 11:21 ` [RFCv4 PATCH 01/15] videobuf2-core.h: improve documentation Hans Verkuil
2014-10-27 0:07 ` Laurent Pinchart [this message]
2014-10-23 11:21 ` [RFCv4 PATCH 02/15] vb2-dma-sg: add allocation context to dma-sg Hans Verkuil
2014-10-23 11:21 ` [RFCv4 PATCH 03/15] vb2-dma-sg: move dma_(un)map_sg here Hans Verkuil
2014-10-23 11:21 ` [RFCv4 PATCH 04/15] vb2-dma-sg: add dmabuf import support Hans Verkuil
2014-10-23 11:21 ` [RFCv4 PATCH 05/15] vb2-dma-sg: add get_dmabuf Hans Verkuil
2014-10-23 11:21 ` [RFCv4 PATCH 06/15] vb2-vmalloc: add get_dmabuf support Hans Verkuil
2014-10-23 11:21 ` [RFCv4 PATCH 07/15] vb2: replace 'write' by 'dma_dir' Hans Verkuil
2014-10-23 11:21 ` [RFCv4 PATCH 08/15] vivid: enable vb2_expbuf support Hans Verkuil
2014-10-23 11:21 ` [RFCv4 PATCH 09/15] mem2mem_testdev: support expbuf Hans Verkuil
2014-10-23 11:21 ` [RFCv4 PATCH 10/15] vb2: use dma_map_sg_attrs to prevent unnecessary sync Hans Verkuil
2014-10-23 11:21 ` [RFCv4 PATCH 11/15] vb2: add begin/end_cpu_access functions Hans Verkuil
2014-10-23 11:21 ` [RFCv4 PATCH 12/15] videobuf2-dvb.c: convert to vb2_plane_begin_cpu_access() Hans Verkuil
2014-10-23 11:21 ` [RFCv4 PATCH 13/15] v4l: convert vb2_plane_vaddr to vb2_plane_begin_cpu_access Hans Verkuil
2014-10-23 11:21 ` [RFCv4 PATCH 14/15] vb2: drop the unused vb2_plane_vaddr function Hans Verkuil
2014-10-23 11:21 ` [RFCv4 PATCH 15/15] vb2: update the buf_prepare/finish documentation Hans Verkuil
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2367286.uK648OTWkn@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=hans.verkuil@cisco.com \
--cc=hverkuil@xs4all.nl \
--cc=linux-media@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=pawel@osciak.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.