diff options
author | Tomasz Stanislawski <t.stanislaws@samsung.com> | 2012-06-14 10:32:27 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-11-25 14:21:51 -0500 |
commit | 3c44efd3b2af20c50769998e496d744a6d490e66 (patch) | |
tree | 2867af65558090d616f8cf9ef1e9ecaa904e01be /drivers/media | |
parent | b28d61b622496038db621fe1dab1caf0e91c6c94 (diff) |
[media] v4l: s5p-tv: mixer: support for dmabuf exporting
This patch enhances s5p-tv with support for DMABUF exporting via
VIDIOC_EXPBUF ioctl.
Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/platform/s5p-tv/mixer_video.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/media/platform/s5p-tv/mixer_video.c b/drivers/media/platform/s5p-tv/mixer_video.c index 79a7ea3ae04a..7379e77bf4e1 100644 --- a/drivers/media/platform/s5p-tv/mixer_video.c +++ b/drivers/media/platform/s5p-tv/mixer_video.c | |||
@@ -697,6 +697,15 @@ static int mxr_dqbuf(struct file *file, void *priv, struct v4l2_buffer *p) | |||
697 | return vb2_dqbuf(&layer->vb_queue, p, file->f_flags & O_NONBLOCK); | 697 | return vb2_dqbuf(&layer->vb_queue, p, file->f_flags & O_NONBLOCK); |
698 | } | 698 | } |
699 | 699 | ||
700 | static int mxr_expbuf(struct file *file, void *priv, | ||
701 | struct v4l2_exportbuffer *eb) | ||
702 | { | ||
703 | struct mxr_layer *layer = video_drvdata(file); | ||
704 | |||
705 | mxr_dbg(layer->mdev, "%s:%d\n", __func__, __LINE__); | ||
706 | return vb2_expbuf(&layer->vb_queue, eb); | ||
707 | } | ||
708 | |||
700 | static int mxr_streamon(struct file *file, void *priv, enum v4l2_buf_type i) | 709 | static int mxr_streamon(struct file *file, void *priv, enum v4l2_buf_type i) |
701 | { | 710 | { |
702 | struct mxr_layer *layer = video_drvdata(file); | 711 | struct mxr_layer *layer = video_drvdata(file); |
@@ -724,6 +733,7 @@ static const struct v4l2_ioctl_ops mxr_ioctl_ops = { | |||
724 | .vidioc_querybuf = mxr_querybuf, | 733 | .vidioc_querybuf = mxr_querybuf, |
725 | .vidioc_qbuf = mxr_qbuf, | 734 | .vidioc_qbuf = mxr_qbuf, |
726 | .vidioc_dqbuf = mxr_dqbuf, | 735 | .vidioc_dqbuf = mxr_dqbuf, |
736 | .vidioc_expbuf = mxr_expbuf, | ||
727 | /* Streaming control */ | 737 | /* Streaming control */ |
728 | .vidioc_streamon = mxr_streamon, | 738 | .vidioc_streamon = mxr_streamon, |
729 | .vidioc_streamoff = mxr_streamoff, | 739 | .vidioc_streamoff = mxr_streamoff, |