All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Niklas Söderlund" <niklas.soderlund@ragnatech.se>
To: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	tomoharu.fukawa.eb@renesas.com,
	Kieran Bingham <kieran.bingham@ideasonboard.com>
Subject: Re: [PATCH v12 11/33] rcar-vin: set a default field to fallback on
Date: Fri, 9 Mar 2018 17:17:11 +0100	[thread overview]
Message-ID: <20180309161711.GI2205@bigcity.dyn.berto.se> (raw)
In-Reply-To: <4181fb92-5ac9-9ad8-a60d-65c57f5baaa0@xs4all.nl>

Hi Hans,

Thanks for your feedback, I don't think I can appreciate how happy I'm 
that you reviewed this patch-set, Thank you!

On 2018-03-09 16:25:23 +0100, Hans Verkuil wrote:
> On 07/03/18 23:04, Niklas Söderlund wrote:
> > If the field is not supported by the driver it should not try to keep
> > the current field. Instead it should set it to a default fallback. Since
> > trying a format should always result in the same state regardless of the
> > current state of the device.
> > 
> > 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 | 9 +++------
> >  1 file changed, 3 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c b/drivers/media/platform/rcar-vin/rcar-v4l2.c
> > index c2265324c7c96308..ebcd78b1bb6e8cb6 100644
> > --- a/drivers/media/platform/rcar-vin/rcar-v4l2.c
> > +++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c
> > @@ -23,6 +23,7 @@
> >  #include "rcar-vin.h"
> >  
> >  #define RVIN_DEFAULT_FORMAT	V4L2_PIX_FMT_YUYV
> > +#define RVIN_DEFAULT_FIELD	V4L2_FIELD_NONE
> >  
> >  /* -----------------------------------------------------------------------------
> >   * Format Conversions
> > @@ -143,7 +144,7 @@ static int rvin_reset_format(struct rvin_dev *vin)
> >  	case V4L2_FIELD_INTERLACED:
> >  		break;
> >  	default:
> > -		vin->format.field = V4L2_FIELD_NONE;
> > +		vin->format.field = RVIN_DEFAULT_FIELD;
> >  		break;
> >  	}
> >  
> > @@ -213,10 +214,6 @@ static int __rvin_try_format(struct rvin_dev *vin,
> >  	u32 walign;
> >  	int ret;
> >  
> > -	/* Keep current field if no specific one is asked for */
> > -	if (pix->field == V4L2_FIELD_ANY)
> > -		pix->field = vin->format.field;
> > -
> >  	/* If requested format is not supported fallback to the default */
> >  	if (!rvin_format_from_pixel(pix->pixelformat)) {
> >  		vin_dbg(vin, "Format 0x%x not found, using default 0x%x\n",
> > @@ -246,7 +243,7 @@ static int __rvin_try_format(struct rvin_dev *vin,
> >  	case V4L2_FIELD_INTERLACED:
> >  		break;
> >  	default:
> > -		pix->field = V4L2_FIELD_NONE;
> > +		pix->field = RVIN_DEFAULT_FIELD;
> >  		break;
> >  	}
> >  
> > 
> 
> I wonder if this code is correct. What if the adv7180 is the source? Does that even
> support FIELD_NONE? I suspect that the default field should actually depend on the
> source. FIELD_NONE for dv_timings based or sensor based subdevs and FIELD_INTERLACED
> for SDTV (g/s_std) subdevs.

I see what you mean but I think this is correct. The field is only set 
to V4L2_FIELD_NONE if the field returned from the source is not one of 
TOP, BOTTOM, ALTERNATE, NONE, INERLACED, INTERLACED_TB, INTERLACED_BT.  
So it works perfectly with the adv7180 as it will return 
V4L2_FIELD_INTERLACED and then VIN will accept that and not change it.  
So the field do depend on the source both before and after this change.

This check is just to block the driver reporting SEQ_TB/BT if a source 
where to report that (I known of no source who reports that) to 
userspace as the driver do not yet support this.  I have patches to add 
support for this but I will keep them back until this series are picked 
up :-)

> 
> I might very well be missing something here but it looks suspicious.
> 
> Regards,
> 
> 	Hans

-- 
Regards,
Niklas Söderlund

WARNING: multiple messages have this Message-ID (diff)
From: "Niklas Söderlund" <niklas.soderlund@ragnatech.se>
To: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	tomoharu.fukawa.eb@renesas.com,
	Kieran Bingham <kieran.bingham@ideasonboard.com>
Subject: Re: [PATCH v12 11/33] rcar-vin: set a default field to fallback on
Date: Fri, 9 Mar 2018 17:17:11 +0100	[thread overview]
Message-ID: <20180309161711.GI2205@bigcity.dyn.berto.se> (raw)
In-Reply-To: <4181fb92-5ac9-9ad8-a60d-65c57f5baaa0@xs4all.nl>

Hi Hans,

Thanks for your feedback, I don't think I can appreciate how happy I'm 
that you reviewed this patch-set, Thank you!

On 2018-03-09 16:25:23 +0100, Hans Verkuil wrote:
> On 07/03/18 23:04, Niklas S�derlund wrote:
> > If the field is not supported by the driver it should not try to keep
> > the current field. Instead it should set it to a default fallback. Since
> > trying a format should always result in the same state regardless of the
> > current state of the device.
> > 
> > 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 | 9 +++------
> >  1 file changed, 3 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c b/drivers/media/platform/rcar-vin/rcar-v4l2.c
> > index c2265324c7c96308..ebcd78b1bb6e8cb6 100644
> > --- a/drivers/media/platform/rcar-vin/rcar-v4l2.c
> > +++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c
> > @@ -23,6 +23,7 @@
> >  #include "rcar-vin.h"
> >  
> >  #define RVIN_DEFAULT_FORMAT	V4L2_PIX_FMT_YUYV
> > +#define RVIN_DEFAULT_FIELD	V4L2_FIELD_NONE
> >  
> >  /* -----------------------------------------------------------------------------
> >   * Format Conversions
> > @@ -143,7 +144,7 @@ static int rvin_reset_format(struct rvin_dev *vin)
> >  	case V4L2_FIELD_INTERLACED:
> >  		break;
> >  	default:
> > -		vin->format.field = V4L2_FIELD_NONE;
> > +		vin->format.field = RVIN_DEFAULT_FIELD;
> >  		break;
> >  	}
> >  
> > @@ -213,10 +214,6 @@ static int __rvin_try_format(struct rvin_dev *vin,
> >  	u32 walign;
> >  	int ret;
> >  
> > -	/* Keep current field if no specific one is asked for */
> > -	if (pix->field == V4L2_FIELD_ANY)
> > -		pix->field = vin->format.field;
> > -
> >  	/* If requested format is not supported fallback to the default */
> >  	if (!rvin_format_from_pixel(pix->pixelformat)) {
> >  		vin_dbg(vin, "Format 0x%x not found, using default 0x%x\n",
> > @@ -246,7 +243,7 @@ static int __rvin_try_format(struct rvin_dev *vin,
> >  	case V4L2_FIELD_INTERLACED:
> >  		break;
> >  	default:
> > -		pix->field = V4L2_FIELD_NONE;
> > +		pix->field = RVIN_DEFAULT_FIELD;
> >  		break;
> >  	}
> >  
> > 
> 
> I wonder if this code is correct. What if the adv7180 is the source? Does that even
> support FIELD_NONE? I suspect that the default field should actually depend on the
> source. FIELD_NONE for dv_timings based or sensor based subdevs and FIELD_INTERLACED
> for SDTV (g/s_std) subdevs.

I see what you mean but I think this is correct. The field is only set 
to V4L2_FIELD_NONE if the field returned from the source is not one of 
TOP, BOTTOM, ALTERNATE, NONE, INERLACED, INTERLACED_TB, INTERLACED_BT.  
So it works perfectly with the adv7180 as it will return 
V4L2_FIELD_INTERLACED and then VIN will accept that and not change it.  
So the field do depend on the source both before and after this change.

This check is just to block the driver reporting SEQ_TB/BT if a source 
where to report that (I known of no source who reports that) to 
userspace as the driver do not yet support this.  I have patches to add 
support for this but I will keep them back until this series are picked 
up :-)

> 
> I might very well be missing something here but it looks suspicious.
> 
> Regards,
> 
> 	Hans

-- 
Regards,
Niklas S�derlund

  reply	other threads:[~2018-03-09 16:17 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-07 22:04 [PATCH v12 00/33] rcar-vin: Add Gen3 with media controller Niklas Söderlund
2018-03-07 22:04 ` [PATCH v12 01/33] dt-bindings: media: rcar_vin: Reverse SoC part number list Niklas Söderlund
2018-03-07 22:04 ` [PATCH v12 02/33] dt-bindings: media: rcar_vin: add device tree support for r8a774[35] Niklas Söderlund
2018-03-07 22:04 ` [PATCH v12 03/33] rcar-vin: add Gen3 devicetree bindings documentation Niklas Söderlund
2018-03-07 22:04 ` [PATCH v12 04/33] rcar-vin: rename poorly named initialize and cleanup functions Niklas Söderlund
2018-03-07 22:04 ` [PATCH v12 05/33] rcar-vin: unregister video device on driver removal Niklas Söderlund
2018-03-07 22:04 ` [PATCH v12 06/33] rcar-vin: move subdevice handling to async callbacks Niklas Söderlund
2018-03-09 15:16   ` Hans Verkuil
2018-03-07 22:04 ` [PATCH v12 07/33] rcar-vin: move model information to own struct Niklas Söderlund
2018-03-07 22:04 ` [PATCH v12 08/33] rcar-vin: move max width and height information to chip information Niklas Söderlund
2018-03-07 22:04 ` [PATCH v12 09/33] rcar-vin: move functions regarding scaling Niklas Söderlund
2018-03-07 22:04 ` [PATCH v12 10/33] rcar-vin: all Gen2 boards can scale simplify logic Niklas Söderlund
2018-03-07 22:04 ` [PATCH v12 11/33] rcar-vin: set a default field to fallback on Niklas Söderlund
2018-03-09 15:25   ` Hans Verkuil
2018-03-09 16:17     ` Niklas Söderlund [this message]
2018-03-09 16:17       ` Niklas Söderlund
2018-03-09 16:28       ` Hans Verkuil
2018-03-09 17:07         ` Niklas Söderlund
2018-03-09 17:07           ` Niklas Söderlund
2018-03-09 17:13           ` Hans Verkuil
2018-03-07 22:04 ` [PATCH v12 12/33] rcar-vin: fix handling of single field frames (top, bottom and alternate fields) Niklas Söderlund
2018-03-09 15:28   ` Hans Verkuil
2018-03-07 22:04 ` [PATCH v12 13/33] rcar-vin: update bytesperline and sizeimage calculation Niklas Söderlund
2018-03-09 15:29   ` Hans Verkuil
2018-03-07 22:04 ` [PATCH v12 14/33] rcar-vin: align pixelformat check Niklas Söderlund
2018-03-09 15:30   ` Hans Verkuil
2018-03-07 22:04 ` [PATCH v12 15/33] rcar-vin: break out format alignment and checking Niklas Söderlund
2018-03-09 15:30   ` Hans Verkuil
2018-03-07 22:04 ` [PATCH v12 16/33] rcar-vin: simplify how formats are set and reset Niklas Söderlund
2018-03-09 15:34   ` Hans Verkuil
2018-03-07 22:04 ` [PATCH v12 17/33] rcar-vin: cache video standard Niklas Söderlund
2018-03-09 15:39   ` Hans Verkuil
2018-03-07 22:04 ` [PATCH v12 18/33] rcar-vin: move media bus configuration to struct rvin_dev Niklas Söderlund
2018-03-07 22:04 ` [PATCH v12 19/33] rcar-vin: enable Gen3 hardware configuration Niklas Söderlund
2018-03-07 22:04 ` [PATCH v12 20/33] rcar-vin: add function to manipulate Gen3 chsel value Niklas Söderlund
2018-03-09 15:40   ` Hans Verkuil
2018-03-07 22:04 ` [PATCH v12 21/33] rcar-vin: add flag to switch to media controller mode Niklas Söderlund
2018-03-07 22:05 ` [PATCH v12 22/33] rcar-vin: use different v4l2 operations in " Niklas Söderlund
2018-03-07 22:05 ` [PATCH v12 23/33] rcar-vin: force default colorspace for media centric mode Niklas Söderlund
2018-03-09 15:41   ` Hans Verkuil
2018-03-07 22:05 ` [PATCH v12 24/33] rcar-vin: prepare for media controller mode initialization Niklas Söderlund
2018-03-07 22:05 ` [PATCH v12 25/33] rcar-vin: add group allocator functions Niklas Söderlund
2018-03-09 15:42   ` Hans Verkuil
2018-03-07 22:05 ` [PATCH v12 26/33] rcar-vin: change name of video device Niklas Söderlund
2018-03-09 15:43   ` Hans Verkuil
2018-03-07 22:05 ` [PATCH v12 27/33] rcar-vin: add chsel information to rvin_info Niklas Söderlund
2018-03-09 15:43   ` Hans Verkuil
2018-03-07 22:05 ` [PATCH v12 28/33] rcar-vin: parse Gen3 OF and setup media graph Niklas Söderlund
2018-03-09 15:45   ` Hans Verkuil
2018-03-07 22:05 ` [PATCH v12 29/33] rcar-vin: add link notify for Gen3 Niklas Söderlund
2018-03-09 15:46   ` Hans Verkuil
2018-03-07 22:05 ` [PATCH v12 30/33] rcar-vin: extend {start,stop}_streaming to work with media controller Niklas Söderlund
2018-03-09 15:47   ` Hans Verkuil
2018-03-07 22:05 ` [PATCH v12 31/33] rcar-vin: enable support for r8a7795 Niklas Söderlund
2018-03-09 15:47   ` Hans Verkuil
2018-03-07 22:05 ` [PATCH v12 32/33] rcar-vin: enable support for r8a7796 Niklas Söderlund
2018-03-09 15:48   ` Hans Verkuil
2018-03-07 22:05 ` [PATCH v12 33/33] rcar-vin: enable support for r8a77970 Niklas Söderlund
2018-03-09 15:48   ` 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=20180309161711.GI2205@bigcity.dyn.berto.se \
    --to=niklas.soderlund@ragnatech.se \
    --cc=hverkuil@xs4all.nl \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --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.