Re: [PATCH v5 00/14] add support MDP3 on MT8195 platform

From: Moudy Ho (何宗原)
Date: Tue Sep 19 2023 - 02:43:41 EST


On Fri, 2023-09-15 at 12:27 +0200, Hans Verkuil wrote:
>
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> Hi Moudy,
>
> On 12/09/2023 09:57, Moudy Ho wrote:
> > Changes since v4:
> > - Rebase on v6.6-rc1
> > - Remove any unnecessary DTS settings.
> > - Adjust the usage of MOD and clock in blending components.
> >
> > Changes since v3:
> > - Depend on :
> > [1]
> https://patchwork.kernel.org/project/linux-media/list/?series=719841
> > - Suggested by Krzysztof, integrating all newly added bindings for
> > the mt8195 MDP3 into the file "mediatek,mt8195-mdp3.yaml".
> > - Revise MDP3 nodes with generic names.
> >
> > Changes since v2:
> > - Depend on :
> > [1] MMSYS/MUTEX:
> https://patchwork.kernel.org/project/linux-mediatek/list/?series=711592
> > [2] MDP3:
> https://patchwork.kernel.org/project/linux-mediatek/list/?series=711618
> > - Suggested by Rob to revise MDP3 bindings to pass dtbs check
> > - Add parallel paths feature.
> > - Add blended components settings.
> >
> > Changes since v1:
> > - Depend on :
> > [1] MDP3 :
> https://patchwork.kernel.org/project/linux-mediatek/list/?series=698872
> > [2] MMSYS/MUTEX:
> https://patchwork.kernel.org/project/linux-mediatek/list/?series=684959
> > - Fix compilation failure due to use of undeclared identifier in
> file "mtk-mdp3-cmdq.c"
> >
> > Hello,
> >
> > This patch is used to add support for MDP3 on the MT8195 platform
> that
> > contains more picture quality components, and can arrange more
> pipelines
> > through two sets of MMSYS and MUTEX respectively.
>
> I ran this series through our build system and I got the following
> compile warning:
>
> drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c: In function
> 'mdp_path_config.isra':
> drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c:449:51: warning:
> 'ctx' may be used uninitialized [-Wmaybe-uninitialized]
> 449 | out = CFG_COMP(MT8195, ctx->param,
> outputs[0]);
> | ~~~^~~~~~~
> drivers/media/platform/mediatek/mdp3/mtk-img-ipi.h:137:25: note: in
> definition of macro 'CFG_COMP'
> 137 | (IS_ERR_OR_NULL(comp) ? 0 : _CFG_COMP(plat, comp,
> mem))
> | ^~~~
> drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c:402:30: note:
> 'ctx' was declared here
> 402 | struct mdp_comp_ctx *ctx;
> | ^~~
>
> And also a few smatch warnings/errors:
>
> drivers/media/platform/mediatek/mdp3/mtk-mdp3-comp.c:871
> wait_wrot_event() warn: variable dereferenced before check 'mdp_cfg'
> (see line 864)
> drivers/media/platform/mediatek/mdp3/mtk-mdp3-comp.c:1024
> reset_luma_hist() warn: variable dereferenced before check 'mdp_cfg'
> (see line 1015)
> drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c:447
> mdp_path_config() error: potentially dereferencing uninitialized
> 'ctx'.
> drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c:449
> mdp_path_config() error: potentially dereferencing uninitialized
> 'ctx'.
>
> You can run the same tests yourself, see this announcement:
>
>
https://lore.kernel.org/linux-media/18989016-6392-a77b-6cf7-1223c9161def@xxxxxxxxx/
>
> Regards,
>
> Hans
>

Hi Hans,

Thanks for the reminder. I will run the build script to test this
series and rectify any warnings.

Sincerely,
Moudy
> >
> > Moudy Ho (14):
> > arm64: dts: mediatek: mt8183: correct MDP3 DMA-related nodes
> > arm64: dts: mediatek: mt8195: add MDP3 nodes
> > media: platform: mtk-mdp3: add support second sets of MMSYS
> > media: platform: mtk-mdp3: add support second sets of MUTEX
> > media: platform: mtk-mdp3: introduce more pipelines from MT8195
> > media: platform: mtk-mdp3: introduce more MDP3 components
> > media: platform: mtk-mdp3: add checks for dummy components
> > media: platform: mtk-mdp3: avoid multiple driver registrations
> > media: platform: mtk-mdp3: extend GCE event waiting in RDMA and
> WROT
> > media: platform: mtk-mdp3: add support for blending multiple
> > components
> > media: platform: mtk-mdp3: add mt8195 platform configuration
> > media: platform: mtk-mdp3: add mt8195 shared memory
> configurations
> > media: platform: mtk-mdp3: add mt8195 MDP3 component settings
> > media: platform: mtk-mdp3: add support for parallel pipe to
> improve
> > FPS
> >
> > arch/arm64/boot/dts/mediatek/mt8183.dtsi | 6 +-
> > arch/arm64/boot/dts/mediatek/mt8195.dtsi | 378 ++++++++
> > .../platform/mediatek/mdp3/mdp_cfg_data.c | 729
> ++++++++++++++-
> > .../platform/mediatek/mdp3/mdp_reg_aal.h | 25 +
> > .../platform/mediatek/mdp3/mdp_reg_color.h | 31 +
> > .../media/platform/mediatek/mdp3/mdp_reg_fg.h | 23 +
> > .../platform/mediatek/mdp3/mdp_reg_hdr.h | 31 +
> > .../platform/mediatek/mdp3/mdp_reg_merge.h | 25 +
> > .../platform/mediatek/mdp3/mdp_reg_ovl.h | 25 +
> > .../platform/mediatek/mdp3/mdp_reg_pad.h | 21 +
> > .../platform/mediatek/mdp3/mdp_reg_rdma.h | 24 +
> > .../platform/mediatek/mdp3/mdp_reg_rsz.h | 2 +
> > .../platform/mediatek/mdp3/mdp_reg_tdshp.h | 34 +
> > .../platform/mediatek/mdp3/mdp_reg_wrot.h | 8 +
> > .../platform/mediatek/mdp3/mdp_sm_mt8195.h | 283 ++++++
> > .../platform/mediatek/mdp3/mtk-img-ipi.h | 4 +
> > .../platform/mediatek/mdp3/mtk-mdp3-cfg.h | 2 +
> > .../platform/mediatek/mdp3/mtk-mdp3-cmdq.c | 447 +++++++--
> > .../platform/mediatek/mdp3/mtk-mdp3-cmdq.h | 1 +
> > .../platform/mediatek/mdp3/mtk-mdp3-comp.c | 860
> +++++++++++++++++-
> > .../platform/mediatek/mdp3/mtk-mdp3-comp.h | 93 +-
> > .../platform/mediatek/mdp3/mtk-mdp3-core.c | 103 ++-
> > .../platform/mediatek/mdp3/mtk-mdp3-core.h | 33 +-
> > .../platform/mediatek/mdp3/mtk-mdp3-m2m.c | 15 +
> > .../platform/mediatek/mdp3/mtk-mdp3-regs.c | 18 +
> > .../platform/mediatek/mdp3/mtk-mdp3-regs.h | 1 +
> > .../platform/mediatek/mdp3/mtk-mdp3-vpu.c | 3 +-
> > 27 files changed, 3051 insertions(+), 174 deletions(-)
> > create mode 100644
> drivers/media/platform/mediatek/mdp3/mdp_reg_aal.h
> > create mode 100644
> drivers/media/platform/mediatek/mdp3/mdp_reg_color.h
> > create mode 100644
> drivers/media/platform/mediatek/mdp3/mdp_reg_fg.h
> > create mode 100644
> drivers/media/platform/mediatek/mdp3/mdp_reg_hdr.h
> > create mode 100644
> drivers/media/platform/mediatek/mdp3/mdp_reg_merge.h
> > create mode 100644
> drivers/media/platform/mediatek/mdp3/mdp_reg_ovl.h
> > create mode 100644
> drivers/media/platform/mediatek/mdp3/mdp_reg_pad.h
> > create mode 100644
> drivers/media/platform/mediatek/mdp3/mdp_reg_tdshp.h
> > create mode 100644
> drivers/media/platform/mediatek/mdp3/mdp_sm_mt8195.h
> >
>