From: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
To: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Sakari Ailus <sakari.ailus@iki.fi>,
Linux Media Mailing List <linux-media@vger.kernel.org>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Pawel Osciak <pawel@osciak.com>,
Sakari Ailus <sakari.ailus@maxwell.research.nokia.com>,
Mauro Carvalho Chehab <mchehab@infradead.org>,
Marek Szyprowski <m.szyprowski@samsung.com>
Subject: Re: [PATCH 2/9 v7] V4L: add two new ioctl()s for multi-size videobuffer management
Date: Tue, 27 Sep 2011 13:00:24 +0200 (CEST) [thread overview]
Message-ID: <Pine.LNX.4.64.1109271256500.5359@axis700.grange> (raw)
In-Reply-To: <201109271234.20485.hverkuil@xs4all.nl>
Hi Hans
On Tue, 27 Sep 2011, Hans Verkuil wrote:
> On Thursday, September 08, 2011 09:45:15 Guennadi Liakhovetski wrote:
> > A possibility to preallocate and initialise buffers of different sizes
> > in V4L2 is required for an efficient implementation of a snapshot
> > mode. This patch adds two new ioctl()s: VIDIOC_CREATE_BUFS and
> > VIDIOC_PREPARE_BUF and defines respective data structures.
> >
> > Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
> > ---
> >
> > v7: added the "experimental" comment, as suggested by Sakari - thanks.
> >
> > drivers/media/video/v4l2-compat-ioctl32.c | 67 +++++++++++++++++++++++++---
> > drivers/media/video/v4l2-ioctl.c | 29 ++++++++++++
> > include/linux/videodev2.h | 17 +++++++
> > include/media/v4l2-ioctl.h | 2 +
> > 4 files changed, 107 insertions(+), 8 deletions(-)
[snip]
> > diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
> > index a5359c6..6e87ea9 100644
> > --- a/include/linux/videodev2.h
> > +++ b/include/linux/videodev2.h
> > @@ -653,6 +653,9 @@ struct v4l2_buffer {
> > #define V4L2_BUF_FLAG_ERROR 0x0040
> > #define V4L2_BUF_FLAG_TIMECODE 0x0100 /* timecode field is valid */
> > #define V4L2_BUF_FLAG_INPUT 0x0200 /* input field is valid */
> > +/* Cache handling flags */
> > +#define V4L2_BUF_FLAG_NO_CACHE_INVALIDATE 0x0400
> > +#define V4L2_BUF_FLAG_NO_CACHE_CLEAN 0x0800
> >
> > /*
> > * O V E R L A Y P R E V I E W
> > @@ -2098,6 +2101,15 @@ struct v4l2_dbg_chip_ident {
> > __u32 revision; /* chip revision, chip specific */
> > } __attribute__ ((packed));
> >
> > +/* VIDIOC_CREATE_BUFS */
> > +struct v4l2_create_buffers {
> > + __u32 index; /* output: buffers index...index + count - 1 have been created */
> > + __u32 count;
> > + enum v4l2_memory memory;
> > + struct v4l2_format format; /* "type" is used always, the rest if sizeimage == 0 */
> > + __u32 reserved[8];
> > +};
> > +
> > /*
> > * I O C T L C O D E S F O R V I D E O D E V I C E S
> > *
> > @@ -2188,6 +2200,11 @@ struct v4l2_dbg_chip_ident {
> > #define VIDIOC_SUBSCRIBE_EVENT _IOW('V', 90, struct v4l2_event_subscription)
> > #define VIDIOC_UNSUBSCRIBE_EVENT _IOW('V', 91, struct v4l2_event_subscription)
> >
> > +/* Experimental, the below two ioctls may change over the next couple of kernel
> > + versions */
> > +#define VIDIOC_CREATE_BUFS _IOWR('V', 92, struct v4l2_create_buffers)
> > +#define VIDIOC_PREPARE_BUF _IOW('V', 93, struct v4l2_buffer)
>
> I think I would prefer _IOWR here. QBUF etc. also use IOWR and you never know
> what you might return in the future. At the very least using IOWR allows us
> to update the state field, which would be a perfectly reasonable thing to do.
Sorry, which state field do you mean? We have already marked these ioctl()
as experimental, isn't this enough?
Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
next prev parent reply other threads:[~2011-09-27 11:00 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-31 18:02 [PATCH 0/9 v6] new ioctl()s and soc-camera implementation Guennadi Liakhovetski
2011-08-31 18:02 ` [PATCH 1/9 v6] V4L: add a new videobuf2 buffer state VB2_BUF_STATE_PREPARED Guennadi Liakhovetski
2011-08-31 18:02 ` [PATCH 2/9 v6] V4L: add two new ioctl()s for multi-size videobuffer management Guennadi Liakhovetski
2011-08-31 21:06 ` Sakari Ailus
2011-09-01 7:03 ` Guennadi Liakhovetski
2011-09-01 8:35 ` Laurent Pinchart
2011-09-01 8:53 ` Guennadi Liakhovetski
2011-09-01 8:42 ` Sakari Ailus
2011-09-01 9:24 ` Guennadi Liakhovetski
2011-09-01 10:19 ` Sakari Ailus
2011-09-01 10:51 ` Guennadi Liakhovetski
2011-09-01 11:06 ` Sakari Ailus
2011-09-01 13:35 ` Laurent Pinchart
2011-09-01 13:45 ` Guennadi Liakhovetski
2011-09-08 7:45 ` [PATCH 2/9 v7] " Guennadi Liakhovetski
2011-09-08 7:46 ` [PATCH 3/9 v7] V4L: document the new VIDIOC_CREATE_BUFS and VIDIOC_PREPARE_BUF ioctl()s Guennadi Liakhovetski
2011-09-09 13:24 ` Laurent Pinchart
2011-09-27 10:51 ` Hans Verkuil
2011-09-27 15:49 ` Guennadi Liakhovetski
2011-09-27 19:50 ` Sakari Ailus
2011-09-28 7:34 ` Hans Verkuil
2011-09-27 17:01 ` [PATCH 3/9 v8] " Guennadi Liakhovetski
2011-09-28 13:20 ` [PATCH 3/9 v9] " Guennadi Liakhovetski
2011-09-28 14:58 ` [PATCH 3/9 v10] " Guennadi Liakhovetski
2011-09-08 7:48 ` [PATCH] V4L: docbook documentation for struct v4l2_create_buffers Guennadi Liakhovetski
2011-09-08 8:10 ` [PATCH 1/1] v4l: Mark VIDIOC_PREPARE_BUFS and VIDIOC_CREATE_BUFS experimental Sakari Ailus
2011-09-27 10:34 ` [PATCH 2/9 v7] V4L: add two new ioctl()s for multi-size videobuffer management Hans Verkuil
2011-09-27 11:00 ` Guennadi Liakhovetski [this message]
2011-09-27 11:06 ` Hans Verkuil
2011-09-27 12:19 ` Guennadi Liakhovetski
2011-09-27 13:40 ` Hans Verkuil
2011-09-27 16:54 ` [PATCH 2/9 v8] " Guennadi Liakhovetski
2011-09-28 8:06 ` Hans Verkuil
2011-09-28 8:34 ` Guennadi Liakhovetski
2011-09-28 8:48 ` Guennadi Liakhovetski
2011-09-28 9:01 ` Hans Verkuil
2011-09-28 13:19 ` [PATCH 2/9 v9] " Guennadi Liakhovetski
2011-09-28 13:33 ` Sakari Ailus
2011-09-28 14:59 ` Guennadi Liakhovetski
2011-09-28 14:56 ` [PATCH 2/9 v10] " Guennadi Liakhovetski
2011-09-28 20:15 ` Sakari Ailus
2011-09-28 20:38 ` Guennadi Liakhovetski
2011-09-29 6:59 ` Sakari Ailus
2011-09-29 8:12 ` Guennadi Liakhovetski
2011-09-27 17:08 ` [PATCH 2/9 v7] " Laurent Pinchart
2011-09-28 8:09 ` Hans Verkuil
2011-08-31 18:02 ` [PATCH 3/9 v6] V4L: document the new VIDIOC_CREATE_BUFS and VIDIOC_PREPARE_BUF ioctl()s Guennadi Liakhovetski
2011-08-31 21:11 ` Sakari Ailus
2011-09-01 7:10 ` Guennadi Liakhovetski
2011-09-01 11:08 ` [PATCH 1/1] v4l: Add note on buffer locking to memory and DMA mapping to PREPARE_BUF Sakari Ailus
2011-09-28 20:20 ` Sakari Ailus
2011-09-28 20:31 ` Guennadi Liakhovetski
2011-11-03 12:13 ` [PATCH 3/9 v6] V4L: document the new VIDIOC_CREATE_BUFS and VIDIOC_PREPARE_BUF ioctl()s Mauro Carvalho Chehab
2011-08-31 18:02 ` [PATCH 4/9 v6] V4L: vb2: prepare to support multi-size buffers Guennadi Liakhovetski
2011-08-31 18:02 ` [PATCH 5/9 v6] V4L: vb2: add support for buffers of different sizes on a single queue Guennadi Liakhovetski
2011-08-31 18:02 ` [PATCH 6/9 v6] V4L: sh-mobile-ceu-camera: prepare to support multi-size buffers Guennadi Liakhovetski
2011-08-31 18:02 ` [PATCH 7/9 v6] dmaengine: ipu-idmac: add support for the DMA_PAUSE control Guennadi Liakhovetski
2011-08-31 18:02 ` [PATCH 8/9 v6] V4L: mx3-camera: prepare to support multi-size buffers Guennadi Liakhovetski
2011-08-31 18:02 ` [PATCH 9/9 v6] V4L: soc-camera: add 2 new ioctl() handlers Guennadi Liakhovetski
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=Pine.LNX.4.64.1109271256500.5359@axis700.grange \
--to=g.liakhovetski@gmx.de \
--cc=hverkuil@xs4all.nl \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=mchehab@infradead.org \
--cc=pawel@osciak.com \
--cc=sakari.ailus@iki.fi \
--cc=sakari.ailus@maxwell.research.nokia.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.