Re: [PATCH v2 2/3] media: vivid: remove stream_sliced_vbi_cap field

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Tomi,

Thank you for the patch.

On Mon, Apr 12, 2021 at 02:02:10PM +0300, Tomi Valkeinen wrote:
> Vivid tracks the VBI capture mode in vivid_dev->stream_sliced_vbi_cap
> field.  We can just look at the buffer type instead, and drop the field.
> 
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>
> ---
>  drivers/media/test-drivers/vivid/vivid-core.h        | 1 -
>  drivers/media/test-drivers/vivid/vivid-kthread-cap.c | 2 +-
>  drivers/media/test-drivers/vivid/vivid-vbi-cap.c     | 6 ++----
>  3 files changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/media/test-drivers/vivid/vivid-core.h b/drivers/media/test-drivers/vivid/vivid-core.h
> index 9c2d1470b597..9af7e843c2cf 100644
> --- a/drivers/media/test-drivers/vivid/vivid-core.h
> +++ b/drivers/media/test-drivers/vivid/vivid-core.h
> @@ -428,7 +428,6 @@ struct vivid_dev {
>  	u32				vbi_cap_seq_start;
>  	u32				vbi_cap_seq_count;
>  	bool				vbi_cap_streaming;
> -	bool				stream_sliced_vbi_cap;
>  	u32				meta_cap_seq_start;
>  	u32				meta_cap_seq_count;
>  	bool				meta_cap_streaming;
> diff --git a/drivers/media/test-drivers/vivid/vivid-kthread-cap.c b/drivers/media/test-drivers/vivid/vivid-kthread-cap.c
> index 67fb3c00f9ad..781763c193eb 100644
> --- a/drivers/media/test-drivers/vivid/vivid-kthread-cap.c
> +++ b/drivers/media/test-drivers/vivid/vivid-kthread-cap.c
> @@ -750,7 +750,7 @@ static noinline_for_stack void vivid_thread_vid_cap_tick(struct vivid_dev *dev,
>  
>  		v4l2_ctrl_request_setup(vbi_cap_buf->vb.vb2_buf.req_obj.req,
>  					&dev->ctrl_hdl_vbi_cap);
> -		if (dev->stream_sliced_vbi_cap)
> +		if (vbi_cap_buf->vb.vb2_buf.type == V4L2_BUF_TYPE_SLICED_VBI_CAPTURE)
>  			vivid_sliced_vbi_cap_process(dev, vbi_cap_buf);
>  		else
>  			vivid_raw_vbi_cap_process(dev, vbi_cap_buf);
> diff --git a/drivers/media/test-drivers/vivid/vivid-vbi-cap.c b/drivers/media/test-drivers/vivid/vivid-vbi-cap.c
> index 1a9348eea781..387df4ff01b0 100644
> --- a/drivers/media/test-drivers/vivid/vivid-vbi-cap.c
> +++ b/drivers/media/test-drivers/vivid/vivid-vbi-cap.c
> @@ -255,9 +255,8 @@ int vidioc_s_fmt_vbi_cap(struct file *file, void *priv,
>  
>  	if (ret)
>  		return ret;
> -	if (dev->stream_sliced_vbi_cap && vb2_is_busy(&dev->vb_vbi_cap_q))
> +	if (f->type != V4L2_BUF_TYPE_VBI_CAPTURE && vb2_is_busy(&dev->vb_vbi_cap_q))

I think think this is correct. The code checks if the currently
configured format is the sliced variant, and you replace this with a
check for the new format.

>  		return -EBUSY;
> -	dev->stream_sliced_vbi_cap = false;
>  	dev->vbi_cap_dev.queue->type = V4L2_BUF_TYPE_VBI_CAPTURE;
>  	return 0;
>  }
> @@ -322,10 +321,9 @@ int vidioc_s_fmt_sliced_vbi_cap(struct file *file, void *fh, struct v4l2_format
>  
>  	if (ret)
>  		return ret;
> -	if (!dev->stream_sliced_vbi_cap && vb2_is_busy(&dev->vb_vbi_cap_q))
> +	if (fmt->type != V4L2_BUF_TYPE_SLICED_VBI_CAPTURE && vb2_is_busy(&dev->vb_vbi_cap_q))
>  		return -EBUSY;
>  	dev->service_set_cap = vbi->service_set;
> -	dev->stream_sliced_vbi_cap = true;
>  	dev->vbi_cap_dev.queue->type = V4L2_BUF_TYPE_SLICED_VBI_CAPTURE;
>  	return 0;
>  }

-- 
Regards,

Laurent Pinchart



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux