From: Yunfei Dong <yunfei.dong@mediatek.com> To: "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 00/14] add driver to support secure video decoder Date: Mon, 11 Sep 2023 20:59:22 +0800 [thread overview] Message-ID: <20230911125936.10648-1-yunfei.dong@mediatek.com> (raw) In order to support secure video decoder for mt8195/mt8188 h264 driver, need to use tee client interface to communicate with optee-os. Firstly, open tee context and tee session for each hardware. Secondly, allocate two shared memory msg and vsi, msg used to send ipi to optee-os and get ack msg from optee-os, vsi used to store syntax for hardware decoder. Thirdly, adding two CID controls: V4L2_CID_MPEG_MTK_SET_SECURE_MODE and V4L2_CID_MPEG_MTK_GET_SECURE_HANDLE, get secure handle used for user space to convert secure fd to secure handle, set secure mode used to tell decoder driver to initialize tee interface to decode secure video. Lastly, re-construct h264 driver to support secure video decoder. Patch 1~4 initialize tee related interface and parameters. Patch 5~6 allocate/free secure memory. Patch 7 map vsi for secure mode. Patch 8 support one plane capture buffer. Patch 9~10 re-construct h264 driver to support secure mode. patch 11 used to convert secure fd to secure handle. Patch 12 used to set secure decoder mode. Patch 13 disable interrupt. Patch 14 support tee decode --- Reference series: [1]: v1 of this series is submitted by Yong Wu. message-id: 20230911023038.30649-1-yong.wu@mediatek.com Yunfei Dong (14): media: mediatek: vcodec: add tee client interface to communiate with optee-os media: mediatek: vcodec: allocate tee share memory media: mediatek: vcodec: send share memory data to optee media: mediatek: vcodec: initialize msg and vsi information media: mediatek: vcodec: using encoder's device to alloc/free memory media: mediatek: vcodec: add interface to allocate/free secure memory media: mediatek: vcodec: using shared memory as vsi address media: medkatek: vcodec: support one plane capture buffer media: medkatek: vcodec: re-construct h264 driver to support svp mode media: medkatek: vcodec: remove parse nal_info in kernel media: medkatek: vcodec: covert secure fd to secure handle media: medkatek: vcodec: set secure mode to decoder driver media: medkatek: vcodec: disable wait interrupt for svp mode media: medkatek: vcodec: support tee decoder .../media/platform/mediatek/vcodec/Kconfig | 1 + .../mediatek/vcodec/common/mtk_vcodec_util.c | 177 ++++++++- .../mediatek/vcodec/common/mtk_vcodec_util.h | 3 + .../platform/mediatek/vcodec/decoder/Makefile | 1 + .../mediatek/vcodec/decoder/mtk_vcodec_dec.c | 24 +- .../vcodec/decoder/mtk_vcodec_dec_drv.c | 9 + .../vcodec/decoder/mtk_vcodec_dec_drv.h | 7 + .../vcodec/decoder/mtk_vcodec_dec_hw.c | 34 +- .../vcodec/decoder/mtk_vcodec_dec_optee.c | 373 ++++++++++++++++++ .../vcodec/decoder/mtk_vcodec_dec_optee.h | 156 ++++++++ .../vcodec/decoder/mtk_vcodec_dec_stateless.c | 80 +++- .../decoder/vdec/vdec_h264_req_common.c | 16 +- .../decoder/vdec/vdec_h264_req_multi_if.c | 334 +++++++++------- .../mediatek/vcodec/decoder/vdec_drv_if.c | 4 +- .../mediatek/vcodec/decoder/vdec_msg_queue.c | 9 +- .../mediatek/vcodec/decoder/vdec_vpu_if.c | 54 ++- .../mediatek/vcodec/decoder/vdec_vpu_if.h | 4 + drivers/media/v4l2-core/v4l2-ctrls-defs.c | 10 + include/uapi/linux/v4l2-controls.h | 5 + 19 files changed, 1110 insertions(+), 191 deletions(-) create mode 100644 drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_optee.c create mode 100644 drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_optee.h -- 2.18.0
WARNING: multiple messages have this Message-ID (diff)
From: Yunfei Dong <yunfei.dong@mediatek.com> To: "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 00/14] add driver to support secure video decoder Date: Mon, 11 Sep 2023 20:59:22 +0800 [thread overview] Message-ID: <20230911125936.10648-1-yunfei.dong@mediatek.com> (raw) In order to support secure video decoder for mt8195/mt8188 h264 driver, need to use tee client interface to communicate with optee-os. Firstly, open tee context and tee session for each hardware. Secondly, allocate two shared memory msg and vsi, msg used to send ipi to optee-os and get ack msg from optee-os, vsi used to store syntax for hardware decoder. Thirdly, adding two CID controls: V4L2_CID_MPEG_MTK_SET_SECURE_MODE and V4L2_CID_MPEG_MTK_GET_SECURE_HANDLE, get secure handle used for user space to convert secure fd to secure handle, set secure mode used to tell decoder driver to initialize tee interface to decode secure video. Lastly, re-construct h264 driver to support secure video decoder. Patch 1~4 initialize tee related interface and parameters. Patch 5~6 allocate/free secure memory. Patch 7 map vsi for secure mode. Patch 8 support one plane capture buffer. Patch 9~10 re-construct h264 driver to support secure mode. patch 11 used to convert secure fd to secure handle. Patch 12 used to set secure decoder mode. Patch 13 disable interrupt. Patch 14 support tee decode --- Reference series: [1]: v1 of this series is submitted by Yong Wu. message-id: 20230911023038.30649-1-yong.wu@mediatek.com Yunfei Dong (14): media: mediatek: vcodec: add tee client interface to communiate with optee-os media: mediatek: vcodec: allocate tee share memory media: mediatek: vcodec: send share memory data to optee media: mediatek: vcodec: initialize msg and vsi information media: mediatek: vcodec: using encoder's device to alloc/free memory media: mediatek: vcodec: add interface to allocate/free secure memory media: mediatek: vcodec: using shared memory as vsi address media: medkatek: vcodec: support one plane capture buffer media: medkatek: vcodec: re-construct h264 driver to support svp mode media: medkatek: vcodec: remove parse nal_info in kernel media: medkatek: vcodec: covert secure fd to secure handle media: medkatek: vcodec: set secure mode to decoder driver media: medkatek: vcodec: disable wait interrupt for svp mode media: medkatek: vcodec: support tee decoder .../media/platform/mediatek/vcodec/Kconfig | 1 + .../mediatek/vcodec/common/mtk_vcodec_util.c | 177 ++++++++- .../mediatek/vcodec/common/mtk_vcodec_util.h | 3 + .../platform/mediatek/vcodec/decoder/Makefile | 1 + .../mediatek/vcodec/decoder/mtk_vcodec_dec.c | 24 +- .../vcodec/decoder/mtk_vcodec_dec_drv.c | 9 + .../vcodec/decoder/mtk_vcodec_dec_drv.h | 7 + .../vcodec/decoder/mtk_vcodec_dec_hw.c | 34 +- .../vcodec/decoder/mtk_vcodec_dec_optee.c | 373 ++++++++++++++++++ .../vcodec/decoder/mtk_vcodec_dec_optee.h | 156 ++++++++ .../vcodec/decoder/mtk_vcodec_dec_stateless.c | 80 +++- .../decoder/vdec/vdec_h264_req_common.c | 16 +- .../decoder/vdec/vdec_h264_req_multi_if.c | 334 +++++++++------- .../mediatek/vcodec/decoder/vdec_drv_if.c | 4 +- .../mediatek/vcodec/decoder/vdec_msg_queue.c | 9 +- .../mediatek/vcodec/decoder/vdec_vpu_if.c | 54 ++- .../mediatek/vcodec/decoder/vdec_vpu_if.h | 4 + drivers/media/v4l2-core/v4l2-ctrls-defs.c | 10 + include/uapi/linux/v4l2-controls.h | 5 + 19 files changed, 1110 insertions(+), 191 deletions(-) create mode 100644 drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_optee.c create mode 100644 drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_optee.h -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2023-09-11 21:58 UTC|newest] Thread overview: 114+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-09-11 12:59 Yunfei Dong [this message] 2023-09-11 12:59 ` [PATCH 00/14] add driver to support secure video decoder Yunfei Dong 2023-09-11 12:59 ` [PATCH 01/14] media: mediatek: vcodec: add tee client interface to communiate with optee-os Yunfei Dong 2023-09-11 12:59 ` Yunfei Dong 2023-09-12 8:04 ` AngeloGioacchino Del Regno 2023-09-12 8:04 ` AngeloGioacchino Del Regno 2023-09-11 12:59 ` [PATCH 02/14] media: mediatek: vcodec: allocate tee share memory Yunfei Dong 2023-09-11 12:59 ` Yunfei Dong 2023-09-12 8:04 ` AngeloGioacchino Del Regno 2023-09-12 8:04 ` AngeloGioacchino Del Regno 2023-09-11 12:59 ` [PATCH 03/14] media: mediatek: vcodec: send share memory data to optee Yunfei Dong 2023-09-11 12:59 ` Yunfei Dong 2023-09-12 8:07 ` AngeloGioacchino Del Regno 2023-09-12 8:07 ` AngeloGioacchino Del Regno 2023-09-11 12:59 ` [PATCH 04/14] media: mediatek: vcodec: initialize msg and vsi information Yunfei Dong 2023-09-11 12:59 ` Yunfei Dong 2023-09-12 8:15 ` AngeloGioacchino Del Regno 2023-09-12 8:15 ` AngeloGioacchino Del Regno 2023-09-11 12:59 ` [PATCH 05/14] media: mediatek: vcodec: using encoder's device to alloc/free memory Yunfei Dong 2023-09-11 12:59 ` Yunfei Dong 2023-09-11 12:59 ` [PATCH 06/14] media: mediatek: vcodec: add interface to allocate/free secure memory Yunfei Dong 2023-09-11 12:59 ` Yunfei Dong 2023-09-11 12:59 ` [PATCH 07/14] media: mediatek: vcodec: using shared memory as vsi address Yunfei Dong 2023-09-11 12:59 ` Yunfei Dong 2023-09-11 12:59 ` [PATCH 08/14] media: medkatek: vcodec: support one plane capture buffer Yunfei Dong 2023-09-11 12:59 ` Yunfei Dong 2023-09-11 15:44 ` Nicolas Dufresne 2023-09-11 15:44 ` Nicolas Dufresne 2023-09-12 2:08 ` Yunfei Dong (董云飞) 2023-09-12 2:08 ` Yunfei Dong (董云飞) 2023-09-12 15:13 ` Nicolas Dufresne 2023-09-12 15:13 ` Nicolas Dufresne 2023-09-11 12:59 ` [PATCH 09/14] media: medkatek: vcodec: re-construct h264 driver to support svp mode Yunfei Dong 2023-09-11 12:59 ` Yunfei Dong 2023-09-11 12:59 ` [PATCH 10/14] media: medkatek: vcodec: remove parse nal_info in kernel Yunfei Dong 2023-09-11 12:59 ` Yunfei Dong 2023-09-11 12:59 ` [PATCH 11/14] media: medkatek: vcodec: covert secure fd to secure handle Yunfei Dong 2023-09-11 12:59 ` Yunfei Dong 2023-09-11 15:47 ` Nicolas Dufresne 2023-09-11 15:47 ` Nicolas Dufresne 2023-09-12 1:55 ` Yunfei Dong (董云飞) 2023-09-12 1:55 ` Yunfei Dong (董云飞) 2023-09-12 15:17 ` Nicolas Dufresne 2023-09-12 15:17 ` Nicolas Dufresne 2023-09-19 19:42 ` Nicolas Dufresne 2023-09-19 19:42 ` Nicolas Dufresne 2023-09-19 22:38 ` Jeffrey Kardatzke 2023-09-19 22:38 ` Jeffrey Kardatzke 2023-09-19 23:03 ` Nicolas Dufresne 2023-09-19 23:03 ` Nicolas Dufresne 2023-09-19 23:47 ` Jeffrey Kardatzke 2023-09-19 23:47 ` Jeffrey Kardatzke 2023-09-11 12:59 ` [PATCH 12/14] media: medkatek: vcodec: set secure mode to decoder driver Yunfei Dong 2023-09-11 12:59 ` Yunfei Dong 2023-09-11 15:54 ` Nicolas Dufresne 2023-09-11 15:54 ` Nicolas Dufresne 2023-09-12 1:48 ` Yunfei Dong (董云飞) 2023-09-12 1:48 ` Yunfei Dong (董云飞) 2023-09-12 15:19 ` Nicolas Dufresne 2023-09-12 15:19 ` Nicolas Dufresne 2023-09-12 9:30 ` Hans Verkuil 2023-09-12 9:30 ` Hans Verkuil 2023-09-15 8:25 ` Yunfei Dong (董云飞) 2023-09-15 8:25 ` Yunfei Dong (董云飞) 2023-09-15 8:54 ` Hans Verkuil 2023-09-15 8:54 ` Hans Verkuil 2023-09-18 9:06 ` Yunfei Dong (董云飞) 2023-09-18 9:06 ` Yunfei Dong (董云飞) 2023-09-18 20:57 ` Jeffrey Kardatzke 2023-09-18 20:57 ` Jeffrey Kardatzke 2023-09-19 8:53 ` Hans Verkuil 2023-09-19 8:53 ` Hans Verkuil 2023-09-19 18:51 ` Nicolas Dufresne 2023-09-19 18:51 ` Nicolas Dufresne 2023-09-19 19:49 ` Jeffrey Kardatzke 2023-09-19 19:49 ` Jeffrey Kardatzke 2023-09-20 7:10 ` Hans Verkuil 2023-09-20 7:10 ` Hans Verkuil 2023-09-20 18:13 ` Jeffrey Kardatzke 2023-09-20 18:13 ` Jeffrey Kardatzke 2023-09-20 18:25 ` Hans Verkuil 2023-09-20 18:25 ` Hans Verkuil 2023-09-20 7:20 ` Hans Verkuil 2023-09-20 7:20 ` Hans Verkuil 2023-09-20 18:20 ` Jeffrey Kardatzke 2023-09-20 18:20 ` Jeffrey Kardatzke 2023-09-21 15:46 ` Nicolas Dufresne 2023-09-21 15:46 ` Nicolas Dufresne 2023-09-21 17:58 ` Jeffrey Kardatzke 2023-09-21 17:58 ` Jeffrey Kardatzke 2023-09-22 3:28 ` Yunfei Dong (董云飞) 2023-09-22 3:28 ` Yunfei Dong (董云飞) 2023-09-22 8:44 ` Hans Verkuil 2023-09-22 8:44 ` Hans Verkuil 2023-09-22 19:17 ` Jeffrey Kardatzke 2023-09-22 19:17 ` Jeffrey Kardatzke 2023-09-25 9:00 ` Hans Verkuil 2023-09-25 9:00 ` Hans Verkuil 2023-09-25 16:51 ` Jeffrey Kardatzke 2023-09-25 16:51 ` Jeffrey Kardatzke 2023-09-26 20:59 ` Jeffrey Kardatzke 2023-09-26 20:59 ` Jeffrey Kardatzke 2023-09-27 7:26 ` Hans Verkuil 2023-09-27 7:26 ` Hans Verkuil 2023-09-27 18:30 ` Jeffrey Kardatzke 2023-09-27 18:30 ` Jeffrey Kardatzke 2023-09-19 19:39 ` Jeffrey Kardatzke 2023-09-19 19:39 ` Jeffrey Kardatzke 2023-09-18 5:51 ` Yunfei Dong (董云飞) 2023-09-18 5:51 ` Yunfei Dong (董云飞) 2023-09-11 12:59 ` [PATCH 13/14] media: medkatek: vcodec: disable wait interrupt for svp mode Yunfei Dong 2023-09-11 12:59 ` Yunfei Dong 2023-09-11 12:59 ` [PATCH 14/14] media: medkatek: vcodec: support tee decoder Yunfei Dong 2023-09-11 12:59 ` 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=20230911125936.10648-1-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=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=wenst@chromium.org \ /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.