[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdVDQMUcYSnvPj=TOepSbgSj7fO7oxd9QvQBDSttpVz=ew@mail.gmail.com>
Date: Tue, 7 Dec 2021 15:33:47 +0100
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: Hans Verkuil <hverkuil-cisco@...all.nl>
Cc: Moudy Ho <moudy.ho@...iatek.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Matthias Brugger <matthias.bgg@...il.com>,
Jernej Skrabec <jernej.skrabec@...l.net>,
Chun-Kuang Hu <chunkuang.hu@...nel.org>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Rob Landley <rob@...dley.net>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Linux Media Mailing List <linux-media@...r.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@...r.kernel.org>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
linux-mediatek@...ts.infradead.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Alexandre Courbot <acourbot@...omium.org>,
Tomasz Figa <tfiga@...omium.org>, drinkcat@...omium.org,
pihsun@...omium.org, hsinyi@...gle.com,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>,
Maoguang Meng <maoguang.meng@...iatek.com>,
daoyuan huang <daoyuan.huang@...iatek.com>,
Ping-Hsun Wu <ping-hsun.wu@...iatek.com>,
menghui.lin@...iatek.com, sj.huang@...iatek.com,
allen-kh.cheng@...iatek.com, randy.wu@...iatek.com,
jason-jh.lin@...iatek.com, roy-cw.yeh@...iatek.com,
river.cheng@...iatek.com, srv_heupstream@...iatek.com
Subject: Re: [PATCH v10 3/3] media: platform: mtk-mdp3: add Mediatek MDP3 driver
Hi Hans,
On Tue, Dec 7, 2021 at 3:20 PM Hans Verkuil <hverkuil-cisco@...all.nl> wrote:
> On 12/2/21 7:27 AM, Moudy Ho wrote:
> > This patch adds driver for Mediatek's Media Data Path ver.3 (MDP3).
> > It provides the following functions:
> > color transform, format conversion, resize, crop, rotate, flip
> > and additional image quality enhancement.
> >
> > The MDP3 driver is mainly used for Google Chromebook products to
> > import the new architecture to set the HW settings as shown below:
> > User -> V4L2 framework
> > -> MDP3 driver -> SCP (setting calculations)
> > -> MDP3 driver -> CMDQ (GCE driver) -> HW
> >
> > Each modules' related operation control is sited in mtk-mdp3-comp.c
> > Each modules' register table is defined in file with "mdp_reg_" prefix
> > GCE related API, operation control sited in mtk-mdp3-cmdq.c
> > V4L2 m2m device functions are implemented in mtk-mdp3-m2m.c
> > Probe, power, suspend/resume, system level functions are defined in
> > mtk-mdp3-core.c
> >
> > Signed-off-by: Ping-Hsun Wu <ping-hsun.wu@...iatek.com>
> > Signed-off-by: daoyuan huang <daoyuan.huang@...iatek.com>
> > Signed-off-by: Moudy Ho <moudy.ho@...iatek.com>
> > Reported-by: kernel test robot <lkp@...el.com>
> > ---
> > drivers/media/platform/Kconfig | 19 +
> > drivers/media/platform/Makefile | 2 +
> > drivers/media/platform/mtk-mdp3/Makefile | 6 +
> > .../media/platform/mtk-mdp3/mdp_reg_ccorr.h | 19 +
> > drivers/media/platform/mtk-mdp3/mdp_reg_isp.h | 27 +
> > .../media/platform/mtk-mdp3/mdp_reg_rdma.h | 65 +
> > drivers/media/platform/mtk-mdp3/mdp_reg_rsz.h | 39 +
> > .../media/platform/mtk-mdp3/mdp_reg_wdma.h | 47 +
> > .../media/platform/mtk-mdp3/mdp_reg_wrot.h | 55 +
> > drivers/media/platform/mtk-mdp3/mtk-img-ipi.h | 280 ++++
> > .../media/platform/mtk-mdp3/mtk-mdp3-cmdq.c | 505 +++++++
> > .../media/platform/mtk-mdp3/mtk-mdp3-cmdq.h | 46 +
> > .../media/platform/mtk-mdp3/mtk-mdp3-comp.c | 1264 +++++++++++++++++
> > .../media/platform/mtk-mdp3/mtk-mdp3-comp.h | 147 ++
> > .../media/platform/mtk-mdp3/mtk-mdp3-core.c | 338 +++++
> > .../media/platform/mtk-mdp3/mtk-mdp3-core.h | 76 +
> > .../media/platform/mtk-mdp3/mtk-mdp3-m2m.c | 789 ++++++++++
> > .../media/platform/mtk-mdp3/mtk-mdp3-m2m.h | 49 +
> > .../media/platform/mtk-mdp3/mtk-mdp3-regs.c | 737 ++++++++++
> > .../media/platform/mtk-mdp3/mtk-mdp3-regs.h | 372 +++++
> > .../media/platform/mtk-mdp3/mtk-mdp3-vpu.c | 312 ++++
> > .../media/platform/mtk-mdp3/mtk-mdp3-vpu.h | 78 +
> > 22 files changed, 5272 insertions(+)
> > create mode 100644 drivers/media/platform/mtk-mdp3/Makefile
> > create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_ccorr.h
> > create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_isp.h
> > create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_rdma.h
> > create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_rsz.h
> > create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_wdma.h
> > create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_wrot.h
> > create mode 100644 drivers/media/platform/mtk-mdp3/mtk-img-ipi.h
> > create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.c
> > create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.h
> > create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-comp.c
> > create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-comp.h
> > create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-core.c
> > create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-core.h
> > create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-m2m.c
> > create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-m2m.h
> > create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-regs.c
> > create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-regs.h
> > create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-vpu.c
> > create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-vpu.h
> >
> > diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
> > index cf4adc64c953..e6c1e8892154 100644
> > --- a/drivers/media/platform/Kconfig
> > +++ b/drivers/media/platform/Kconfig
> > @@ -315,6 +315,25 @@ config VIDEO_MEDIATEK_MDP
> > To compile this driver as a module, choose M here: the
> > module will be called mtk-mdp.
> >
> > +config VIDEO_MEDIATEK_MDP3
> > + tristate "Mediatek MDP v3 driver"
> > + depends on MTK_IOMMU || COMPLIE_TEST
>
> Typo: COMPLIE_TEST -> COMPILE_TEST
>
> After fixing this, trying to build this driver on my PC results in:
>
> ERROR: modpost: "mtk_mmsys_mdp_connect" [drivers/media/platform/mtk-mdp3/mtk-mdp3.ko] undefined!
> ERROR: modpost: "mtk_mmsys_mdp_camin_ctrl" [drivers/media/platform/mtk-mdp3/mtk-mdp3.ko] undefined!
> ERROR: modpost: "mtk_mmsys_mdp_isp_ctrl" [drivers/media/platform/mtk-mdp3/mtk-mdp3.ko] undefined!
> ERROR: modpost: "mtk_mutex_prepare" [drivers/media/platform/mtk-mdp3/mtk-mdp3.ko] undefined!
> ERROR: modpost: "mtk_mmsys_mdp_disconnect" [drivers/media/platform/mtk-mdp3/mtk-mdp3.ko] undefined!
> ERROR: modpost: "mtk_mutex_unprepare" [drivers/media/platform/mtk-mdp3/mtk-mdp3.ko] undefined!
> ERROR: modpost: "mtk_mutex_get_mdp_mod" [drivers/media/platform/mtk-mdp3/mtk-mdp3.ko] undefined!
> ERROR: modpost: "mtk_mutex_put" [drivers/media/platform/mtk-mdp3/mtk-mdp3.ko] undefined!
> ERROR: modpost: "mtk_mutex_mdp_get" [drivers/media/platform/mtk-mdp3/mtk-mdp3.ko] undefined!
> ERROR: modpost: "mtk_mutex_add_mod_by_cmdq" [drivers/media/platform/mtk-mdp3/mtk-mdp3.ko] undefined!
> WARNING: modpost: suppressed 1 unresolved symbol warnings because there were too many)
>
> include/linux/soc/mediatek/mtk-mmsys.h should probably provide dummy functions
> if CONFIG_MTK_MMSYS is undefined. Ditto for include/linux/soc/mediatek/mtk-mutex.h.
Or add a hard dependency on MTK_MMSYS?
The latter can be enabled when compile-testing.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Powered by blists - more mailing lists