Re: [PATCH v9 11/28] rcar-vin: do not allow changing scaling and composing while streaming

Niklas Söderlund
2017-12-08T14:14:26Z

Hi Laurent,

Thanks for your feedback.

On 2017-12-08 11:04:26 +0200, Laurent Pinchart wrote:
> Hi Niklas,
>
> Thank you for the patch.
>
> On Friday, 8 December 2017 03:08:25 EET Niklas Söderlund wrote:
> > It is possible on Gen2 to change the registers controlling composing and
> > scaling while the stream is running. It is however not a good idea to do
> > so and could result in trouble. There are also no good reasons to allow
> > this, remove immediate reflection in hardware registers from
> > vidioc_s_selection and only configure scaling and composing when the
> > stream starts.
>
> There is a good reason: digital zoom.

OK, so you would recommend me to drop this patch to keep the current
behavior?

>
> > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> > Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
> > ---
> > drivers/media/platform/rcar-vin/rcar-dma.c | 2 +-
> > drivers/media/platform/rcar-vin/rcar-v4l2.c | 3 ---
> > drivers/media/platform/rcar-vin/rcar-vin.h | 3 ---
> > 3 files changed, 1 insertion(+), 7 deletions(-)
> >
> > diff --git a/drivers/media/platform/rcar-vin/rcar-dma.c
> > b/drivers/media/platform/rcar-vin/rcar-dma.c index
> > fd14be20a6604d7a..7be5080f742825fb 100644
> > --- a/drivers/media/platform/rcar-vin/rcar-dma.c
> > +++ b/drivers/media/platform/rcar-vin/rcar-dma.c
> > @@ -514,7 +514,7 @@ static void rvin_set_coeff(struct rvin_dev *vin,
> > unsigned short xs) rvin_write(vin, p_set->coeff_set[23], VNC8C_REG);
> > }
> >
> > -void rvin_crop_scale_comp(struct rvin_dev *vin)
> > +static void rvin_crop_scale_comp(struct rvin_dev *vin)
> > {
> > u32 xs, ys;
> >
> > diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c
> > b/drivers/media/platform/rcar-vin/rcar-v4l2.c index
> > 254fa1c8770275a5..d6298c684ab2d731 100644
> > --- a/drivers/media/platform/rcar-vin/rcar-v4l2.c
> > +++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c
> > @@ -436,9 +436,6 @@ static int rvin_s_selection(struct file *file, void *fh,
> > return -EINVAL;
> > }
> >
> > - /* HW supports modifying configuration while running */
> > - rvin_crop_scale_comp(vin);
> > -
> > return 0;
> > }
> >
> > diff --git a/drivers/media/platform/rcar-vin/rcar-vin.h
> > b/drivers/media/platform/rcar-vin/rcar-vin.h index
> > 36d0f0cc4ce01a6e..67541b483ee43c52 100644
> > --- a/drivers/media/platform/rcar-vin/rcar-vin.h
> > +++ b/drivers/media/platform/rcar-vin/rcar-vin.h
> > @@ -175,7 +175,4 @@ void rvin_v4l2_unregister(struct rvin_dev *vin);
> >
> > const struct rvin_video_format *rvin_format_from_pixel(u32 pixelformat);
> >
> > -/* Cropping, composing and scaling */
> > -void rvin_crop_scale_comp(struct rvin_dev *vin);
> > -
> > #endif
>
> --
> Regards,
>
> Laurent Pinchart
>

--
Regards,
Niklas Söderlund