From: Sakari Ailus <sakari.ailus@maxwell.research.nokia.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: linux-media@vger.kernel.org, dacohen@gmail.com, snjw23@gmail.com
Subject: Re: [RFC 05/17] v4l: Support s_crop and g_crop through s/g_selection
Date: Sun, 08 Jan 2012 22:54:20 +0200 [thread overview]
Message-ID: <4F0A027C.1090904@maxwell.research.nokia.com> (raw)
In-Reply-To: <201201051713.58513.laurent.pinchart@ideasonboard.com>
Hi Laurent,
Laurent Pinchart wrote:
> Hi Sakari,
>
> Thanks for the patch.
>
> On Tuesday 20 December 2011 21:27:57 Sakari Ailus wrote:
>> From: Sakari Ailus <sakari.ailus@iki.fi>
>>
>> Revert to s_selection if s_crop isn't implemented by a driver. Same for
>> g_selection / g_crop.
>
> Shouldn't this say "Fall back" instead of "Revert" ?
Fixed all issues you mentioned in this e-mail.
>> Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
>> ---
>> drivers/media/video/v4l2-subdev.c | 37
>> +++++++++++++++++++++++++++++++++++-- 1 files changed, 35 insertions(+), 2
>> deletions(-)
>>
>> diff --git a/drivers/media/video/v4l2-subdev.c
>> b/drivers/media/video/v4l2-subdev.c index e8ae098..f8de551 100644
>> --- a/drivers/media/video/v4l2-subdev.c
>> +++ b/drivers/media/video/v4l2-subdev.c
>> @@ -226,6 +226,8 @@ static long subdev_do_ioctl(struct file *file, unsigned
>> int cmd, void *arg)
>>
>> case VIDIOC_SUBDEV_G_CROP: {
>> struct v4l2_subdev_crop *crop = arg;
>> + struct v4l2_subdev_selection sel;
>> + int rval;
>>
>> if (crop->which != V4L2_SUBDEV_FORMAT_TRY &&
>> crop->which != V4L2_SUBDEV_FORMAT_ACTIVE)
>> @@ -234,11 +236,27 @@ static long subdev_do_ioctl(struct file *file,
>> unsigned int cmd, void *arg) if (crop->pad >= sd->entity.num_pads)
>> return -EINVAL;
>>
>> - return v4l2_subdev_call(sd, pad, get_crop, subdev_fh, crop);
>> + rval = v4l2_subdev_call(sd, pad, get_crop, subdev_fh, crop);
>> + if (rval != -ENOIOCTLCMD)
>> + return rval;
>> +
>> + memset(&sel, 0, sizeof(sel));
>> + sel.which = V4L2_SUBDEV_FORMAT_ACTIVE;
>
> Shouldn't sel.which be set to crop->which ?
>
>> + sel.pad = crop->pad;
>> + sel.target = V4L2_SUBDEV_SEL_TGT_CROP_ACTIVE;
>> +
>> + rval = v4l2_subdev_call(
>> + sd, pad, get_selection, subdev_fh, &sel);
>> +
>> + crop->rect = sel.r;
>> +
>> + return rval;
>> }
>>
>> case VIDIOC_SUBDEV_S_CROP: {
>> struct v4l2_subdev_crop *crop = arg;
>> + struct v4l2_subdev_selection sel;
>> + int rval;
>>
>> if (crop->which != V4L2_SUBDEV_FORMAT_TRY &&
>> crop->which != V4L2_SUBDEV_FORMAT_ACTIVE)
>> @@ -247,7 +265,22 @@ static long subdev_do_ioctl(struct file *file,
>> unsigned int cmd, void *arg) if (crop->pad >= sd->entity.num_pads)
>> return -EINVAL;
>>
>> - return v4l2_subdev_call(sd, pad, set_crop, subdev_fh, crop);
>> + rval = v4l2_subdev_call(sd, pad, set_crop, subdev_fh, crop);
>> + if (rval != -ENOIOCTLCMD)
>> + return rval;
>> +
>> + memset(&sel, 0, sizeof(sel));
>> + sel.which = V4L2_SUBDEV_FORMAT_ACTIVE;
>
> Same here.
>
>> + sel.pad = crop->pad;
>> + sel.target = V4L2_SUBDEV_SEL_TGT_CROP_ACTIVE;
>> + sel.r = crop->rect;
>> +
>> + rval = v4l2_subdev_call(
>> + sd, pad, set_selection, subdev_fh, &sel);
>> +
>> + crop->rect = sel.r;
>> +
>> + return rval;
>> }
>>
>> case VIDIOC_SUBDEV_ENUM_MBUS_CODE: {
>
--
Sakari Ailus
sakari.ailus@maxwell.research.nokia.com
next prev parent reply other threads:[~2012-01-08 20:54 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-20 20:27 [RFC 0/17] V4L2 subdev and sensor control changes, SMIA++ driver and N9 camera board code Sakari Ailus
2011-12-20 20:27 ` [RFC 01/17] v4l: Introduce integer menu controls Sakari Ailus
2012-01-05 15:53 ` Laurent Pinchart
2012-01-06 9:50 ` Sakari Ailus
2011-12-20 20:27 ` [RFC 02/17] v4l: Document " Sakari Ailus
2012-01-05 15:55 ` Laurent Pinchart
2012-01-06 10:07 ` Sakari Ailus
2011-12-20 20:27 ` [RFC 03/17] vivi: Add an integer menu test control Sakari Ailus
2012-01-05 15:59 ` Laurent Pinchart
2012-01-06 10:19 ` Sakari Ailus
2012-01-06 10:22 ` Sakari Ailus
2012-01-06 10:28 ` Laurent Pinchart
2011-12-20 20:27 ` [RFC 04/17] v4l: VIDIOC_SUBDEV_S_SELECTION and VIDIOC_SUBDEV_G_SELECTION IOCTLs Sakari Ailus
2012-01-05 16:12 ` Laurent Pinchart
2012-01-06 11:27 ` Sakari Ailus
2012-01-06 12:00 ` Laurent Pinchart
2012-01-07 9:09 ` Sakari Ailus
2012-01-07 11:09 ` Sakari Ailus
2012-01-07 15:54 ` Laurent Pinchart
2012-01-07 16:53 ` Sakari Ailus
2011-12-20 20:27 ` [RFC 05/17] v4l: Support s_crop and g_crop through s/g_selection Sakari Ailus
2012-01-05 16:13 ` Laurent Pinchart
2012-01-08 20:54 ` Sakari Ailus [this message]
2011-12-20 20:27 ` [RFC 06/17] v4l: Add selections documentation Sakari Ailus
2012-01-06 11:43 ` Laurent Pinchart
2012-01-09 18:16 ` Sakari Ailus
2012-01-10 11:20 ` Tomasz Stanislawski
2012-01-14 19:04 ` Sakari Ailus
2012-01-15 22:53 ` Laurent Pinchart
2011-12-20 20:27 ` [RFC 07/17] v4l: Add pixelrate to struct v4l2_mbus_framefmt Sakari Ailus
2012-01-06 10:26 ` Laurent Pinchart
2012-01-08 21:16 ` Sakari Ailus
2011-12-20 20:28 ` [RFC 08/17] v4l: Image source control class Sakari Ailus
2012-01-05 16:23 ` Laurent Pinchart
2012-01-14 20:51 ` Sakari Ailus
2012-01-15 1:43 ` Laurent Pinchart
2012-01-15 19:44 ` Sakari Ailus
2012-01-15 20:00 ` Laurent Pinchart
2012-01-15 21:27 ` Sakari Ailus
2012-01-15 16:16 ` Sylwester Nawrocki
2012-01-15 19:30 ` Sakari Ailus
2012-01-15 20:08 ` Sylwester Nawrocki
2011-12-20 20:28 ` [RFC 09/17] v4l: Add pad op for pipeline validation Sakari Ailus
2012-01-06 9:42 ` Laurent Pinchart
2012-01-07 23:28 ` Sakari Ailus
2012-01-08 18:20 ` Laurent Pinchart
2011-12-20 20:28 ` [RFC 10/17] omap3: add definition for CONTROL_CAMERA_PHY_CTRL Sakari Ailus
2011-12-20 20:28 ` [RFC 11/17] omap3isp: Implement validate_pipeline Sakari Ailus
2011-12-20 20:28 ` [RFC 12/17] omap3isp: Add lane configuration to platform data Sakari Ailus
2012-01-06 10:06 ` Laurent Pinchart
2012-01-07 23:39 ` Sakari Ailus
2011-12-20 20:28 ` [RFC 13/17] omap3isp: Configure CSI-2 phy based on " Sakari Ailus
2012-01-06 10:01 ` Laurent Pinchart
2012-01-07 22:51 ` Sakari Ailus
2012-01-08 1:02 ` Laurent Pinchart
2012-01-08 10:26 ` Sakari Ailus
2012-01-08 11:07 ` Sylwester Nawrocki
2012-01-08 11:16 ` Sakari Ailus
2012-01-08 13:09 ` Sylwester Nawrocki
2012-01-11 8:08 ` Sakari Ailus
2012-01-08 11:15 ` Laurent Pinchart
2011-12-20 20:28 ` [RFC 14/17] omap3isp: Use pixelrate from sensor media bus frameformat Sakari Ailus
2012-01-06 10:14 ` Laurent Pinchart
2012-01-07 23:05 ` Sakari Ailus
2011-12-20 20:28 ` [RFC 15/17] omap3isp: Move definitions required by board code under include/media Sakari Ailus
2011-12-20 20:28 ` [RFC 16/17] smiapp: Add driver Sakari Ailus
2012-01-06 17:12 ` Sylwester Nawrocki
2012-01-07 23:01 ` Sakari Ailus
2012-01-16 21:57 ` Sylwester Nawrocki
2011-12-20 20:28 ` [RFC 17/17] rm680: Add camera init Sakari Ailus
2012-01-06 10:21 ` Laurent Pinchart
2012-01-07 21:30 ` Sakari Ailus
2012-01-06 14:58 ` Sylwester Nawrocki
2012-01-07 22:59 ` Sakari Ailus
2011-12-28 9:47 ` [yavta PATCH 1/1] Support integer menus Sakari Ailus
2012-01-05 16:03 ` Laurent Pinchart
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=4F0A027C.1090904@maxwell.research.nokia.com \
--to=sakari.ailus@maxwell.research.nokia.com \
--cc=dacohen@gmail.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=snjw23@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).