From: Yunfei Dong <yunfei.dong@mediatek.com> To: "Jeffrey Kardatzke" <jkardatzke@google.com>, "Nícolas F . R . A . Prado" <nfraprado@collabora.com>, "Nathan Hebert" <nhebert@chromium.org>, "Nicolas Dufresne" <nicolas.dufresne@collabora.com>, "Hans Verkuil" <hverkuil-cisco@xs4all.nl>, "AngeloGioacchino Del Regno" <angelogioacchino.delregno@collabora.com>, "Benjamin Gaignard" <benjamin.gaignard@collabora.com>, "Sebastian Fricke" <sebastian.fricke@collabora.com>, "Tomasz Figa" <tfiga@chromium.org>, "Mauro Carvalho Chehab" <mchehab@kernel.org>, "Marek Szyprowski" <m.szyprowski@samsung.com> Cc: "Chen-Yu Tsai" <wenst@chromium.org>, "Yong Wu" <yong.wu@mediatek.com>, "Hsin-Yi Wang" <hsinyi@chromium.org>, "Fritz Koenig" <frkoenig@chromium.org>, "Daniel Vetter" <daniel@ffwll.ch>, "Steve Cho" <stevecho@chromium.org>, "Yunfei Dong" <yunfei.dong@mediatek.com>, "Sumit Semwal" <sumit.semwal@linaro.org>, "Brian Starkey" <Brian.Starkey@arm.com>, "John Stultz" <jstultz@google.com>, "T . J . Mercier" <tjmercier@google.com>, "Christian König" <christian.koenig@amd.com>, "Matthias Brugger" <matthias.bgg@gmail.com>, linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Project_Global_Chrome_Upstream_Group@mediatek.com Subject: [PATCH v5,01/23] v4l2: add restricted memory flags Date: Fri, 12 Apr 2024 17:08:29 +0800 [thread overview] Message-ID: <20240412090851.24999-2-yunfei.dong@mediatek.com> (raw) In-Reply-To: <20240412090851.24999-1-yunfei.dong@mediatek.com> From: Jeffrey Kardatzke <jkardatzke@google.com> Adds a V4L2 flag which indicates that a queue is using restricted dmabufs and the corresponding capability flag. Signed-off-by: Jeffrey Kardatzke <jkardatzke@google.com> Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com> --- include/media/videobuf2-core.h | 8 +++++++- include/uapi/linux/videodev2.h | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h index 955237ac503d..afd497e93a37 100644 --- a/include/media/videobuf2-core.h +++ b/include/media/videobuf2-core.h @@ -517,6 +517,9 @@ struct vb2_buf_ops { * ->finish(). * @non_coherent_mem: when set queue will attempt to allocate buffers using * non-coherent memory. + * @allow_restricted_mem: when set user-space can pass the %V4L2_MEMORY_FLAG_RESTRICTED + * flag to indicate the dma bufs are restricted. + * @restricted_mem: when set queue will verify that the dma bufs are restricted. * @lock: pointer to a mutex that protects the &struct vb2_queue. The * driver can set this to a mutex to let the v4l2 core serialize * the queuing ioctls. If the driver wants to handle locking @@ -621,6 +624,8 @@ struct vb2_queue { unsigned int uses_requests:1; unsigned int allow_cache_hints:1; unsigned int non_coherent_mem:1; + unsigned int allow_restricted_mem:1; + unsigned int restricted_mem:1; struct mutex *lock; void *owner; @@ -792,7 +797,8 @@ void vb2_core_querybuf(struct vb2_queue *q, struct vb2_buffer *vb, void *pb); * @q: pointer to &struct vb2_queue with videobuf2 queue. * @memory: memory type, as defined by &enum vb2_memory. * @flags: auxiliary queue/buffer management flags. Currently, the only - * used flag is %V4L2_MEMORY_FLAG_NON_COHERENT. + * used flags are %V4L2_MEMORY_FLAG_NON_COHERENT and + * %V4L2_MEMORY_FLAG_RESTRICTED. * @count: requested buffer count. * * Videobuf2 core helper to implement VIDIOC_REQBUF() operation. It is called diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index 2663213b76a4..b6fbbd276bf1 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h @@ -1026,6 +1026,7 @@ struct v4l2_requestbuffers { }; #define V4L2_MEMORY_FLAG_NON_COHERENT (1 << 0) +#define V4L2_MEMORY_FLAG_RESTRICTED (1 << 1) /* capabilities for struct v4l2_requestbuffers and v4l2_create_buffers */ #define V4L2_BUF_CAP_SUPPORTS_MMAP (1 << 0) @@ -1037,6 +1038,7 @@ struct v4l2_requestbuffers { #define V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS (1 << 6) #define V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS (1 << 7) #define V4L2_BUF_CAP_SUPPORTS_REMOVE_BUFS (1 << 8) +#define V4L2_BUF_CAP_SUPPORTS_RESTRICTED_MEM (1 << 9) /** * struct v4l2_plane - plane info for multi-planar buffers -- 2.18.0
WARNING: multiple messages have this Message-ID (diff)
From: Yunfei Dong <yunfei.dong@mediatek.com> To: "Jeffrey Kardatzke" <jkardatzke@google.com>, "Nícolas F . R . A . Prado" <nfraprado@collabora.com>, "Nathan Hebert" <nhebert@chromium.org>, "Nicolas Dufresne" <nicolas.dufresne@collabora.com>, "Hans Verkuil" <hverkuil-cisco@xs4all.nl>, "AngeloGioacchino Del Regno" <angelogioacchino.delregno@collabora.com>, "Benjamin Gaignard" <benjamin.gaignard@collabora.com>, "Sebastian Fricke" <sebastian.fricke@collabora.com>, "Tomasz Figa" <tfiga@chromium.org>, "Mauro Carvalho Chehab" <mchehab@kernel.org>, "Marek Szyprowski" <m.szyprowski@samsung.com> Cc: "Chen-Yu Tsai" <wenst@chromium.org>, "Yong Wu" <yong.wu@mediatek.com>, "Hsin-Yi Wang" <hsinyi@chromium.org>, "Fritz Koenig" <frkoenig@chromium.org>, "Daniel Vetter" <daniel@ffwll.ch>, "Steve Cho" <stevecho@chromium.org>, "Yunfei Dong" <yunfei.dong@mediatek.com>, "Sumit Semwal" <sumit.semwal@linaro.org>, "Brian Starkey" <Brian.Starkey@arm.com>, "John Stultz" <jstultz@google.com>, "T . J . Mercier" <tjmercier@google.com>, "Christian König" <christian.koenig@amd.com>, "Matthias Brugger" <matthias.bgg@gmail.com>, linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Project_Global_Chrome_Upstream_Group@mediatek.com Subject: [PATCH v5,01/23] v4l2: add restricted memory flags Date: Fri, 12 Apr 2024 17:08:29 +0800 [thread overview] Message-ID: <20240412090851.24999-2-yunfei.dong@mediatek.com> (raw) In-Reply-To: <20240412090851.24999-1-yunfei.dong@mediatek.com> From: Jeffrey Kardatzke <jkardatzke@google.com> Adds a V4L2 flag which indicates that a queue is using restricted dmabufs and the corresponding capability flag. Signed-off-by: Jeffrey Kardatzke <jkardatzke@google.com> Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com> --- include/media/videobuf2-core.h | 8 +++++++- include/uapi/linux/videodev2.h | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h index 955237ac503d..afd497e93a37 100644 --- a/include/media/videobuf2-core.h +++ b/include/media/videobuf2-core.h @@ -517,6 +517,9 @@ struct vb2_buf_ops { * ->finish(). * @non_coherent_mem: when set queue will attempt to allocate buffers using * non-coherent memory. + * @allow_restricted_mem: when set user-space can pass the %V4L2_MEMORY_FLAG_RESTRICTED + * flag to indicate the dma bufs are restricted. + * @restricted_mem: when set queue will verify that the dma bufs are restricted. * @lock: pointer to a mutex that protects the &struct vb2_queue. The * driver can set this to a mutex to let the v4l2 core serialize * the queuing ioctls. If the driver wants to handle locking @@ -621,6 +624,8 @@ struct vb2_queue { unsigned int uses_requests:1; unsigned int allow_cache_hints:1; unsigned int non_coherent_mem:1; + unsigned int allow_restricted_mem:1; + unsigned int restricted_mem:1; struct mutex *lock; void *owner; @@ -792,7 +797,8 @@ void vb2_core_querybuf(struct vb2_queue *q, struct vb2_buffer *vb, void *pb); * @q: pointer to &struct vb2_queue with videobuf2 queue. * @memory: memory type, as defined by &enum vb2_memory. * @flags: auxiliary queue/buffer management flags. Currently, the only - * used flag is %V4L2_MEMORY_FLAG_NON_COHERENT. + * used flags are %V4L2_MEMORY_FLAG_NON_COHERENT and + * %V4L2_MEMORY_FLAG_RESTRICTED. * @count: requested buffer count. * * Videobuf2 core helper to implement VIDIOC_REQBUF() operation. It is called diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index 2663213b76a4..b6fbbd276bf1 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h @@ -1026,6 +1026,7 @@ struct v4l2_requestbuffers { }; #define V4L2_MEMORY_FLAG_NON_COHERENT (1 << 0) +#define V4L2_MEMORY_FLAG_RESTRICTED (1 << 1) /* capabilities for struct v4l2_requestbuffers and v4l2_create_buffers */ #define V4L2_BUF_CAP_SUPPORTS_MMAP (1 << 0) @@ -1037,6 +1038,7 @@ struct v4l2_requestbuffers { #define V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS (1 << 6) #define V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS (1 << 7) #define V4L2_BUF_CAP_SUPPORTS_REMOVE_BUFS (1 << 8) +#define V4L2_BUF_CAP_SUPPORTS_RESTRICTED_MEM (1 << 9) /** * struct v4l2_plane - plane info for multi-planar buffers -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2024-04-12 9:09 UTC|newest] Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-04-12 9:08 [PATCH v5,00/22] media: add driver to support secure video decoder Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong [this message] 2024-04-12 9:08 ` [PATCH v5,01/23] v4l2: add restricted memory flags Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,02/23] v4l2: handle restricted memory flags in queue setup Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,03/23] v4l2: verify restricted dmabufs are used in restricted queue Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5, 03/23] " Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,04/23] v4l: add documentation for restricted memory flag Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,05/23] dma-buf: heaps: Deduplicate docs and adopt common format Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5, 05/23] " Yunfei Dong 2024-04-12 9:16 ` [PATCH v5,05/23] " Christian König 2024-04-12 9:16 ` Christian König 2024-04-12 9:08 ` [PATCH v5,06/23] dma-heap: Add proper kref handling on dma-buf heaps Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,07/23] dma-heap: Provide accessors so that in-kernel drivers can allocate dmabufs from specific heaps Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5, 07/23] " Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,08/23] media: mediatek: vcodec: add tee client interface to communiate with optee-os Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5, 08/23] " Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,09/23] media: mediatek: vcodec: allocate tee share memory Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,10/23] media: mediatek: vcodec: send share memory data to optee Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5, 10/23] " Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,11/23] media: mediatek: vcodec: initialize msg and vsi information Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5, 11/23] " Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,12/23] media: mediatek: vcodec: add interface to allocate/free secure memory Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5, 12/23] " Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,13/23] media: mediatek: vcodec: using shared memory as vsi address Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5, 13/23] " Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,14/23] media: mediatek: vcodec: Add capture format to support one plane memory Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5, 14/23] " Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,15/23] media: mediatek: vcodec: Add one plane format Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,16/23] media: mediatek: vcodec: support one plane capture buffer Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5, 16/23] " Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,17/23] media: mediatek: vcodec: re-construct h264 driver to support svp mode Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5, 17/23] " Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,18/23] media: mediatek: vcodec: remove parse nal_info in kernel Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5, 18/23] " Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,19/23] media: mediatek: vcodec: disable wait interrupt for svp mode Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5, 19/23] " Yunfei Dong 2024-04-15 6:29 ` CK Hu (胡俊光) 2024-04-15 6:29 ` CK Hu (胡俊光) 2024-04-15 6:29 ` CK Hu (胡俊光) 2024-04-16 5:07 ` CK Hu (胡俊光) 2024-04-16 5:07 ` CK Hu (胡俊光) 2024-04-16 5:07 ` CK Hu (胡俊光) 2024-04-12 9:08 ` [PATCH v5,20/23] media: mediatek: vcodec: support tee decoder Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,21/23] media: mediatek: vcodec: move vdec init interface to setup callback Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5, 21/23] " Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,22/23] media: mediatek: vcodec: support hevc svp for mt8188 Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5, 22/23] " Yunfei Dong 2024-04-12 9:08 ` [PATCH v5,23/23] WIP: media: mediatek: vcodec: support av1 svp decoder " Yunfei Dong 2024-04-12 9:08 ` Yunfei Dong 2024-04-12 9:08 ` [PATCH v5, 23/23] " Yunfei Dong
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20240412090851.24999-2-yunfei.dong@mediatek.com \ --to=yunfei.dong@mediatek.com \ --cc=Brian.Starkey@arm.com \ --cc=Project_Global_Chrome_Upstream_Group@mediatek.com \ --cc=angelogioacchino.delregno@collabora.com \ --cc=benjamin.gaignard@collabora.com \ --cc=christian.koenig@amd.com \ --cc=daniel@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=frkoenig@chromium.org \ --cc=hsinyi@chromium.org \ --cc=hverkuil-cisco@xs4all.nl \ --cc=jkardatzke@google.com \ --cc=jstultz@google.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-media@vger.kernel.org \ --cc=linux-mediatek@lists.infradead.org \ --cc=m.szyprowski@samsung.com \ --cc=matthias.bgg@gmail.com \ --cc=mchehab@kernel.org \ --cc=nfraprado@collabora.com \ --cc=nhebert@chromium.org \ --cc=nicolas.dufresne@collabora.com \ --cc=sebastian.fricke@collabora.com \ --cc=stevecho@chromium.org \ --cc=sumit.semwal@linaro.org \ --cc=tfiga@chromium.org \ --cc=tjmercier@google.com \ --cc=wenst@chromium.org \ --cc=yong.wu@mediatek.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.