hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/media/platform/rcar_jpu.c
....@@ -664,15 +664,13 @@
664664 struct jpu_ctx *ctx = fh_to_ctx(priv);
665665
666666 if (ctx->encoder)
667
- strlcpy(cap->card, DRV_NAME " encoder", sizeof(cap->card));
667
+ strscpy(cap->card, DRV_NAME " encoder", sizeof(cap->card));
668668 else
669
- strlcpy(cap->card, DRV_NAME " decoder", sizeof(cap->card));
669
+ strscpy(cap->card, DRV_NAME " decoder", sizeof(cap->card));
670670
671
- strlcpy(cap->driver, DRV_NAME, sizeof(cap->driver));
671
+ strscpy(cap->driver, DRV_NAME, sizeof(cap->driver));
672672 snprintf(cap->bus_info, sizeof(cap->bus_info), "platform:%s",
673673 dev_name(ctx->jpu->dev));
674
- cap->device_caps |= V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_M2M_MPLANE;
675
- cap->capabilities = V4L2_CAP_DEVICE_CAPS | cap->device_caps;
676674 memset(cap->reserved, 0, sizeof(cap->reserved));
677675
678676 return 0;
....@@ -948,8 +946,8 @@
948946 static const struct v4l2_ioctl_ops jpu_ioctl_ops = {
949947 .vidioc_querycap = jpu_querycap,
950948
951
- .vidioc_enum_fmt_vid_cap_mplane = jpu_enum_fmt_cap,
952
- .vidioc_enum_fmt_vid_out_mplane = jpu_enum_fmt_out,
949
+ .vidioc_enum_fmt_vid_cap = jpu_enum_fmt_cap,
950
+ .vidioc_enum_fmt_vid_out = jpu_enum_fmt_out,
953951 .vidioc_g_fmt_vid_cap_mplane = jpu_g_fmt,
954952 .vidioc_g_fmt_vid_out_mplane = jpu_g_fmt,
955953 .vidioc_try_fmt_vid_cap_mplane = jpu_try_fmt,
....@@ -1068,7 +1066,7 @@
10681066 }
10691067
10701068 /* decoder capture queue */
1071
- if (!ctx->encoder && !V4L2_TYPE_IS_OUTPUT(vb->vb2_queue->type))
1069
+ if (!ctx->encoder && V4L2_TYPE_IS_CAPTURE(vb->vb2_queue->type))
10721070 vb2_set_plane_payload(vb, i, size);
10731071 }
10741072
....@@ -1654,7 +1652,7 @@
16541652 for (i = 0; i < JPU_MAX_QUALITY; i++)
16551653 jpu_generate_hdr(i, (unsigned char *)jpeg_hdrs[i]);
16561654
1657
- strlcpy(jpu->vfd_encoder.name, DRV_NAME, sizeof(jpu->vfd_encoder.name));
1655
+ strscpy(jpu->vfd_encoder.name, DRV_NAME, sizeof(jpu->vfd_encoder.name));
16581656 jpu->vfd_encoder.fops = &jpu_fops;
16591657 jpu->vfd_encoder.ioctl_ops = &jpu_ioctl_ops;
16601658 jpu->vfd_encoder.minor = -1;
....@@ -1662,8 +1660,10 @@
16621660 jpu->vfd_encoder.lock = &jpu->mutex;
16631661 jpu->vfd_encoder.v4l2_dev = &jpu->v4l2_dev;
16641662 jpu->vfd_encoder.vfl_dir = VFL_DIR_M2M;
1663
+ jpu->vfd_encoder.device_caps = V4L2_CAP_STREAMING |
1664
+ V4L2_CAP_VIDEO_M2M_MPLANE;
16651665
1666
- ret = video_register_device(&jpu->vfd_encoder, VFL_TYPE_GRABBER, -1);
1666
+ ret = video_register_device(&jpu->vfd_encoder, VFL_TYPE_VIDEO, -1);
16671667 if (ret) {
16681668 v4l2_err(&jpu->v4l2_dev, "Failed to register video device\n");
16691669 goto m2m_init_rollback;
....@@ -1671,7 +1671,7 @@
16711671
16721672 video_set_drvdata(&jpu->vfd_encoder, jpu);
16731673
1674
- strlcpy(jpu->vfd_decoder.name, DRV_NAME, sizeof(jpu->vfd_decoder.name));
1674
+ strscpy(jpu->vfd_decoder.name, DRV_NAME, sizeof(jpu->vfd_decoder.name));
16751675 jpu->vfd_decoder.fops = &jpu_fops;
16761676 jpu->vfd_decoder.ioctl_ops = &jpu_ioctl_ops;
16771677 jpu->vfd_decoder.minor = -1;
....@@ -1679,8 +1679,10 @@
16791679 jpu->vfd_decoder.lock = &jpu->mutex;
16801680 jpu->vfd_decoder.v4l2_dev = &jpu->v4l2_dev;
16811681 jpu->vfd_decoder.vfl_dir = VFL_DIR_M2M;
1682
+ jpu->vfd_decoder.device_caps = V4L2_CAP_STREAMING |
1683
+ V4L2_CAP_VIDEO_M2M_MPLANE;
16821684
1683
- ret = video_register_device(&jpu->vfd_decoder, VFL_TYPE_GRABBER, -1);
1685
+ ret = video_register_device(&jpu->vfd_decoder, VFL_TYPE_VIDEO, -1);
16841686 if (ret) {
16851687 v4l2_err(&jpu->v4l2_dev, "Failed to register video device\n");
16861688 goto enc_vdev_register_rollback;