Here is new respin of the MT8183 encoder support and v4l2-compliance fixes series, addressing issues raised during the v3 review (thanks in particular to Ezequiel for the feedback!). With this version I hope to complete the collection of Acked-by from respective maintainers. A few driver patches still need approval for the mtk-vcodec maintainer, and so does the patch adding the device tree node (9/17) that is new to this series. This series has been tested and confirmed to work on both Hana (MT8173) and Krane (MT8183) Chromebooks. v4l2-compliance also passed successfully on both devices. Changes since v3: * Link mtk_vcodec_fw.o to the mtk_vcodec_common module * Add some documentation to structures used for firmware communication * Remove some on-the-spot variables renamings that were distracting * Add device tree nodes for MT8183 boards * Carry new Acked-bys Changes since v2: * Carried new Acked-bys from mtk-vcodec maintainer * Removed 2 patches that were triggered by a bug in v4l2-compliance * Moved DT bindings patches before the code implementing them Changes since v1: * Checked that no regressions against v4l2-compliance were introduced, * Fixed 9 failing v4l2-compliance tests, * Removed 1 cleanup patch of contested utility, * Carried Acked-bys and Reviewed-bys from mtk-vcodec maintainer. 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 arm64: dts: mt8183: add encoder node 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 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 .../bindings/media/mediatek-vcodec.txt | 9 +- arch/arm64/boot/dts/mediatek/mt8183-evb.dts | 10 + .../arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 12 + arch/arm64/boot/dts/mediatek/mt8183.dtsi | 36 +++ drivers/media/platform/Kconfig | 1 + drivers/media/platform/mtk-vcodec/Makefile | 6 +- .../platform/mtk-vcodec/mtk_vcodec_dec_drv.c | 53 ++-- .../platform/mtk-vcodec/mtk_vcodec_dec_pm.c | 1 - .../platform/mtk-vcodec/mtk_vcodec_drv.h | 40 ++- .../platform/mtk-vcodec/mtk_vcodec_enc.c | 211 ++++++++-------- .../platform/mtk-vcodec/mtk_vcodec_enc_drv.c | 173 +++++++++---- .../platform/mtk-vcodec/mtk_vcodec_enc_pm.c | 2 - .../media/platform/mtk-vcodec/mtk_vcodec_fw.c | 228 ++++++++++++++++++ .../media/platform/mtk-vcodec/mtk_vcodec_fw.h | 38 +++ .../platform/mtk-vcodec/mtk_vcodec_util.c | 1 - .../platform/mtk-vcodec/vdec/vdec_h264_if.c | 1 - .../platform/mtk-vcodec/vdec/vdec_vp8_if.c | 1 - .../platform/mtk-vcodec/vdec/vdec_vp9_if.c | 1 - .../media/platform/mtk-vcodec/vdec_drv_base.h | 2 - .../media/platform/mtk-vcodec/vdec_drv_if.c | 1 - .../media/platform/mtk-vcodec/vdec_vpu_if.c | 12 +- .../media/platform/mtk-vcodec/vdec_vpu_if.h | 11 +- .../platform/mtk-vcodec/venc/venc_h264_if.c | 68 +++++- .../platform/mtk-vcodec/venc/venc_vp8_if.c | 11 +- .../media/platform/mtk-vcodec/venc_drv_if.c | 1 - .../media/platform/mtk-vcodec/venc_drv_if.h | 13 + .../media/platform/mtk-vcodec/venc_ipi_msg.h | 27 ++- .../media/platform/mtk-vcodec/venc_vpu_if.c | 141 ++++++++--- .../media/platform/mtk-vcodec/venc_vpu_if.h | 8 +- 29 files changed, 836 insertions(+), 283 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 -- 2.28.0.297.g1956fa8f8d-goog