lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210928084323.5vuhvkp6ev2emv2z@uno.localdomain>
Date:   Tue, 28 Sep 2021 10:43:23 +0200
From:   Jacopo Mondi <jacopo@...ndi.org>
To:     Nikita Yushchenko <nikita.yoush@...entembedded.com>,
        Hans Verkuil <hverkuil@...all.nl>
Cc:     Niklas Söderlund <niklas.soderlund@...natech.se>,
        Mauro Carvalho Chehab <mchehab@...nel.org>,
        linux-media@...r.kernel.org, linux-renesas-soc@...r.kernel.org,
        linux-kernel@...r.kernel.org,
        Vladimir Barinov <vladimir.barinov@...entembedded.com>
Subject: Re: [PATCH v2] media: rcar-vin: add G/S_PARM ioctls

Hello
  explicit Cc Hans, as I recall the usage of s/g_parm was deprecated
and discouraged in mainline.

Hans: Support for g/s_param is required by Nikita to maintain
compatibility with (out of tree?) subdevice drivers. Should we add it
to the mainline receiver driver ?

What other API should be used to control the subdevice framerate ?
Should it go through VIDIOC_SUBDEV_S_FRAME_INTERVAL instead ?

Thanks
   j

On Fri, Sep 24, 2021 at 04:51:38PM +0300, Nikita Yushchenko wrote:
> From: Vladimir Barinov <vladimir.barinov@...entembedded.com>
>
> This adds g/s_parm ioctls for parallel interface.
>
> Signed-off-by: Vladimir Barinov <vladimir.barinov@...entembedded.com>
> Signed-off-by: Nikita Yushchenko <nikita.yoush@...entembedded.com>
> ---
> Changes from v1:
> - use &vin->vdev to access vin's struct video_device
>
>  drivers/media/platform/rcar-vin/rcar-v4l2.c | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
>
> diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c b/drivers/media/platform/rcar-vin/rcar-v4l2.c
> index bdeff51bf768..a5bfa76fdac6 100644
> --- a/drivers/media/platform/rcar-vin/rcar-v4l2.c
> +++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c
> @@ -527,6 +527,24 @@ static int rvin_s_selection(struct file *file, void *fh,
>  	return 0;
>  }
>
> +static int rvin_g_parm(struct file *file, void *priv,
> +		       struct v4l2_streamparm *parm)
> +{
> +	struct rvin_dev *vin = video_drvdata(file);
> +	struct v4l2_subdev *sd = vin_to_source(vin);
> +
> +	return v4l2_g_parm_cap(&vin->vdev, sd, parm);
> +}
> +
> +static int rvin_s_parm(struct file *file, void *priv,
> +		       struct v4l2_streamparm *parm)
> +{
> +	struct rvin_dev *vin = video_drvdata(file);
> +	struct v4l2_subdev *sd = vin_to_source(vin);
> +
> +	return v4l2_s_parm_cap(&vin->vdev, sd, parm);
> +}
> +
>  static int rvin_g_pixelaspect(struct file *file, void *priv,
>  			      int type, struct v4l2_fract *f)
>  {
> @@ -743,6 +761,9 @@ static const struct v4l2_ioctl_ops rvin_ioctl_ops = {
>  	.vidioc_g_selection		= rvin_g_selection,
>  	.vidioc_s_selection		= rvin_s_selection,
>
> +	.vidioc_g_parm			= rvin_g_parm,
> +	.vidioc_s_parm			= rvin_s_parm,
> +
>  	.vidioc_g_pixelaspect		= rvin_g_pixelaspect,
>
>  	.vidioc_enum_input		= rvin_enum_input,
> --
> 2.30.2
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ