hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/media/platform/sti/hva/hva-v4l2.c
....@@ -257,8 +257,8 @@
257257 struct hva_ctx *ctx = fh_to_ctx(file->private_data);
258258 struct hva_dev *hva = ctx_to_hdev(ctx);
259259
260
- strlcpy(cap->driver, HVA_NAME, sizeof(cap->driver));
261
- strlcpy(cap->card, hva->vdev->name, sizeof(cap->card));
260
+ strscpy(cap->driver, HVA_NAME, sizeof(cap->driver));
261
+ strscpy(cap->card, hva->vdev->name, sizeof(cap->card));
262262 snprintf(cap->bus_info, sizeof(cap->bus_info), "platform:%s",
263263 hva->pdev->name);
264264
....@@ -566,6 +566,7 @@
566566 */
567567 struct vb2_queue *vq;
568568 struct hva_stream *stream;
569
+ struct vb2_buffer *vb2_buf;
569570
570571 vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx, buf->type);
571572
....@@ -575,7 +576,8 @@
575576 return -EINVAL;
576577 }
577578
578
- stream = (struct hva_stream *)vq->bufs[buf->index];
579
+ vb2_buf = vb2_get_buffer(vq, buf->index);
580
+ stream = to_hva_stream(to_vb2_v4l2_buffer(vb2_buf));
579581 stream->bytesused = buf->bytesused;
580582 }
581583
....@@ -1085,7 +1087,7 @@
10851087
10861088 if ((V4L2_TYPE_IS_OUTPUT(vq->type) &&
10871089 vb2_is_streaming(&ctx->fh.m2m_ctx->cap_q_ctx.q)) ||
1088
- (!V4L2_TYPE_IS_OUTPUT(vq->type) &&
1090
+ (V4L2_TYPE_IS_CAPTURE(vq->type) &&
10891091 vb2_is_streaming(&ctx->fh.m2m_ctx->out_q_ctx.q))) {
10901092 dev_dbg(dev, "%s %s out=%d cap=%d\n",
10911093 ctx->name, to_type_str(vq->type),
....@@ -1314,7 +1316,7 @@
13141316 snprintf(vdev->name, sizeof(vdev->name), "%s%lx", HVA_NAME,
13151317 hva->ip_version);
13161318
1317
- ret = video_register_device(vdev, VFL_TYPE_GRABBER, -1);
1319
+ ret = video_register_device(vdev, VFL_TYPE_VIDEO, -1);
13181320 if (ret) {
13191321 dev_err(dev, "%s failed to register video device\n",
13201322 HVA_PREFIX);