aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-4.19/950-0243-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-4.19/950-0243-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch')
-rw-r--r--target/linux/bcm27xx/patches-4.19/950-0243-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch83
1 files changed, 0 insertions, 83 deletions
diff --git a/target/linux/bcm27xx/patches-4.19/950-0243-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch b/target/linux/bcm27xx/patches-4.19/950-0243-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch
deleted file mode 100644
index fbaa3c2d40..0000000000
--- a/target/linux/bcm27xx/patches-4.19/950-0243-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 0b2a62596d0e6efe17bb87a3a5ebd91cee60c64b Mon Sep 17 00:00:00 2001
-From: Dave Stevenson <dave.stevenson@raspberrypi.org>
-Date: Mon, 29 Oct 2018 17:57:45 +0000
-Subject: [PATCH] media: videobuf2: Allow exporting of a struct dmabuf
-
-videobuf2 only allowed exporting a dmabuf as a file descriptor,
-but there are instances where having the struct dma_buf is
-useful within the kernel.
-
-Split the current implementation into two, one step which
-exports a struct dma_buf, and the second which converts that
-into an fd.
-
-Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
----
- .../media/common/videobuf2/videobuf2-core.c | 21 ++++++++++++++++---
- include/media/videobuf2-core.h | 15 +++++++++++++
- 2 files changed, 33 insertions(+), 3 deletions(-)
-
---- a/drivers/media/common/videobuf2/videobuf2-core.c
-+++ b/drivers/media/common/videobuf2/videobuf2-core.c
-@@ -1851,12 +1851,12 @@ static int __find_plane_by_offset(struct
- return -EINVAL;
- }
-
--int vb2_core_expbuf(struct vb2_queue *q, int *fd, unsigned int type,
-- unsigned int index, unsigned int plane, unsigned int flags)
-+int vb2_core_expbuf_dmabuf(struct vb2_queue *q, unsigned int type,
-+ unsigned int index, unsigned int plane,
-+ unsigned int flags, struct dma_buf **dmabuf)
- {
- struct vb2_buffer *vb = NULL;
- struct vb2_plane *vb_plane;
-- int ret;
- struct dma_buf *dbuf;
-
- if (q->memory != VB2_MEMORY_MMAP) {
-@@ -1906,6 +1906,21 @@ int vb2_core_expbuf(struct vb2_queue *q,
- return -EINVAL;
- }
-
-+ *dmabuf = dbuf;
-+ return 0;
-+}
-+EXPORT_SYMBOL_GPL(vb2_core_expbuf_dmabuf);
-+
-+int vb2_core_expbuf(struct vb2_queue *q, int *fd, unsigned int type,
-+ unsigned int index, unsigned int plane, unsigned int flags)
-+{
-+ struct dma_buf *dbuf;
-+ int ret;
-+
-+ ret = vb2_core_expbuf_dmabuf(q, type, index, plane, flags, &dbuf);
-+ if (ret)
-+ return ret;
-+
- ret = dma_buf_fd(dbuf, flags & ~O_ACCMODE);
- if (ret < 0) {
- dprintk(3, "buffer %d, plane %d failed to export (%d)\n",
---- a/include/media/videobuf2-core.h
-+++ b/include/media/videobuf2-core.h
-@@ -825,6 +825,21 @@ int vb2_core_streamon(struct vb2_queue *
- int vb2_core_streamoff(struct vb2_queue *q, unsigned int type);
-
- /**
-+ * vb2_core_expbuf_dmabuf() - Export a buffer as a dma_buf structure
-+ * @q: videobuf2 queue
-+ * @type: buffer type
-+ * @index: id number of the buffer
-+ * @plane: index of the plane to be exported, 0 for single plane queues
-+ * @flags: flags for newly created file, currently only O_CLOEXEC is
-+ * supported, refer to manual of open syscall for more details
-+ * @dmabuf: Returns the dmabuf pointer
-+ *
-+ */
-+int vb2_core_expbuf_dmabuf(struct vb2_queue *q, unsigned int type,
-+ unsigned int index, unsigned int plane,
-+ unsigned int flags, struct dma_buf **dmabuf);
-+
-+/**
- * vb2_core_expbuf() - Export a buffer as a file descriptor.
- * @q: pointer to &struct vb2_queue with videobuf2 queue.
- * @fd: pointer to the file descriptor associated with DMABUF