[PATCH v2 00/14] media: mediatek: vcodec: support video decoder in mt8196

Yunfei Dong posted 14 patches 5 months, 3 weeks ago
.../media/mediatek,vcodec-subdev-decoder.yaml |   1 +
.../media/platform/mediatek/vcodec/Kconfig    |   4 +
.../platform/mediatek/vcodec/common/Makefile  |   4 +
.../mediatek/vcodec/common/mtk_vcodec_dbgfs.c |  21 +-
.../mediatek/vcodec/common/mtk_vcodec_fw.c    |  16 +
.../mediatek/vcodec/common/mtk_vcodec_fw.h    |   2 +
.../vcodec/common/mtk_vcodec_fw_priv.h        |  12 +
.../vcodec/common/mtk_vcodec_fw_vcp.c         | 493 ++++++++++++++++++
.../vcodec/common/mtk_vcodec_fw_vcp.h         | 151 ++++++
.../vcodec/decoder/mtk_vcodec_dec_drv.c       |  16 +
.../vcodec/decoder/mtk_vcodec_dec_drv.h       |   1 +
.../vcodec/decoder/mtk_vcodec_dec_hw.c        |  28 +
.../vcodec/decoder/mtk_vcodec_dec_hw.h        |  13 +-
.../vcodec/decoder/mtk_vcodec_dec_stateless.c |   6 +
.../vcodec/decoder/vdec/vdec_av1_req_lat_if.c |  85 ++-
.../decoder/vdec/vdec_h264_req_multi_if.c     |  10 +-
.../decoder/vdec/vdec_hevc_req_multi_if.c     |  11 +-
.../vcodec/decoder/vdec/vdec_vp8_req_if.c     |   4 +-
.../vcodec/decoder/vdec/vdec_vp9_req_lat_if.c |  20 +-
.../mediatek/vcodec/decoder/vdec_ipi_msg.h    |   2 +
.../mediatek/vcodec/decoder/vdec_vpu_if.c     |   9 +-
.../mediatek/vcodec/encoder/mtk_vcodec_enc.c  |   1 -
.../mediatek/vcodec/encoder/mtk_vcodec_enc.h  |   2 +
include/linux/remoteproc/mtk_vcp_public.h     |   2 +-
24 files changed, 871 insertions(+), 43 deletions(-)
create mode 100644 drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_vcp.c
create mode 100644 drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_vcp.h
[PATCH v2 00/14] media: mediatek: vcodec: support video decoder in mt8196
Posted by Yunfei Dong 5 months, 3 weeks ago
Using vcp micro processor to support video decoder in mt8196 platform,
need to add new firmware interface to communicate with vcp in kernel
side. Then add mt8196 compatible, codec levels/profiles and private data.
Re-write av1 driver to support extend vsi struct, then change irq table
and cdf table size.

This patch set depends on "Add VCP support for mt8196"[1]

[1] https://patchwork.kernel.org/project/linux-remoteproc/patch/20250402092134.12293-2-xiangzhi.tang@mediatek.com/
---
Changed in v2:
- re-write the commit message for patch 1
---
Yunfei Dong (14):
  dt-bindings: media: mediatek: vcodec: add decoder dt-bindings for
    mt8196
  media: mediatek: vcodec: add decoder compatible to support mt8196
  media: mediatek: vcodec: add driver to support vcp
  media: mediatek: vcodec: add driver to support vcp encoder
  media: mediatek: vcodec: get different firmware ipi id
  media: mediatek: vcodec: get share memory address
  media: mediatek: vcodec: define MT8196 vcodec levels.
  media: mediatek: vcodec: support vcp architecture
  media: mediatek: vcodec: support 36bit iova address
  media: mediatek: vcodec: clean xpc status
  media: mediatek: vcodec: add debug information
  media: mediatek: vcodec: send share memory address to vcp
  media: mediatek: decoder: fill av1 buffer size with picinfo
  media: mediatek: decoder: support av1 extend vsi

 .../media/mediatek,vcodec-subdev-decoder.yaml |   1 +
 .../media/platform/mediatek/vcodec/Kconfig    |   4 +
 .../platform/mediatek/vcodec/common/Makefile  |   4 +
 .../mediatek/vcodec/common/mtk_vcodec_dbgfs.c |  21 +-
 .../mediatek/vcodec/common/mtk_vcodec_fw.c    |  16 +
 .../mediatek/vcodec/common/mtk_vcodec_fw.h    |   2 +
 .../vcodec/common/mtk_vcodec_fw_priv.h        |  12 +
 .../vcodec/common/mtk_vcodec_fw_vcp.c         | 493 ++++++++++++++++++
 .../vcodec/common/mtk_vcodec_fw_vcp.h         | 151 ++++++
 .../vcodec/decoder/mtk_vcodec_dec_drv.c       |  16 +
 .../vcodec/decoder/mtk_vcodec_dec_drv.h       |   1 +
 .../vcodec/decoder/mtk_vcodec_dec_hw.c        |  28 +
 .../vcodec/decoder/mtk_vcodec_dec_hw.h        |  13 +-
 .../vcodec/decoder/mtk_vcodec_dec_stateless.c |   6 +
 .../vcodec/decoder/vdec/vdec_av1_req_lat_if.c |  85 ++-
 .../decoder/vdec/vdec_h264_req_multi_if.c     |  10 +-
 .../decoder/vdec/vdec_hevc_req_multi_if.c     |  11 +-
 .../vcodec/decoder/vdec/vdec_vp8_req_if.c     |   4 +-
 .../vcodec/decoder/vdec/vdec_vp9_req_lat_if.c |  20 +-
 .../mediatek/vcodec/decoder/vdec_ipi_msg.h    |   2 +
 .../mediatek/vcodec/decoder/vdec_vpu_if.c     |   9 +-
 .../mediatek/vcodec/encoder/mtk_vcodec_enc.c  |   1 -
 .../mediatek/vcodec/encoder/mtk_vcodec_enc.h  |   2 +
 include/linux/remoteproc/mtk_vcp_public.h     |   2 +-
 24 files changed, 871 insertions(+), 43 deletions(-)
 create mode 100644 drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_vcp.c
 create mode 100644 drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_vcp.h

-- 
2.45.2
Re: [PATCH v2 00/14] media: mediatek: vcodec: support video decoder in mt8196
Posted by Nicolas Dufresne 2 months, 1 week ago
Hi,

Le vendredi 15 août 2025 à 16:52 +0800, Yunfei Dong a écrit :
> Using vcp micro processor to support video decoder in mt8196 platform,
> need to add new firmware interface to communicate with vcp in kernel
> side. Then add mt8196 compatible, codec levels/profiles and private data.
> Re-write av1 driver to support extend vsi struct, then change irq table
> and cdf table size.

Please reword, things seems a little reverse, say what you are doing, and then
what is used to do it. This cover should include some level of tests report,
v4l2-compliance (hopefully unchanged) and fluster results (ideally with
regression testing on lets say MT8195, since a driver rewrite is not a little
affaire).

> 
> This patch set depends on "Add VCP support for mt8196"[1]
> 
> [1]
> https://patchwork.kernel.org/project/linux-remoteproc/patch/20250402092134.12293-2-xiangzhi.tang@mediatek.com/

This seems to have stalled at v2, is there an update coming ?

Nicolas

> ---
> Changed in v2:
> - re-write the commit message for patch 1
> ---
> Yunfei Dong (14):
>   dt-bindings: media: mediatek: vcodec: add decoder dt-bindings for
>     mt8196
>   media: mediatek: vcodec: add decoder compatible to support mt8196
>   media: mediatek: vcodec: add driver to support vcp
>   media: mediatek: vcodec: add driver to support vcp encoder
>   media: mediatek: vcodec: get different firmware ipi id
>   media: mediatek: vcodec: get share memory address
>   media: mediatek: vcodec: define MT8196 vcodec levels.
>   media: mediatek: vcodec: support vcp architecture
>   media: mediatek: vcodec: support 36bit iova address
>   media: mediatek: vcodec: clean xpc status
>   media: mediatek: vcodec: add debug information
>   media: mediatek: vcodec: send share memory address to vcp
>   media: mediatek: decoder: fill av1 buffer size with picinfo
>   media: mediatek: decoder: support av1 extend vsi
> 
>  .../media/mediatek,vcodec-subdev-decoder.yaml |   1 +
>  .../media/platform/mediatek/vcodec/Kconfig    |   4 +
>  .../platform/mediatek/vcodec/common/Makefile  |   4 +
>  .../mediatek/vcodec/common/mtk_vcodec_dbgfs.c |  21 +-
>  .../mediatek/vcodec/common/mtk_vcodec_fw.c    |  16 +
>  .../mediatek/vcodec/common/mtk_vcodec_fw.h    |   2 +
>  .../vcodec/common/mtk_vcodec_fw_priv.h        |  12 +
>  .../vcodec/common/mtk_vcodec_fw_vcp.c         | 493 ++++++++++++++++++
>  .../vcodec/common/mtk_vcodec_fw_vcp.h         | 151 ++++++
>  .../vcodec/decoder/mtk_vcodec_dec_drv.c       |  16 +
>  .../vcodec/decoder/mtk_vcodec_dec_drv.h       |   1 +
>  .../vcodec/decoder/mtk_vcodec_dec_hw.c        |  28 +
>  .../vcodec/decoder/mtk_vcodec_dec_hw.h        |  13 +-
>  .../vcodec/decoder/mtk_vcodec_dec_stateless.c |   6 +
>  .../vcodec/decoder/vdec/vdec_av1_req_lat_if.c |  85 ++-
>  .../decoder/vdec/vdec_h264_req_multi_if.c     |  10 +-
>  .../decoder/vdec/vdec_hevc_req_multi_if.c     |  11 +-
>  .../vcodec/decoder/vdec/vdec_vp8_req_if.c     |   4 +-
>  .../vcodec/decoder/vdec/vdec_vp9_req_lat_if.c |  20 +-
>  .../mediatek/vcodec/decoder/vdec_ipi_msg.h    |   2 +
>  .../mediatek/vcodec/decoder/vdec_vpu_if.c     |   9 +-
>  .../mediatek/vcodec/encoder/mtk_vcodec_enc.c  |   1 -
>  .../mediatek/vcodec/encoder/mtk_vcodec_enc.h  |   2 +
>  include/linux/remoteproc/mtk_vcp_public.h     |   2 +-
>  24 files changed, 871 insertions(+), 43 deletions(-)
>  create mode 100644
> drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_vcp.c
>  create mode 100644
> drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_vcp.h