Re: [PATCH v6,0/11] media: mediatek: vcodec: separate encoder and decoder
From: Yunfei Dong (董云飞) <Yunfei.Dong@mediatek.com>
Date: 2023-07-22 07:54:42
Also in:
linux-devicetree, linux-media, linux-mediatek, lkml
Hi Hans, Thanks for your help. On Fri, 2023-07-21 at 17:09 +0200, Hans Verkuil wrote:
External email : Please do not click links or open attachments until you have verified the sender or the content. Hi Yunfei Dong, On 04/07/2023 15:13, Yunfei Dong wrote:quoted
With the driver more and more complex, encoder and decoder need toadd more parameterquoted
in shared struct 'mtk_vcodec_ctx' and 'mtk_vcodec_dev'. Encoder useabout 40% andquoted
decoder use 60% parameter. Need to allocate extra unused memorywhen encoder and decoderquoted
working. Separate encoder and decoder in different folder and useindependent data struct.quoted
patch 1 remove unused parameter. patch 2~3 align fw and interrupt related interface. patch 4~6 remove the dependency of debug log patch 7~8 separate mtk_vcodec_ctx and mtk_vcodec_dev patch 9 fix unreasonable parameter patch 10 removed unused header files patch 11 separate encoder and decoder in different folderThere were quite a few vcodec patches that still used the old location of these sources, so I decided to make PRs for those first. That means that you need to rebase all your current patch series on top of that. My tree with the pending patches is here: https://git.linuxtv.org/hverkuil/media_tree.git/log/?h=for-v6.6g Your set of patches that need to be rebased are here in patchwork:
https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7655
I basically had a choice of either taking your patches, and then having to ask a lot of people to rebase their work, or take theirs first, and only asking one person, you, to rebase. So I went with the latter choice. You can choose whether to post a single patchseries for all 16 patches, or just post a v7 for the first and v2 for the other two patchseries. Up to you. I do promise to process your the rebased series as soon as possible to avoid more conflicts. Regards, Hans
I resend these patches based on your v6.6g branch. For the first two patches need to be changed again, I send the patch based on commit (e5408c1053e3: media: mediatek: vcodec: Return NULL if no vdec_fd is found). Please help to check it again. Best Regards, Yunfei Dong
quoted
--- Changed from v5: - fix some words error for patch 3/6/11. - rename mtk_vcodec_comm_drv.h to mtk_vcodec_cmn_drv.h for patch 7. Changed from v4: - add one parameter to record register base for reg_base for patch3.quoted
- add debug string for non ctx log for patch 6. - change the comment of struct mtk_vcodec_dec_ctx and structmtk_vcodec_enc_ctx for patch 7.quoted
- prefer to use struct mtk_vcodec_dec_dev an current period, willre-construct in the future for patch 8.quoted
Changed from v3: - re-write commit message for patch 3. Changed from v2: - This patch main changed: 1: add different macro mtk_dec_debug and mtk_enc_debug callingcommonquoted
macro mtk_vcodec_debug in order to use dev_dbg instead ofpr_debug.quoted
2: add different macro mtk_v4l2_venc_dbg and mtk_v4l2_vdec_dbgcalling commonquoted
macro in order to use dev_dbg instead of pr_debug. Changed from v1: - Change pr_dbg to dev_dbg for mtk_v4l2_level and mtk_vcodec_dbgfor patch 4.quoted
- Change pr_err to dev_err for mtk_v4l2_err and mtk_vcodec_err forpatch 5.quoted
- Fix unreasonable parameter for patch 8. --- Yunfei Dong (11): media: mediatek: vcodec: remove unused parameter media: mediatek: vcodec: align fw interface media: mediatek: vcodec: Removing struct 'mtk_vcodec_ctx/dev' for shared interface media: mediatek: vcodec: Removing useless debug log media: mediatek: vcodec: remove the dependency of vcodec debuglogquoted
media: mediatek: vcodec: replace pr_* with dev_* for v4l2 debug message media: mediatek: vcodec: separate struct 'mtk_vcodec_ctx' media: mediatek: vcodec: separate struct mtk_vcodec_dev media: mediatek: vcodec: fix unreasonable parameter definitionandquoted
style media: mediatek: vcodec: remove unused include header media: mediatek: vcodec: separate decoder and encoder .../media/platform/mediatek/vcodec/Makefile | 55 +- .../platform/mediatek/vcodec/common/Makefile | 21 + .../vcodec/common/mtk_vcodec_cmn_drv.h | 147 +++++ .../vcodec/{ => common}/mtk_vcodec_dbgfs.c | 57 +- .../vcodec/{ => common}/mtk_vcodec_dbgfs.h | 24 +- .../vcodec/{ => common}/mtk_vcodec_fw.c | 21 +- .../vcodec/{ => common}/mtk_vcodec_fw.h | 8 +- .../vcodec/{ => common}/mtk_vcodec_fw_priv.h | 14 +- .../vcodec/{ => common}/mtk_vcodec_fw_scp.c | 26 +- .../vcodec/{ => common}/mtk_vcodec_fw_vpu.c | 64 +- .../mediatek/vcodec/common/mtk_vcodec_intr.c | 68 +++ .../vcodec/{ => common}/mtk_vcodec_intr.h | 6 +- .../vcodec/{ => common}/mtk_vcodec_util.c | 67 +-- .../mediatek/vcodec/common/mtk_vcodec_util.h | 73 +++ .../platform/mediatek/vcodec/decoder/Makefile | 25 + .../vcodec/{ => decoder}/mtk_vcodec_dec.c | 182 +++--- .../vcodec/{ => decoder}/mtk_vcodec_dec.h | 10 +- .../vcodec/{ => decoder}/mtk_vcodec_dec_drv.c | 84 ++- .../vcodec/decoder/mtk_vcodec_dec_drv.h | 315 ++++++++++ .../vcodec/{ => decoder}/mtk_vcodec_dec_hw.c | 19 +- .../vcodec/{ => decoder}/mtk_vcodec_dec_hw.h | 6 +- .../vcodec/{ => decoder}/mtk_vcodec_dec_pm.c | 38 +- .../vcodec/{ => decoder}/mtk_vcodec_dec_pm.h | 6 +- .../{ => decoder}/mtk_vcodec_dec_stateful.c | 176 +++--- .../{ => decoder}/mtk_vcodec_dec_stateless.c | 91 +-- .../{ => decoder}/vdec/vdec_av1_req_lat_if.c | 158 +++-- .../vcodec/{ => decoder}/vdec/vdec_h264_if.c | 79 ++- .../{ => decoder}/vdec/vdec_h264_req_common.c | 4 +- .../{ => decoder}/vdec/vdec_h264_req_common.h | 6 +- .../{ => decoder}/vdec/vdec_h264_req_if.c | 75 ++- .../vdec/vdec_h264_req_multi_if.c | 157 +++-- .../vdec/vdec_hevc_req_multi_if.c | 129 ++--- .../vcodec/{ => decoder}/vdec/vdec_vp8_if.c | 72 ++- .../{ => decoder}/vdec/vdec_vp8_req_if.c | 81 ++- .../vcodec/{ => decoder}/vdec/vdec_vp9_if.c | 132 ++--- .../{ => decoder}/vdec/vdec_vp9_req_lat_if.c | 129 ++--- .../vcodec/{ => decoder}/vdec_drv_base.h | 2 +- .../vcodec/{ => decoder}/vdec_drv_if.c | 12 +- .../vcodec/{ => decoder}/vdec_drv_if.h | 10 +- .../vcodec/{ => decoder}/vdec_ipi_msg.h | 0 .../vcodec/{ => decoder}/vdec_msg_queue.c | 64 +- .../vcodec/{ => decoder}/vdec_msg_queue.h | 14 +- .../vcodec/{ => decoder}/vdec_vpu_if.c | 57 +- .../vcodec/{ => decoder}/vdec_vpu_if.h | 6 +- .../platform/mediatek/vcodec/encoder/Makefile | 11 + .../vcodec/{ => encoder}/mtk_vcodec_enc.c | 296 +++++----- .../vcodec/{ => encoder}/mtk_vcodec_enc.h | 12 +- .../vcodec/{ => encoder}/mtk_vcodec_enc_drv.c | 73 +-- .../vcodec/encoder/mtk_vcodec_enc_drv.h | 246 ++++++++ .../vcodec/{ => encoder}/mtk_vcodec_enc_pm.c | 12 +- .../vcodec/{ => encoder}/mtk_vcodec_enc_pm.h | 4 +- .../vcodec/{ => encoder}/venc/venc_h264_if.c | 110 ++-- .../vcodec/{ => encoder}/venc/venc_vp8_if.c | 69 +-- .../vcodec/{ => encoder}/venc_drv_base.h | 4 +- .../vcodec/{ => encoder}/venc_drv_if.c | 10 +- .../vcodec/{ => encoder}/venc_drv_if.h | 11 +- .../vcodec/{ => encoder}/venc_ipi_msg.h | 0 .../vcodec/{ => encoder}/venc_vpu_if.c | 75 +-- .../vcodec/{ => encoder}/venc_vpu_if.h | 3 +- .../platform/mediatek/vcodec/mtk_vcodec_drv.h | 548 ------------------quoted
.../mediatek/vcodec/mtk_vcodec_intr.c | 43 -- .../mediatek/vcodec/mtk_vcodec_util.h | 83 --- 62 files changed, 2217 insertions(+), 2183 deletions(-) create mode 100644drivers/media/platform/mediatek/vcodec/common/Makefilequoted
create mode 100644drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_cmn_drv.hquoted
rename drivers/media/platform/mediatek/vcodec/{ =>common}/mtk_vcodec_dbgfs.c (76%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>common}/mtk_vcodec_dbgfs.h (62%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>common}/mtk_vcodec_fw.c (75%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>common}/mtk_vcodec_fw.h (86%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>common}/mtk_vcodec_fw_priv.h (75%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>common}/mtk_vcodec_fw_scp.c (70%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>common}/mtk_vcodec_fw_vpu.c (58%)quoted
create mode 100644drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_intr.cquoted
rename drivers/media/platform/mediatek/vcodec/{ =>common}/mtk_vcodec_intr.h (68%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>common}/mtk_vcodec_util.c (55%)quoted
create mode 100644drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_util.hquoted
create mode 100644drivers/media/platform/mediatek/vcodec/decoder/Makefilequoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/mtk_vcodec_dec.c (83%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/mtk_vcodec_dec.h (91%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/mtk_vcodec_dec_drv.c (83%)quoted
create mode 100644drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_drv.hquoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/mtk_vcodec_dec_hw.c (91%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/mtk_vcodec_dec_hw.h (92%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/mtk_vcodec_dec_pm.c (81%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/mtk_vcodec_dec_pm.h (61%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/mtk_vcodec_dec_stateful.c (73%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/mtk_vcodec_dec_stateless.c (84%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec/vdec_av1_req_lat_if.c (93%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec/vdec_h264_if.c (84%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec/vdec_h264_req_common.c (98%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec/vdec_h264_req_common.h (97%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec/vdec_h264_req_if.c (86%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec/vdec_h264_req_multi_if.c (85%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec/vdec_hevc_req_multi_if.c (90%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec/vdec_vp8_if.c (87%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec/vdec_vp8_req_if.c (81%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec/vdec_vp9_if.c (87%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec/vdec_vp9_req_lat_if.c (94%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec_drv_base.h (95%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec_drv_if.c (86%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec_drv_if.h (89%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec_ipi_msg.h (100%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec_msg_queue.c (82%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec_msg_queue.h (95%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec_vpu_if.c (79%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>decoder}/vdec_vpu_if.h (97%)quoted
create mode 100644drivers/media/platform/mediatek/vcodec/encoder/Makefilequoted
rename drivers/media/platform/mediatek/vcodec/{ =>encoder}/mtk_vcodec_enc.c (82%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>encoder}/mtk_vcodec_enc.h (78%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>encoder}/mtk_vcodec_enc_drv.c (86%)quoted
create mode 100644drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc_drv.hquoted
rename drivers/media/platform/mediatek/vcodec/{ =>encoder}/mtk_vcodec_enc_pm.c (83%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>encoder}/mtk_vcodec_enc_pm.h (78%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>encoder}/venc/venc_h264_if.c (88%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>encoder}/venc/venc_vp8_if.c (88%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>encoder}/venc_drv_base.h (94%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>encoder}/venc_drv_if.c (86%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>encoder}/venc_drv_if.h (94%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>encoder}/venc_ipi_msg.h (100%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>encoder}/venc_vpu_if.c (82%)quoted
rename drivers/media/platform/mediatek/vcodec/{ =>encoder}/venc_vpu_if.h (96%)quoted
delete mode 100644drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.hquoted
delete mode 100644drivers/media/platform/mediatek/vcodec/mtk_vcodec_intr.cquoted
delete mode 100644drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.hquoted
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel