public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: g.liakhovetski@gmx.de, mchehab@osg.samsung.com,
	linux-media@vger.kernel.org, linux-sh@vger.kernel.org
Subject: Re: [PATCH] rcar_vin: propagate querystd() error upstream
Date: Tue, 25 Aug 2015 22:42:34 +0300	[thread overview]
Message-ID: <1809035.RaYVlrkG2V@avalon> (raw)
In-Reply-To: <55DB936F.2060008@cogentembedded.com>

Hi Sergei,

On Tuesday 25 August 2015 00:58:07 Sergei Shtylyov wrote:
> On 08/21/2015 12:51 AM, Laurent Pinchart wrote:
> >> rcar_vin_set_fmt() defaults to  PAL when the subdevice's querystd()
> >> method call fails (e.g. due to I2C error). This doesn't work very well
> >> when a camera being used  outputs NTSC which has different order of
> >> fields and resolution. Let us stop pretending and return the actual
> >> error (which would prevent video capture on at least Renesas
> >> Henninger/Porter board where I2C seems particularly buggy).
> >> 
> >> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
> >> 
> >> ---
> >> The patch is against the 'media_tree.git' repo's 'fixes' branch.
> >> 
> >>   drivers/media/platform/soc_camera/rcar_vin.c |    2 +-
> >>   1 file changed, 1 insertion(+), 1 deletion(-)
> >> 
> >> Index: media_tree/drivers/media/platform/soc_camera/rcar_vin.c
> >> ===================================================================
> >> --- media_tree.orig/drivers/media/platform/soc_camera/rcar_vin.c
> >> +++ media_tree/drivers/media/platform/soc_camera/rcar_vin.c
> >> @@ -1592,7 +1592,7 @@ static int rcar_vin_set_fmt(struct soc_c
> >> 
> >>   		/* Query for standard if not explicitly mentioned _TB/_BT */
> >>   		ret = v4l2_subdev_call(sd, video, querystd, &std);
> >>   		if (ret < 0)
> >> -			std = V4L2_STD_625_50;
> >> +			return ret;
> > 
> > What if the subdev doesn't implement querystd ? That's the case of camera
> > sensors for instance.
> 
> Indeed.
> 
> > In that case we should default to V4L2_FIELD_NONE.
> 
> Hmm, even if the set_fmt() method is called with V4L2_FIELD_INTERLACED
> already, like in this case?

Yes. If the device doesn't support interlacing then the field passed to 
set_fmt() should be set to V4L2_FIELD_NONE. The V4L2 API requires drivers to 
fix unsupported parameters passed to the VIDIOC_S_FMT ioctl instead of 
returning an error like commonly done in such situation.

> >>   		field = std & V4L2_STD_625_50 ? V4L2_FIELD_INTERLACED_TB :
> >>   						V4L2_FIELD_INTERLACED_BT;

-- 
Regards,

Laurent Pinchart


  reply	other threads:[~2015-08-25 19:42 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-19 21:02 [PATCH] rcar_vin: propagate querystd() error upstream Sergei Shtylyov
2015-08-20 21:51 ` Laurent Pinchart
2015-08-24 21:58   ` Sergei Shtylyov
2015-08-25 19:42     ` Laurent Pinchart [this message]
2015-08-25 14:25 ` Hans Verkuil
2015-08-31 22:13   ` Sergei Shtylyov

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=1809035.RaYVlrkG2V@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=g.liakhovetski@gmx.de \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=mchehab@osg.samsung.com \
    --cc=sergei.shtylyov@cogentembedded.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