This patch series adds MFC v12 support. MFC v12 is used in Tesla FSD SoC. This adds support for following: -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 changes since v5: -As per Krzysztof, he will take MFC dt-entries patch via Samsung SoC once dt-bindings patch gets accepted. Therefore, excluded MFC dt-entries patch from v6. -Addressed review comments by Hans Verkuil. Resolved smatch warning from 'drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c'. Resolved kernel doc warnings from 'drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h'. Added explanation in the patch 9 as comment on why mfc v12 firmware loading is needed for each run. v5 link: https://patchwork.kernel.org/project/linux-media/cover/20231206063045.97234-1-aakarsh.jain@xxxxxxxxxxx/ Changes since v4: -Addressed review comments by Krzysztof Kozlowski. As per discussion included iommus property in dt-schema. -Addressed review comments by Hans Verkuil. Fixed checkpatch warnings with --strict flag enabled. Upstreamed s5p-mfc-v12.fw to linux-firmware. Added comment in the patch 9 regarding loading mfc firmware v12 sequentially. -Addressed review comments by Nicolas Dufresne Made use of v4l2-common library to get number of planes needed for particular format in patch 4. v4 link:https://patchwork.kernel.org/project/linux-media/patch/20231025102216.50480-2-aakarsh.jain@xxxxxxxxxxx/ Changes since v3: -Removed vp9 codec support for now and just keeping MFC v12 base patches with necessary hardware controls, decoder, encoder and structural changes. Also covers luma dbp, chroma dpb and mv sizes for each codec as per the UM for MFCv12, along with appropriate alignment. v3 link: https://patchwork.kernel.org/project/linux-media/cover/20221011122516.32135-1-aakarsh.jain@xxxxxxxxxxx/ Changes since v2: -Addressed review comments by Rob Herring. This was regarding the errors found by Rob bot in yaml file. File 'samsung,s5p-mfc.yaml' is already converted into json schema and is merged. -Addressed review comments by Krzysztof Kozlowski. This was regarding depricated properties mentioned in s5p-mfc.txt file. Review comment was addressed and 'samsung,s5p-mfc.yaml' is already merged now. -Addressed review comments by Andi Shyti. This was regarding addition of 'MFC_V10PLUS_BITS' macro in 's5p_mfc_common.h file. v2 link: https://patchwork.kernel.org/project/linux-media/cover/20220907064715.55778-1-smitha.t@xxxxxxxxxxx/ Changes since v1: -Addressed review comments by Krzysztof Kozlowski. Separated bug fixes patches, resent again with fix tag and those are merged now. -Added SoC based compatible string. -Addressed review comments by Andrzej Hajda Assigned width64 and height32 variable with ALIGN(ctx->img_..) used in the code in 's5p_mfc_opr_v6.c' file. v1 link: https://patchwork.kernel.org/project/linux-media/patch/20220517125548.14746-2-smitha.t@xxxxxxxxxxx/ Aakarsh Jain (10): dt-bindings: media: s5p-mfc: Add mfcv12 variant media: s5p-mfc: Rename IS_MFCV10 macro media: s5p-mfc: Add initial support for MFCv12 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 .../bindings/media/samsung,s5p-mfc.yaml | 18 ++ .../platform/samsung/s5p-mfc/regs-mfc-v12.h | 52 +++ .../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_common.h | 33 +- .../platform/samsung/s5p-mfc/s5p_mfc_ctrl.c | 15 +- .../platform/samsung/s5p-mfc/s5p_mfc_dec.c | 60 +++- .../platform/samsung/s5p-mfc/s5p_mfc_enc.c | 149 ++++++--- .../platform/samsung/s5p-mfc/s5p_mfc_opr.h | 14 +- .../platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c | 12 +- .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c | 299 ++++++++++++++---- .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.h | 7 +- 13 files changed, 550 insertions(+), 149 deletions(-) create mode 100644 drivers/media/platform/samsung/s5p-mfc/regs-mfc-v12.h -- 2.17.1