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

Yunfei Dong posted 14 patches 2 hours 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         | 561 ++++++++++++++++++
.../vcodec/common/mtk_vcodec_fw_vcp.h         | 153 +++++
.../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 | 113 +++-
.../decoder/vdec/vdec_h264_req_multi_if.c     |  11 +-
.../decoder/vdec/vdec_hevc_req_multi_if.c     |  12 +-
.../vcodec/decoder/vdec/vdec_vp8_req_if.c     |   5 +-
.../vcodec/decoder/vdec/vdec_vp9_req_lat_if.c |  29 +-
.../mediatek/vcodec/decoder/vdec_ipi_msg.h    |   2 +
.../mediatek/vcodec/decoder/vdec_vpu_if.c     |  12 +-
.../mediatek/vcodec/encoder/mtk_vcodec_enc.c  |   1 -
.../mediatek/vcodec/encoder/mtk_vcodec_enc.h  |   2 +
23 files changed, 987 insertions(+), 38 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 v3 00/14] media: mediatek: vcodec: support video decoder in mt8196
Posted by Yunfei Dong 2 hours ago
This patch set adds support for the video decoder on the MediaTek MT8196
platform, leveraging the VCP microprocessor for enhanced performance. It
introduces new firmware interfaces for kernel-side communication with VCP,
adds MT8196 compatible, codec levels/profiles, and private data. Rewrites
the AV1 driver to support extended VSI structures, 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/

Compliance Test Result:
- v4l2-compliance: 48/49 tests passed, 1 failed (known issue)
- fail: v4l2-test-controls.cpp(981): ret (got 13)
-        test VIDIOC_G/S/TRY_EXT_CTRLS: FAIL

Fluster Test Result:
- H264:
- Ran 95/135 tests successfully   in 73.540 secs
- H265:
- Ran 142/147 tests successfully  in 100.168 secs
- VP9:
- Ran 276/305 tests successfully  in 106.804 secs
- AV1:
- Ran 240/242 tests successfully  in 23.991 secs
---
Changed in v3:
- Depends on change no update
- Add Compliance and Fluster test result
- Re-write the commit message for patch 12
- Change the patches according to review suggestion for patch: 3/4/5/6/14

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         | 561 ++++++++++++++++++
 .../vcodec/common/mtk_vcodec_fw_vcp.h         | 153 +++++
 .../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 | 113 +++-
 .../decoder/vdec/vdec_h264_req_multi_if.c     |  11 +-
 .../decoder/vdec/vdec_hevc_req_multi_if.c     |  12 +-
 .../vcodec/decoder/vdec/vdec_vp8_req_if.c     |   5 +-
 .../vcodec/decoder/vdec/vdec_vp9_req_lat_if.c |  29 +-
 .../mediatek/vcodec/decoder/vdec_ipi_msg.h    |   2 +
 .../mediatek/vcodec/decoder/vdec_vpu_if.c     |  12 +-
 .../mediatek/vcodec/encoder/mtk_vcodec_enc.c  |   1 -
 .../mediatek/vcodec/encoder/mtk_vcodec_enc.h  |   2 +
 23 files changed, 987 insertions(+), 38 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