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