]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: mediatek: vcodec: Drop unneeded v4l2_m2m_get_vq() NULL check
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Wed, 15 Oct 2025 07:53:32 +0000 (10:53 +0300)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Fri, 17 Oct 2025 09:31:14 +0000 (11:31 +0200)
The v4l2_m2m_get_vq() function never returns NULL.

In the set format handlers, the check may have been intended to catch
invalid format types, but that's not needed as the V4L2 core picks the
appropriate VIDIOC_S_FMT ioctl handler based on the format type, so the
type can't be incorrect.

In the get format handlers, the return value is not used for any purpose
other than the NULL check, which was therefore probably intended to
catch invalid format types. That's not needed for the same reason as in
the set format handler.

In other locations the v4l2_m2m_get_vq() function is called with a
hardcoded V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE type, so the NULL check
can't have been an attempt to catch an invalid type there either.

Drop the unneeded return value checks and, as the function has no side
effect, the unneeded function call as well.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec.c
drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c
drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c
drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc.c

index d691bd533103b100e7d1817e834696cc5b3990ce..1f32ba11a18c070d825e850d0c5ed07c625e5cf2 100644 (file)
@@ -674,15 +674,8 @@ static int vidioc_vdec_g_fmt(struct file *file, void *priv,
 {
        struct mtk_vcodec_dec_ctx *ctx = file_to_dec_ctx(file);
        struct v4l2_pix_format_mplane *pix_mp = &f->fmt.pix_mp;
-       struct vb2_queue *vq;
        struct mtk_q_data *q_data;
 
-       vq = v4l2_m2m_get_vq(ctx->m2m_ctx, f->type);
-       if (!vq) {
-               mtk_v4l2_vdec_err(ctx, "no vb2 queue for type=%d", f->type);
-               return -EINVAL;
-       }
-
        q_data = mtk_vdec_get_q_data(ctx, f->type);
 
        pix_mp->field = V4L2_FIELD_NONE;
index bf21f2467a0fcd80e07aa3cf64d3c2fea02b8b73..08e0f5a709350c3fe6a85f757b473b2f06cbdf72 100644 (file)
@@ -1810,8 +1810,6 @@ static int vdec_av1_slice_setup_core_buffer(struct vdec_av1_slice_instance *inst
 
        /* reference buffers */
        vq = v4l2_m2m_get_vq(instance->ctx->m2m_ctx, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
-       if (!vq)
-               return -EINVAL;
 
        /* get current output buffer */
        vb = &v4l2_m2m_next_dst_buf(instance->ctx->m2m_ctx)->vb2_buf;
index 47c302745c1de9cdc7a0ea939e5dd3726a49e513..45cd555a5fb51775af829cead754492e01f8a987 100644 (file)
@@ -1686,8 +1686,6 @@ static int vdec_vp9_slice_setup_core_buffer(struct vdec_vp9_slice_instance *inst
        /* reference buffers */
        vq = v4l2_m2m_get_vq(instance->ctx->m2m_ctx,
                             V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
-       if (!vq)
-               return -EINVAL;
 
        /* get current output buffer */
        vb = &v4l2_m2m_next_dst_buf(instance->ctx->m2m_ctx)->vb2_buf;
index d815e962ab8981c53000851e8f2bc61faf28056d..6faf3f659e751097f31be23c46d8cf586306e889 100644 (file)
@@ -421,10 +421,6 @@ static int vidioc_venc_s_fmt_cap(struct file *file, void *priv,
        const struct mtk_video_fmt *fmt;
 
        vq = v4l2_m2m_get_vq(ctx->m2m_ctx, f->type);
-       if (!vq) {
-               mtk_v4l2_venc_err(ctx, "fail to get vq");
-               return -EINVAL;
-       }
 
        if (vb2_is_busy(vq)) {
                mtk_v4l2_venc_err(ctx, "queue busy");
@@ -476,10 +472,6 @@ static int vidioc_venc_s_fmt_out(struct file *file, void *priv,
        const struct mtk_video_fmt *fmt;
 
        vq = v4l2_m2m_get_vq(ctx->m2m_ctx, f->type);
-       if (!vq) {
-               mtk_v4l2_venc_err(ctx, "fail to get vq");
-               return -EINVAL;
-       }
 
        if (vb2_is_busy(vq)) {
                mtk_v4l2_venc_err(ctx, "queue busy");
@@ -524,15 +516,9 @@ static int vidioc_venc_g_fmt(struct file *file, void *priv,
 {
        struct v4l2_pix_format_mplane *pix = &f->fmt.pix_mp;
        struct mtk_vcodec_enc_ctx *ctx = file_to_enc_ctx(file);
-       struct vb2_queue *vq;
        struct mtk_q_data *q_data = mtk_venc_get_q_data(ctx, f->type);
        int i;
 
-       vq = v4l2_m2m_get_vq(ctx->m2m_ctx, f->type);
-       if (!vq)
-               return -EINVAL;
-
-
        pix->width = q_data->coded_width;
        pix->height = q_data->coded_height;
        pix->pixelformat = q_data->fmt->fourcc;