v4l/s5p-mfc: added DMABUF support for encoder
Commit Message
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
Patch cleanly applies after patch
http://patchwork.linuxtv.org/patch/13797/
---
drivers/media/video/s5p-mfc/s5p_mfc.c | 4 ++--
drivers/media/video/s5p-mfc/s5p_mfc_enc.c | 3 ++-
2 files changed, 4 insertions(+), 3 deletions(-)
Comments
Hi Andrzej,
Thank you for your patch.
Best wishes,
--
Kamil Debski
Linux Platform Group
Samsung Poland R&D Center
> From: Andrzej Hajda [mailto:a.hajda@samsung.com]
> Sent: 14 August 2012 11:30
>
> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Kamil Debski <k.debski@samsung.com>
> ---
> Patch cleanly applies after patch
> http://patchwork.linuxtv.org/patch/13797/
> ---
> drivers/media/video/s5p-mfc/s5p_mfc.c | 4 ++--
> drivers/media/video/s5p-mfc/s5p_mfc_enc.c | 3 ++-
> 2 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/media/video/s5p-mfc/s5p_mfc.c
b/drivers/media/video/s5p-
> mfc/s5p_mfc.c
> index e5c2b80..ab7b74c 100644
> --- a/drivers/media/video/s5p-mfc/s5p_mfc.c
> +++ b/drivers/media/video/s5p-mfc/s5p_mfc.c
> @@ -801,7 +801,7 @@ static int s5p_mfc_open(struct file *file)
> q->io_modes = VB2_MMAP;
> q->ops = get_dec_queue_ops();
> } else if (s5p_mfc_get_node_type(file) == MFCNODE_ENCODER) {
> - q->io_modes = VB2_MMAP | VB2_USERPTR;
> + q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF;
> q->ops = get_enc_queue_ops();
> } else {
> ret = -ENOENT;
> @@ -822,7 +822,7 @@ static int s5p_mfc_open(struct file *file)
> q->io_modes = VB2_MMAP;
> q->ops = get_dec_queue_ops();
> } else if (s5p_mfc_get_node_type(file) == MFCNODE_ENCODER) {
> - q->io_modes = VB2_MMAP | VB2_USERPTR;
> + q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF;
> q->ops = get_enc_queue_ops();
> } else {
> ret = -ENOENT;
> diff --git a/drivers/media/video/s5p-mfc/s5p_mfc_enc.c
> b/drivers/media/video/s5p-mfc/s5p_mfc_enc.c
> index 53c305d..b1a5f85 100644
> --- a/drivers/media/video/s5p-mfc/s5p_mfc_enc.c
> +++ b/drivers/media/video/s5p-mfc/s5p_mfc_enc.c
> @@ -1028,7 +1028,8 @@ static int vidioc_reqbufs(struct file *file, void
*priv,
>
> /* if memory is not mmp or userptr return error */
> if ((reqbufs->memory != V4L2_MEMORY_MMAP) &&
> - (reqbufs->memory != V4L2_MEMORY_USERPTR))
> + (reqbufs->memory != V4L2_MEMORY_USERPTR) &&
> + (reqbufs->memory != V4L2_MEMORY_DMABUF))
> return -EINVAL;
> if (reqbufs->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
> if (ctx->capture_state != QUEUE_FREE) {
> --
> 1.7.0.4
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
@@ -801,7 +801,7 @@ static int s5p_mfc_open(struct file *file)
q->io_modes = VB2_MMAP;
q->ops = get_dec_queue_ops();
} else if (s5p_mfc_get_node_type(file) == MFCNODE_ENCODER) {
- q->io_modes = VB2_MMAP | VB2_USERPTR;
+ q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF;
q->ops = get_enc_queue_ops();
} else {
ret = -ENOENT;
@@ -822,7 +822,7 @@ static int s5p_mfc_open(struct file *file)
q->io_modes = VB2_MMAP;
q->ops = get_dec_queue_ops();
} else if (s5p_mfc_get_node_type(file) == MFCNODE_ENCODER) {
- q->io_modes = VB2_MMAP | VB2_USERPTR;
+ q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF;
q->ops = get_enc_queue_ops();
} else {
ret = -ENOENT;
@@ -1028,7 +1028,8 @@ static int vidioc_reqbufs(struct file *file, void *priv,
/* if memory is not mmp or userptr return error */
if ((reqbufs->memory != V4L2_MEMORY_MMAP) &&
- (reqbufs->memory != V4L2_MEMORY_USERPTR))
+ (reqbufs->memory != V4L2_MEMORY_USERPTR) &&
+ (reqbufs->memory != V4L2_MEMORY_DMABUF))
return -EINVAL;
if (reqbufs->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
if (ctx->capture_state != QUEUE_FREE) {