linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hans Verkuil <hverkuil@xs4all.nl>
To: Vandana BN <bnvandana@gmail.com>,
	linux-media@vger.kernel.org,
	linux-kernel-mentees@lists.linuxfoundation.org
Cc: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Subject: Re: [PATCH v7 2/2] vivid: fixes for v4l2-compliance issues.
Date: Thu, 3 Oct 2019 14:54:47 +0200	[thread overview]
Message-ID: <a75b3099-eff7-b397-3e81-6061ad16a1fb@xs4all.nl> (raw)
In-Reply-To: <20190925082730.15550-3-bnvandana@gmail.com>

On 9/25/19 10:27 AM, Vandana BN wrote:
> From: Hans Verkuil <hverkuil@xs4all.nl>
> 
> This patch fixes v4l2-compliance issues seen on metadata device.
> 
> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>

Can you squash this patch into the previous one? It's really all fixes for the
previous patch, and it is better to apply one good patch.

No need to keep my Signed-off-by: it will be added again anyway when I merge
the v8 vivid metadata capture patch.

Regards,

	Hans

> ---
>  drivers/media/platform/vivid/vivid-core.c     | 16 +++++++++++++++-
>  drivers/media/platform/vivid/vivid-meta-cap.c |  2 +-
>  drivers/media/platform/vivid/vivid-vid-cap.c  |  5 ++++-
>  3 files changed, 20 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/media/platform/vivid/vivid-core.c b/drivers/media/platform/vivid/vivid-core.c
> index c7d317f45fc0..97ab197bdec0 100644
> --- a/drivers/media/platform/vivid/vivid-core.c
> +++ b/drivers/media/platform/vivid/vivid-core.c
> @@ -897,9 +897,14 @@ static int vivid_create_instance(struct platform_device *pdev, int inst)
>  				     V4L2_CAP_READWRITE;
>  
>  	/* set up the capabilities of meta capture device */
> -	if (dev->has_meta_cap)
> +	if (dev->has_meta_cap) {
>  		dev->meta_cap_caps = V4L2_CAP_META_CAPTURE |
>  				     V4L2_CAP_STREAMING | V4L2_CAP_READWRITE;
> +		if (dev->has_audio_inputs)
> +			dev->meta_cap_caps |= V4L2_CAP_AUDIO;
> +		if (in_type_counter[TV])
> +			dev->meta_cap_caps |= V4L2_CAP_TUNER;
> +	}
>  
>  	ret = -ENOMEM;
>  	/* initialize the test pattern generator */
> @@ -960,6 +965,9 @@ static int vivid_create_instance(struct platform_device *pdev, int inst)
>  		v4l2_disable_ioctl(&dev->vbi_cap_dev, VIDIOC_S_AUDIO);
>  		v4l2_disable_ioctl(&dev->vbi_cap_dev, VIDIOC_G_AUDIO);
>  		v4l2_disable_ioctl(&dev->vbi_cap_dev, VIDIOC_ENUMAUDIO);
> +		v4l2_disable_ioctl(&dev->meta_cap_dev, VIDIOC_S_AUDIO);
> +		v4l2_disable_ioctl(&dev->meta_cap_dev, VIDIOC_G_AUDIO);
> +		v4l2_disable_ioctl(&dev->meta_cap_dev, VIDIOC_ENUMAUDIO);
>  	}
>  	if (!dev->has_audio_outputs) {
>  		v4l2_disable_ioctl(&dev->vid_out_dev, VIDIOC_S_AUDOUT);
> @@ -985,12 +993,16 @@ static int vivid_create_instance(struct platform_device *pdev, int inst)
>  		v4l2_disable_ioctl(&dev->vid_cap_dev, VIDIOC_G_FREQUENCY);
>  		v4l2_disable_ioctl(&dev->vbi_cap_dev, VIDIOC_S_FREQUENCY);
>  		v4l2_disable_ioctl(&dev->vbi_cap_dev, VIDIOC_G_FREQUENCY);
> +		v4l2_disable_ioctl(&dev->meta_cap_dev, VIDIOC_S_FREQUENCY);
> +		v4l2_disable_ioctl(&dev->meta_cap_dev, VIDIOC_G_FREQUENCY);
>  	}
>  	if (!has_tuner) {
>  		v4l2_disable_ioctl(&dev->vid_cap_dev, VIDIOC_S_TUNER);
>  		v4l2_disable_ioctl(&dev->vid_cap_dev, VIDIOC_G_TUNER);
>  		v4l2_disable_ioctl(&dev->vbi_cap_dev, VIDIOC_S_TUNER);
>  		v4l2_disable_ioctl(&dev->vbi_cap_dev, VIDIOC_G_TUNER);
> +		v4l2_disable_ioctl(&dev->meta_cap_dev, VIDIOC_S_TUNER);
> +		v4l2_disable_ioctl(&dev->meta_cap_dev, VIDIOC_G_TUNER);
>  	}
>  	if (in_type_counter[HDMI] == 0) {
>  		v4l2_disable_ioctl(&dev->vid_cap_dev, VIDIOC_S_EDID);
> @@ -1016,6 +1028,7 @@ static int vivid_create_instance(struct platform_device *pdev, int inst)
>  	v4l2_disable_ioctl(&dev->vid_cap_dev, VIDIOC_S_HW_FREQ_SEEK);
>  	v4l2_disable_ioctl(&dev->vbi_cap_dev, VIDIOC_S_HW_FREQ_SEEK);
>  	v4l2_disable_ioctl(&dev->sdr_cap_dev, VIDIOC_S_HW_FREQ_SEEK);
> +	v4l2_disable_ioctl(&dev->meta_cap_dev, VIDIOC_S_HW_FREQ_SEEK);
>  	v4l2_disable_ioctl(&dev->vid_out_dev, VIDIOC_S_FREQUENCY);
>  	v4l2_disable_ioctl(&dev->vid_out_dev, VIDIOC_G_FREQUENCY);
>  	v4l2_disable_ioctl(&dev->vid_out_dev, VIDIOC_ENUM_FRAMESIZES);
> @@ -1552,6 +1565,7 @@ static int vivid_create_instance(struct platform_device *pdev, int inst)
>  		vfd->v4l2_dev = &dev->v4l2_dev;
>  		vfd->queue = &dev->vb_meta_cap_q;
>  		vfd->lock = &dev->mutex;
> +		vfd->tvnorms = tvnorms_cap;
>  		video_set_drvdata(vfd, dev);
>  #ifdef CONFIG_MEDIA_CONTROLLER
>  		dev->meta_cap_pad.flags = MEDIA_PAD_FL_SINK;
> diff --git a/drivers/media/platform/vivid/vivid-meta-cap.c b/drivers/media/platform/vivid/vivid-meta-cap.c
> index e3241d602b7a..b2f42c09abe1 100644
> --- a/drivers/media/platform/vivid/vivid-meta-cap.c
> +++ b/drivers/media/platform/vivid/vivid-meta-cap.c
> @@ -135,7 +135,7 @@ int vidioc_enum_fmt_meta_cap(struct file *file, void  *priv,
>  	struct vivid_dev *dev = video_drvdata(file);
>  
>  	if (!vivid_is_webcam(dev))
> -		return -ENODATA;
> +		return -EINVAL;
>  
>  	if (f->index > 0)
>  		return -EINVAL;
> diff --git a/drivers/media/platform/vivid/vivid-vid-cap.c b/drivers/media/platform/vivid/vivid-vid-cap.c
> index 2d030732feac..e94beef008c8 100644
> --- a/drivers/media/platform/vivid/vivid-vid-cap.c
> +++ b/drivers/media/platform/vivid/vivid-vid-cap.c
> @@ -1356,7 +1356,9 @@ int vidioc_s_input(struct file *file, void *priv, unsigned i)
>  	if (i == dev->input)
>  		return 0;
>  
> -	if (vb2_is_busy(&dev->vb_vid_cap_q) || vb2_is_busy(&dev->vb_vbi_cap_q))
> +	if (vb2_is_busy(&dev->vb_vid_cap_q) ||
> +	    vb2_is_busy(&dev->vb_vbi_cap_q) ||
> +	    vb2_is_busy(&dev->vb_meta_cap_q))
>  		return -EBUSY;
>  
>  	dev->input = i;
> @@ -1366,6 +1368,7 @@ int vidioc_s_input(struct file *file, void *priv, unsigned i)
>  		dev->vid_cap_dev.tvnorms = V4L2_STD_ALL;
>  	}
>  	dev->vbi_cap_dev.tvnorms = dev->vid_cap_dev.tvnorms;
> +	dev->meta_cap_dev.tvnorms = dev->vid_cap_dev.tvnorms;
>  	vivid_update_format_cap(dev, false);
>  
>  	if (dev->colorspace) {
> 


      reply	other threads:[~2019-10-03 12:54 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-03  9:45 [PATCH v2] vivid: Add metadata capture support Vandana BN
2019-09-09  9:52 ` [PATCH v3] " Vandana BN
2019-09-11 11:17   ` [PATCH v4] " Vandana BN
2019-09-13 12:01     ` Hans Verkuil
2019-09-16  7:48       ` [PATCH v5] " Vandana BN
2019-09-16 11:46         ` Hans Verkuil
2019-09-16 14:08           ` [PATCH v6] " Vandana BN
2019-09-17 11:03             ` Hans Verkuil
2019-09-25  8:27               ` [PATCH v7 0/2] " Vandana BN
2019-09-25  8:27                 ` [PATCH v7 1/2] " Vandana BN
2019-10-03 12:50                   ` Hans Verkuil
2019-10-04  9:44                     ` [PATCH v8] " Vandana BN
2019-10-04 10:02                       ` Hans Verkuil
2019-10-04 10:24                         ` [PATCH v9] " Vandana BN
2019-10-07 14:31                           ` Hans Verkuil
2019-10-08  7:27                             ` [PATCH v10 0/3] vivid: Metadata support Vandana BN
2019-10-08  7:27                               ` [PATCH v10 1/3] vivid: Add metadata capture support Vandana BN
2019-10-08  7:27                               ` [PATCH v10 2/3] v4l2-core: Add new metadata format Vandana BN
2019-10-08  7:27                               ` [PATCH v10 3/3] vivid: Add metadata output support Vandana BN
2019-10-15 10:40                               ` [PATCH v11 0/3] vivid: Metadata support Vandana BN
2019-10-15 10:40                                 ` [PATCH v11 1/3] vivid: Add metadata capture support Vandana BN
2019-10-15 10:40                                 ` [PATCH v11 2/3] v4l2-core: Add new metadata format Vandana BN
2019-10-15 10:40                                 ` [PATCH v11 3/3] vivid: Add metadata output support Vandana BN
2019-09-25  8:27                 ` [PATCH v7 2/2] vivid: fixes for v4l2-compliance issues Vandana BN
2019-10-03 12:54                   ` Hans Verkuil [this message]

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=a75b3099-eff7-b397-3e81-6061ad16a1fb@xs4all.nl \
    --to=hverkuil@xs4all.nl \
    --cc=bnvandana@gmail.com \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=linux-kernel-mentees@lists.linuxfoundation.org \
    --cc=linux-media@vger.kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).