Thread (12 messages) 12 messages, 2 authors, 2023-07-22

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 to
add more parameter
quoted
in shared struct 'mtk_vcodec_ctx' and 'mtk_vcodec_dev'. Encoder use
about 40% and
quoted
decoder use 60% parameter. Need to allocate extra unused memory
when encoder and decoder
quoted
working.

Separate encoder and decoder in different folder and use
independent 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 folder
There 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 patch
3.
quoted
- add debug string for non ctx log for patch 6.
- change the comment of struct mtk_vcodec_dec_ctx and struct
mtk_vcodec_enc_ctx for patch 7.
quoted
- prefer to use struct mtk_vcodec_dec_dev an current period, will
re-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 calling
common
quoted
     macro mtk_vcodec_debug in order to use dev_dbg instead of
pr_debug.
quoted
  2: add different macro mtk_v4l2_venc_dbg and mtk_v4l2_vdec_dbg
calling common
quoted
     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_dbg
for patch 4.
quoted
- Change pr_err to dev_err for mtk_v4l2_err and mtk_vcodec_err for
patch 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 debug
log
quoted
  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 definition
and
quoted
    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 100644
drivers/media/platform/mediatek/vcodec/common/Makefile
quoted
 create mode 100644
drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_cmn_drv.h
quoted
 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 100644
drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_intr.c
quoted
 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 100644
drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_util.h
quoted
 create mode 100644
drivers/media/platform/mediatek/vcodec/decoder/Makefile
quoted
 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 100644
drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_drv.h
quoted
 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 100644
drivers/media/platform/mediatek/vcodec/encoder/Makefile
quoted
 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 100644
drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc_drv.h
quoted
 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 100644
drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.h
quoted
 delete mode 100644
drivers/media/platform/mediatek/vcodec/mtk_vcodec_intr.c
quoted
 delete mode 100644
drivers/media/platform/mediatek/vcodec/mtk_vcodec_util.h
quoted
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help