media: venus: provide video device lock
Commit Message
Video device has to provide ->lock so that __video_do_ioctl()
can serialize IOCTL calls.
Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org>
---
drivers/media/platform/qcom/venus/vdec.c | 1 +
drivers/media/platform/qcom/venus/venc.c | 1 +
2 files changed, 2 insertions(+)
Comments
On (23/05/24 10:36), Sergey Senozhatsky wrote:
> Video device has to provide ->lock so that __video_do_ioctl()
> can serialize IOCTL calls.
>
> Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org>
> ---
> drivers/media/platform/qcom/venus/vdec.c | 1 +
> drivers/media/platform/qcom/venus/venc.c | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c
> index 51a53bf82bd3..90b359074c35 100644
> --- a/drivers/media/platform/qcom/venus/vdec.c
> +++ b/drivers/media/platform/qcom/venus/vdec.c
> @@ -1767,6 +1767,7 @@ static int vdec_probe(struct platform_device *pdev)
> vdev->vfl_dir = VFL_DIR_M2M;
> vdev->v4l2_dev = &core->v4l2_dev;
> vdev->device_caps = V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_STREAMING;
> + vdev->lock = &core->lock;
>
> ret = video_register_device(vdev, VFL_TYPE_VIDEO, -1);
> if (ret)
> diff --git a/drivers/media/platform/qcom/venus/venc.c b/drivers/media/platform/qcom/venus/venc.c
> index 4666f42feea3..e6b63ff5bc0e 100644
> --- a/drivers/media/platform/qcom/venus/venc.c
> +++ b/drivers/media/platform/qcom/venus/venc.c
> @@ -1565,6 +1565,7 @@ static int venc_probe(struct platform_device *pdev)
> vdev->vfl_dir = VFL_DIR_M2M;
> vdev->v4l2_dev = &core->v4l2_dev;
> vdev->device_caps = V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_STREAMING;
> + vdev->lock = &core->lock;
Or should it use a dedicated mutex to serialize video_do_ioctl()?
@@ -1767,6 +1767,7 @@ static int vdec_probe(struct platform_device *pdev)
vdev->vfl_dir = VFL_DIR_M2M;
vdev->v4l2_dev = &core->v4l2_dev;
vdev->device_caps = V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_STREAMING;
+ vdev->lock = &core->lock;
ret = video_register_device(vdev, VFL_TYPE_VIDEO, -1);
if (ret)
@@ -1565,6 +1565,7 @@ static int venc_probe(struct platform_device *pdev)
vdev->vfl_dir = VFL_DIR_M2M;
vdev->v4l2_dev = &core->v4l2_dev;
vdev->device_caps = V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_STREAMING;
+ vdev->lock = &core->lock;
ret = video_register_device(vdev, VFL_TYPE_VIDEO, -1);
if (ret)