aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorTomasz Stanislawski <t.stanislaws@samsung.com>2012-06-14 10:32:27 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-11-25 14:21:51 -0500
commit3c44efd3b2af20c50769998e496d744a6d490e66 (patch)
tree2867af65558090d616f8cf9ef1e9ecaa904e01be /drivers/media
parentb28d61b622496038db621fe1dab1caf0e91c6c94 (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.c10
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
700static 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
700static int mxr_streamon(struct file *file, void *priv, enum v4l2_buf_type i) 709static 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,