RE: [EXT] Re: [v1] gpu: ipu-v3: allow to build with ARCH_LAYERSCAPE

From: Wen He
Date: Mon Jul 08 2019 - 23:12:12 EST




> -----Original Message-----
> From: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
> Sent: 2019å7æ5æ 18:32
> To: Wen He <wen.he_1@xxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx;
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> Cc: Leo Li <leoyang.li@xxxxxxx>
> Subject: [EXT] Re: [v1] gpu: ipu-v3: allow to build with ARCH_LAYERSCAPE
>
> Caution: EXT Email
>
> Hi Wen,
>
> On Wed, 2019-05-08 at 10:56 +0000, Wen He wrote:
> > The new LS1028A DP driver code causes a link failure when DRM_IMX
> > built-in, but platform is ARCH_LAYERSCAPE:
> >
> > drivers/gpu/drm/imx/ipuv3-crtc.c:51: undefined reference to
> `ipu_prg_enable'
> > drivers/gpu/drm/imx/ipuv3-crtc.c:52: undefined reference to
> `ipu_dc_enable'
> > drivers/gpu/drm/imx/ipuv3-crtc.c:53: undefined reference to
> `ipu_dc_enable_channel'
> > drivers/gpu/drm/imx/ipuv3-crtc.c:54: undefined reference to `ipu_di_enable'
> > drivers/gpu/drm/imx/ipuv3-crtc.o: In function `ipu_crtc_mode_set_nofb
> >
> > Adding a Kconfig dependency allow to build if ARCH_LAYERSCAPE is enable.
> >
> > Signed-off-by: Wen He <wen.he_1@xxxxxxx>
> > ---
> > drivers/gpu/ipu-v3/Kconfig | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/ipu-v3/Kconfig b/drivers/gpu/ipu-v3/Kconfig
> > index fe6f8c5b4445..51ea88c440df 100644
> > --- a/drivers/gpu/ipu-v3/Kconfig
> > +++ b/drivers/gpu/ipu-v3/Kconfig
> > @@ -1,6 +1,6 @@
> > config IMX_IPUV3_CORE
> > tristate "IPUv3 core support"
> > - depends on SOC_IMX5 || SOC_IMX6Q || ARCH_MULTIPLATFORM ||
> COMPILE_TEST
> > + depends on SOC_IMX5 || SOC_IMX6Q || ARCH_MULTIPLATFORM ||
> > + COMPILE_TEST || ARCH_LAYERSCAPE
> > depends on DRM || !DRM # if DRM=m, this can't be 'y'
> > select BITREVERSE
> > select GENERIC_ALLOCATOR if DRM
> > --
> > 2.17.1
>
> Thank you for the patch, but this does not seem right.
> ipuv3-crtc.c is part of DRM_IMX, which already depends on IMX_IPUV3_CORE.
> How did you manage to make it try to compile imxdrm?
>

Thanks for the review, Philipp,

NXP LS1028A platform use same Display IP with IMX8, so they have use same display
transmit controller drivers, config 'DRM_IMX' is used to support drm common drivers
on the NXP I.MX and LS1028A, display transmit controller is coming to plan upstream.

Actually, we have done compile of the imxdrm on LS1028A BSP release.

> Since LS1028A does not have the IPUv3, keeping this under COMPILE_TEST
> should be correct.

Although LS1028A does not have the IPVv3, but DRM_IMX depends on it, LS1028A display
Transmit controller drivers also depends on DRM_IMX, so we need add this dependency to
solve the compile issue.

Best Regards,
Wen

>
> regards
> Philipp