Browse Source

[media] s5p-mfc: Add handling of buffer freeing reqbufs request

The encoder forget the work to call hardware to release its buffers.
This patch came from chromium project. I just change its code
style and make the API match with new kernel.

Signed-off-by: ayaka <ayaka@soulik.info>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
ayaka 9 năm trước cách đây
mục cha
commit
bcbf298669
1 tập tin đã thay đổi với 3 bổ sung0 xóa
  1. 3 0
      drivers/media/platform/s5p-mfc/s5p_mfc_enc.c

+ 3 - 0
drivers/media/platform/s5p-mfc/s5p_mfc_enc.c

@@ -1144,7 +1144,10 @@ static int vidioc_reqbufs(struct file *file, void *priv,
 		return -EINVAL;
 	if (reqbufs->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
 		if (reqbufs->count == 0) {
+			mfc_debug(2, "Freeing buffers\n");
 			ret = vb2_reqbufs(&ctx->vq_dst, reqbufs);
+			s5p_mfc_hw_call(dev->mfc_ops, release_codec_buffers,
+					ctx);
 			ctx->capture_state = QUEUE_FREE;
 			return ret;
 		}