From: aakarsh jain <aakarsh.jain@xxxxxxxxxxx> This patch series adds MFC v12 support. MFC v12 is used in Tesla FSD SoC. This adds support for following: * Add support for VP9 encoder * Add support for YV12 and I420 format (3-plane) * Add support for Rate Control, UHD and DMABUF for encoder * Add support for DPB buffers allocation based on MFC requirement * Update documentation for control id definitions Changes since v1: - Addressed review comments by Andrzej Hajda. - Addressed review comments by Rob Herring. - Addressed review comments by Krzysztof Kozlowski. - Addressed review comments by Hans Verkuil. - Addressed review comments by Nicolas Dufresne. - Rebased on latest krzk/for-next tree. v4l2-complaince: Total for s5p-mfc device /dev/video0: 45, Succeeded: 39, Failed: 6, Warnings: 0 Total for s5p-mfc device /dev/video1: 45, Succeeded: 34, Failed: 11, Warnings: 3 Smitha T Murthy (15): dt-bindings: media: s5p-mfc: Add new DT schema for MFC dt-bindings: media: s5p-mfc: Add mfcv12 variant media: s5p-mfc: Rename IS_MFCV10 macro media: s5p-mfc: Add initial support for MFCv12 Documention: v4l: Documentation for VP9 CIDs. media: v4l2: Add v4l2 control IDs for VP9 encoder. media: s5p-mfc: Add support for VP9 encoder. media: s5p-mfc: Add YV12 and I420 multiplanar format support media: s5p-mfc: Add support for rate controls in MFCv12 media: s5p-mfc: Add support for UHD encoding. media: s5p-mfc: Add support for DMABUF for encoder media: s5p-mfc: Set context for valid case before calling try_run media: s5p-mfc: Load firmware for each run in MFCv12. media: s5p-mfc: DPB Count Independent of VIDIOC_REQBUF arm64: dts: fsd: Add MFC related DT enteries .../devicetree/bindings/media/s5p-mfc.txt | 77 +--- .../bindings/media/samsung,s5p-mfc.yaml | 110 +++++ .../media/v4l/ext-ctrls-codec.rst | 167 +++++++ arch/arm64/boot/dts/tesla/fsd-evb.dts | 4 + arch/arm64/boot/dts/tesla/fsd.dtsi | 22 + .../platform/samsung/s5p-mfc/regs-mfc-v12.h | 60 +++ .../platform/samsung/s5p-mfc/regs-mfc-v7.h | 1 + .../platform/samsung/s5p-mfc/regs-mfc-v8.h | 3 + .../media/platform/samsung/s5p-mfc/s5p_mfc.c | 36 +- .../platform/samsung/s5p-mfc/s5p_mfc_cmd_v6.c | 3 + .../platform/samsung/s5p-mfc/s5p_mfc_common.h | 54 ++- .../platform/samsung/s5p-mfc/s5p_mfc_ctrl.c | 9 +- .../platform/samsung/s5p-mfc/s5p_mfc_dec.c | 51 ++- .../platform/samsung/s5p-mfc/s5p_mfc_enc.c | 410 +++++++++++++++-- .../platform/samsung/s5p-mfc/s5p_mfc_opr.h | 16 +- .../platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c | 12 +- .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c | 433 ++++++++++++++++-- .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.h | 7 +- drivers/media/v4l2-core/v4l2-ctrls-defs.c | 44 ++ include/uapi/linux/v4l2-controls.h | 33 ++ 20 files changed, 1349 insertions(+), 203 deletions(-) create mode 100644 Documentation/devicetree/bindings/media/samsung,s5p-mfc.yaml create mode 100644 drivers/media/platform/samsung/s5p-mfc/regs-mfc-v12.h -- 2.17.1