From: Yunfei Dong <yunfei.dong@mediatek.com> To: "Jeffrey Kardatzke" <jkardatzke@google.com>, "T . J . Mercier" <tjmercier@google.com>, "John Stultz" <jstultz@google.com>, "Yong Wu" <yong.wu@mediatek.com>, "Nícolas F . R . A . Prado" <nfraprado@collabora.com>, "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>, "Nathan Hebert" <nhebert@chromium.org> Cc: Chen-Yu Tsai <wenst@chromium.org>, 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>, <linux-media@vger.kernel.org>, <devicetree@vger.kernel.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 v2,01/21] v4l2: add secure memory flags Date: Mon, 6 Nov 2023 20:04:03 +0800 [thread overview] Message-ID: <20231106120423.23364-2-yunfei.dong@mediatek.com> (raw) In-Reply-To: <20231106120423.23364-1-yunfei.dong@mediatek.com> From: Jeffrey Kardatzke <jkardatzke@google.com> Adds a V4L2 flag which indicates that a queue is using secure 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 4b6a9d2ea372..f6333d8fa617 100644 --- a/include/media/videobuf2-core.h +++ b/include/media/videobuf2-core.h @@ -518,6 +518,9 @@ struct vb2_buf_ops { * ->finish(). * @non_coherent_mem: when set queue will attempt to allocate buffers using * non-coherent memory. + * @allow_secure_mem: when set user-space can pass the %V4L2_MEMORY_FLAG_SECURE + * flag to indicate the dma bufs are secure. + * @secure_mem: when set queue will verify that the dma bufs are secure. * @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 @@ -598,6 +601,8 @@ struct vb2_queue { unsigned int uses_requests:1; unsigned int allow_cache_hints:1; unsigned int non_coherent_mem:1; + unsigned int allow_secure_mem:1; + unsigned int secure_mem:1; struct mutex *lock; void *owner; @@ -766,7 +771,8 @@ void vb2_core_querybuf(struct vb2_queue *q, unsigned int index, 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_SECURE. * @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 c3d4e490ce7c..4bf8d392d5a5 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_SECURE (1 << 1) /* capabilities for struct v4l2_requestbuffers and v4l2_create_buffers */ #define V4L2_BUF_CAP_SUPPORTS_MMAP (1 << 0) @@ -1035,6 +1036,7 @@ struct v4l2_requestbuffers { #define V4L2_BUF_CAP_SUPPORTS_ORPHANED_BUFS (1 << 4) #define V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF (1 << 5) #define V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS (1 << 6) +#define V4L2_BUF_CAP_SUPPORTS_SECURE_MEM (1 << 7) /** * 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>, "T . J . Mercier" <tjmercier@google.com>, "John Stultz" <jstultz@google.com>, "Yong Wu" <yong.wu@mediatek.com>, "Nícolas F . R . A . Prado" <nfraprado@collabora.com>, "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>, "Nathan Hebert" <nhebert@chromium.org> Cc: Chen-Yu Tsai <wenst@chromium.org>, 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>, <linux-media@vger.kernel.org>, <devicetree@vger.kernel.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 v2,01/21] v4l2: add secure memory flags Date: Mon, 6 Nov 2023 20:04:03 +0800 [thread overview] Message-ID: <20231106120423.23364-2-yunfei.dong@mediatek.com> (raw) In-Reply-To: <20231106120423.23364-1-yunfei.dong@mediatek.com> From: Jeffrey Kardatzke <jkardatzke@google.com> Adds a V4L2 flag which indicates that a queue is using secure 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 4b6a9d2ea372..f6333d8fa617 100644 --- a/include/media/videobuf2-core.h +++ b/include/media/videobuf2-core.h @@ -518,6 +518,9 @@ struct vb2_buf_ops { * ->finish(). * @non_coherent_mem: when set queue will attempt to allocate buffers using * non-coherent memory. + * @allow_secure_mem: when set user-space can pass the %V4L2_MEMORY_FLAG_SECURE + * flag to indicate the dma bufs are secure. + * @secure_mem: when set queue will verify that the dma bufs are secure. * @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 @@ -598,6 +601,8 @@ struct vb2_queue { unsigned int uses_requests:1; unsigned int allow_cache_hints:1; unsigned int non_coherent_mem:1; + unsigned int allow_secure_mem:1; + unsigned int secure_mem:1; struct mutex *lock; void *owner; @@ -766,7 +771,8 @@ void vb2_core_querybuf(struct vb2_queue *q, unsigned int index, 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_SECURE. * @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 c3d4e490ce7c..4bf8d392d5a5 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_SECURE (1 << 1) /* capabilities for struct v4l2_requestbuffers and v4l2_create_buffers */ #define V4L2_BUF_CAP_SUPPORTS_MMAP (1 << 0) @@ -1035,6 +1036,7 @@ struct v4l2_requestbuffers { #define V4L2_BUF_CAP_SUPPORTS_ORPHANED_BUFS (1 << 4) #define V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF (1 << 5) #define V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS (1 << 6) +#define V4L2_BUF_CAP_SUPPORTS_SECURE_MEM (1 << 7) /** * 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:[~2023-11-06 12:04 UTC|newest] Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-11-06 12:04 [PATCH v2,00/21] add driver to support secure video decoder Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong [this message] 2023-11-06 12:04 ` [PATCH v2,01/21] v4l2: add secure memory flags Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,02/21] v4l2: handle secure memory flags in queue setup Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,03/21] v4l2: verify secure dmabufs are used in secure queue Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,04/21] v4l: add documentation for secure memory flag Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-11 19:06 ` Pavel Machek 2023-11-11 19:06 ` Pavel Machek 2023-11-13 18:04 ` Jeffrey Kardatzke 2023-11-13 18:04 ` Jeffrey Kardatzke 2023-11-06 12:04 ` [PATCH v2,05/21] dma-buf: heaps: Deduplicate docs and adopt common format Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,06/21] dma-heap: Add proper kref handling on dma-buf heaps Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,07/21] dma-heap: Provide accessors so that in-kernel drivers can allocate dmabufs from specific heaps Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,08/21] media: mediatek: vcodec: add tee client interface to communiate with optee-os Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,09/21] media: mediatek: vcodec: allocate tee share memory Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,10/21] media: mediatek: vcodec: send share memory data to optee Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,11/21] media: mediatek: vcodec: initialize msg and vsi information Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,12/21] media: mediatek: vcodec: add interface to allocate/free secure memory Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,13/21] media: mediatek: vcodec: using shared memory as vsi address Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,14/21] media: mediatek: vcodec: Add capture format to support one plane memory Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,15/21] media: mediatek: vcodec: Add one plane format Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,16/21] media: medkatek: vcodec: support one plane capture buffer Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,17/21] media: medkatek: vcodec: re-construct h264 driver to support svp mode Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,18/21] media: medkatek: vcodec: remove parse nal_info in kernel Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,19/21] media: medkatek: vcodec: disable wait interrupt for svp mode Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,20/21] media: medkatek: vcodec: support tee decoder Yunfei Dong 2023-11-06 12:04 ` Yunfei Dong 2023-11-06 12:04 ` [PATCH v2,21/21] media: mediatek: vcodec: move vdec init interface to setup callback Yunfei Dong 2023-11-06 12:04 ` 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=20231106120423.23364-2-yunfei.dong@mediatek.com \ --to=yunfei.dong@mediatek.com \ --cc=Project_Global_Chrome_Upstream_Group@mediatek.com \ --cc=angelogioacchino.delregno@collabora.com \ --cc=benjamin.gaignard@collabora.com \ --cc=daniel@ffwll.ch \ --cc=devicetree@vger.kernel.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=nfraprado@collabora.com \ --cc=nhebert@chromium.org \ --cc=nicolas.dufresne@collabora.com \ --cc=stevecho@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.