Note 1: the MTK_SCP config option causes COMPILE_TEST to fail, but a patch for that is pending for the remoteproc tree: https://lkml.org/lkml/2020/8/21/489 I've verified that that patch fixes the COMPILE_TEST failure. Note 2: the firmware is added to linux-firmware: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?h=master&id=3c213aa59661c4641f0c2166a315140ac0445230 Regards, Hans Changes since v1: fixed merge conflicts with patch 1 (media: mtk-vcodec: abstract firmware interface) The following changes since commit a0009a133a2d4c3410682c87c2e2904a1e012f47: media: venus: Make debug infrastructure more flexible (2020-08-29 10:12:24 +0200) are available in the Git repository at: git://linuxtv.org/hverkuil/media_tree.git tags/br-mt8183 for you to fetch changes up to e06368754756c4fedebb04c7561a1e359102e72e: media: mtk-vcodec: make IRQs disabled upon request (2020-08-29 10:39:34 +0200) ---------------------------------------------------------------- Tag branch ---------------------------------------------------------------- Alexandre Courbot (13): dt-bindings: media: mtk-vcodec: document SCP node media: mtk-vcodec: venc: handle firmware version field media: mtk-vcodec: venc: specify bitrate range per-chip media: mtk-vcodec: venc: specify supported formats per-chip dt-bindings: media: document mediatek,mt8183-vcodec-enc Revert "media: mtk-vcodec: Remove extra area allocation in an input buffer on encoding" media: mtk-vcodec: venc support MIN_OUTPUT_BUFFERS control media: mtk-vcodec: venc: set OUTPUT buffers field to V4L2_FIELD_NONE media: mtk-vcodec: venc: use platform data for ENUM_FRAMESIZES media: mtk-vcodec: venc: support ENUM_FRAMESIZES on OUTPUT formats media: mtk-vcodec: venc: set default time per frame media: mtk-vcodec: venc: fix invalid time per frame in S_PARM media: mtk-vcodec: make IRQs disabled upon request Yunfei Dong (4): media: mtk-vcodec: abstract firmware interface media: mtk-vcodec: add SCP firmware ops media: mtk-vcodec: venc: support SCP firmware media: mtk-vcodec: add support for MT8183 encoder Documentation/devicetree/bindings/media/mediatek-vcodec.txt | 9 +- drivers/media/platform/Kconfig | 1 + drivers/media/platform/mtk-vcodec/Makefile | 6 +- drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_drv.c | 54 +++++------ drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c | 1 - drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h | 40 +++++++- drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c | 211 +++++++++++++++++++--------------------- drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c | 172 +++++++++++++++++++++++---------- drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_pm.c | 2 - drivers/media/platform/mtk-vcodec/mtk_vcodec_fw.c | 231 ++++++++++++++++++++++++++++++++++++++++++++ drivers/media/platform/mtk-vcodec/mtk_vcodec_fw.h | 38 ++++++++ drivers/media/platform/mtk-vcodec/mtk_vcodec_util.c | 1 - drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c | 1 - drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c | 1 - drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c | 1 - drivers/media/platform/mtk-vcodec/vdec_drv_base.h | 2 - drivers/media/platform/mtk-vcodec/vdec_drv_if.c | 1 - drivers/media/platform/mtk-vcodec/vdec_vpu_if.c | 12 ++- drivers/media/platform/mtk-vcodec/vdec_vpu_if.h | 11 ++- drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c | 68 ++++++++++--- drivers/media/platform/mtk-vcodec/venc/venc_vp8_if.c | 11 ++- drivers/media/platform/mtk-vcodec/venc_drv_if.c | 1 - drivers/media/platform/mtk-vcodec/venc_drv_if.h | 13 +++ drivers/media/platform/mtk-vcodec/venc_ipi_msg.h | 27 +++++- drivers/media/platform/mtk-vcodec/venc_vpu_if.c | 141 ++++++++++++++++++++------- drivers/media/platform/mtk-vcodec/venc_vpu_if.h | 8 +- 26 files changed, 782 insertions(+), 282 deletions(-) create mode 100644 drivers/media/platform/mtk-vcodec/mtk_vcodec_fw.c create mode 100644 drivers/media/platform/mtk-vcodec/mtk_vcodec_fw.h