Re: [Patch v5 00/11] Add MFC V12 support

From: Hans Verkuil
Date: Wed Dec 06 2023 - 07:59:29 EST


On 06/12/2023 07:30, Aakarsh Jain wrote:
> 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

I'm getting one smatch warning:

drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c:2453 s5p_mfc_queue_setup() error: we previously assumed 'ctx->src_fmt' could be null (see line 2441)

And a few kerneldoc warnings:

drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h:729: warning: Function parameter or member 'chroma_size_1' not described in 's5p_mfc_ctx'
drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h:729: warning: Function parameter or member 'is_10bit' not described in 's5p_mfc_ctx'
drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h:729: warning: Function parameter or member 'is_422' not described in 's5p_mfc_ctx'
drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h:729: warning: Function parameter or member 'stride' not described in 's5p_mfc_ctx'

Something for v6.

Regards,

Hans

>
> 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 (11):
> 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
> arm64: dts: fsd: Add MFC related DT enteries
>
> .../bindings/media/samsung,s5p-mfc.yaml | 18 ++
> arch/arm64/boot/dts/tesla/fsd.dtsi | 21 ++
> .../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 | 29 +-
> .../platform/samsung/s5p-mfc/s5p_mfc_ctrl.c | 10 +-
> .../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 | 300 ++++++++++++++----
> .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.h | 7 +-
> 14 files changed, 563 insertions(+), 149 deletions(-)
> create mode 100644 drivers/media/platform/samsung/s5p-mfc/regs-mfc-v12.h
>