From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: "Niklas Söderlund" <niklas.soderlund+renesas@ragnatech.se>
Cc: Hans Verkuil <hverkuil@xs4all.nl>,
linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
tomoharu.fukawa.eb@renesas.com,
Sakari Ailus <sakari.ailus@linux.intel.com>,
Geert Uytterhoeven <geert@linux-m68k.org>
Subject: Re: [PATCH 03/16] rcar-vin: fix how pads are handled for v4l2 subdevice operations
Date: Wed, 10 May 2017 16:22:15 +0300 [thread overview]
Message-ID: <3039950.nIPF3cxbPq@avalon> (raw)
In-Reply-To: <20170314185957.25253-4-niklas.soderlund+renesas@ragnatech.se>
Hi Niklas,
Thank you for the patch.
On Tuesday 14 Mar 2017 19:59:44 Niklas Söderlund wrote:
> The rcar-vin driver only uses one pad, pad number 0.
>
> - All v4l2 operations that did not check that the requested operation
> was for pad 0 have been updated with a check to enforce this.
>
> - All v4l2 operations that stored (and later restore) the requested pad
> before substituting it for the subdevice pad number have been updated
> to not store the incoming pad and simply restore it to 0 after the
> subdevice operation is complete.
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> drivers/media/platform/rcar-vin/rcar-v4l2.c | 26 ++++++++++++++------------
> 1 file changed, 14 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c
> b/drivers/media/platform/rcar-vin/rcar-v4l2.c index
> 7ca27599b9982ffc..610f59e2a9142622 100644
> --- a/drivers/media/platform/rcar-vin/rcar-v4l2.c
> +++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c
> @@ -550,14 +550,16 @@ static int rvin_enum_dv_timings(struct file *file,
> void *priv_fh, {
> struct rvin_dev *vin = video_drvdata(file);
> struct v4l2_subdev *sd = vin_to_source(vin);
> - int pad, ret;
> + int ret;
> +
> + if (timings->pad)
> + return -EINVAL;
>
> - pad = timings->pad;
> timings->pad = vin->sink_pad_idx;
>
> ret = v4l2_subdev_call(sd, pad, enum_dv_timings, timings);
>
> - timings->pad = pad;
> + timings->pad = 0;
>
> return ret;
> }
> @@ -600,14 +602,16 @@ static int rvin_dv_timings_cap(struct file *file, void
> *priv_fh, {
> struct rvin_dev *vin = video_drvdata(file);
> struct v4l2_subdev *sd = vin_to_source(vin);
> - int pad, ret;
> + int ret;
> +
> + if (cap->pad)
> + return -EINVAL;
>
> - pad = cap->pad;
> cap->pad = vin->sink_pad_idx;
>
> ret = v4l2_subdev_call(sd, pad, dv_timings_cap, cap);
>
> - cap->pad = pad;
> + cap->pad = 0;
>
> return ret;
> }
> @@ -616,17 +620,16 @@ static int rvin_g_edid(struct file *file, void *fh,
> struct v4l2_edid *edid) {
> struct rvin_dev *vin = video_drvdata(file);
> struct v4l2_subdev *sd = vin_to_source(vin);
> - int input, ret;
> + int ret;
>
> if (edid->pad)
> return -EINVAL;
>
> - input = edid->pad;
> edid->pad = vin->sink_pad_idx;
>
> ret = v4l2_subdev_call(sd, pad, get_edid, edid);
>
> - edid->pad = input;
> + edid->pad = 0;
>
> return ret;
> }
> @@ -635,17 +638,16 @@ static int rvin_s_edid(struct file *file, void *fh,
> struct v4l2_edid *edid) {
> struct rvin_dev *vin = video_drvdata(file);
> struct v4l2_subdev *sd = vin_to_source(vin);
> - int input, ret;
> + int ret;
>
> if (edid->pad)
> return -EINVAL;
>
> - input = edid->pad;
> edid->pad = vin->sink_pad_idx;
>
> ret = v4l2_subdev_call(sd, pad, set_edid, edid);
>
> - edid->pad = input;
> + edid->pad = 0;
>
> return ret;
> }
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2017-05-10 13:22 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-14 18:59 [PATCH 00/16] rcar-vin: fix issues with format and capturing Niklas Söderlund
2017-03-14 18:59 ` [PATCH 01/16] rcar-vin: reset bytesperline and sizeimage when resetting format Niklas Söderlund
2017-03-15 9:07 ` Sergei Shtylyov
2017-05-10 13:22 ` Laurent Pinchart
2017-03-14 18:59 ` [PATCH 02/16] rcar-vin: use rvin_reset_format() in S_DV_TIMINGS Niklas Söderlund
2017-05-10 13:22 ` Laurent Pinchart
2017-05-20 14:29 ` Niklas Söderlund
2017-05-20 14:29 ` Niklas Söderlund
2017-03-14 18:59 ` [PATCH 03/16] rcar-vin: fix how pads are handled for v4l2 subdevice operations Niklas Söderlund
2017-03-15 9:12 ` Sergei Shtylyov
2017-03-15 9:29 ` Niklas Söderlund
2017-03-15 9:29 ` Niklas Söderlund
2017-05-10 13:22 ` Laurent Pinchart [this message]
2017-03-14 18:59 ` [PATCH 04/16] rcar-vin: fix standard in input enumeration Niklas Söderlund
2017-05-10 13:22 ` Laurent Pinchart
2017-03-14 18:59 ` [PATCH 05/16] rcar-vin: move subdev source and sink pad index to rvin_graph_entity Niklas Söderlund
2017-05-10 13:22 ` Laurent Pinchart
2017-03-14 18:59 ` [PATCH 06/16] rcar-vin: refactor pad lookup code Niklas Söderlund
2017-05-10 13:21 ` Laurent Pinchart
2017-03-14 18:59 ` [PATCH 07/16] rcar-vin: move pad lookup to async bound handler Niklas Söderlund
2017-05-10 13:25 ` Laurent Pinchart
2017-03-14 18:59 ` [PATCH 08/16] rcar-vin: use pad information when verifying media bus format Niklas Söderlund
2017-05-10 13:25 ` Laurent Pinchart
2017-03-14 18:59 ` [PATCH 09/16] rcar-vin: decrease buffers needed to capture Niklas Söderlund
2017-05-10 13:25 ` Laurent Pinchart
2017-03-14 18:59 ` [PATCH 10/16] rcar-vin: move functions which acts on hardware Niklas Söderlund
2017-05-10 13:29 ` Laurent Pinchart
2017-03-14 18:59 ` [PATCH 11/16] rcar-vin: select capture mode based on free buffers Niklas Söderlund
2017-05-10 13:32 ` Laurent Pinchart
2017-03-14 18:59 ` [PATCH 12/16] rcar-vin: allow switch between capturing modes when stalling Niklas Söderlund
2017-05-10 14:02 ` Laurent Pinchart
2017-03-14 18:59 ` [PATCH 13/16] rcar-vin: refactor and fold in function after stall handling rework Niklas Söderlund
2017-05-10 13:39 ` Laurent Pinchart
2017-03-14 18:59 ` [PATCH 14/16] rcar-vin: make use of video_device_alloc() and video_device_release() Niklas Söderlund
2017-05-10 13:36 ` Laurent Pinchart
2017-05-20 18:27 ` Niklas Söderlund
2017-05-20 18:27 ` Niklas Söderlund
2017-05-20 20:58 ` Laurent Pinchart
2017-03-14 18:59 ` [PATCH 15/16] rcar-vin: add missing error check to propagate error Niklas Söderlund
2017-05-10 13:36 ` Laurent Pinchart
2017-03-14 18:59 ` [PATCH 16/16] rcar-vin: fix bug in pixelformat selection Niklas Söderlund
2017-05-10 13:39 ` 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=3039950.nIPF3cxbPq@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=geert@linux-m68k.org \
--cc=hverkuil@xs4all.nl \
--cc=linux-media@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=niklas.soderlund+renesas@ragnatech.se \
--cc=sakari.ailus@linux.intel.com \
--cc=tomoharu.fukawa.eb@renesas.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.