Message ID | 20211013144308.2248978-1-arnd@kernel.org |
---|---|
State | New |
Headers | show |
Series | drm: msm: fix building without CONFIG_COMMON_CLK | expand |
On 13/10/2021 17:42, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > When CONFIG_COMMON_CLOCK is disabled, the 8996 specific > phy code is left out, which results in a link failure: > > ld: drivers/gpu/drm/msm/hdmi/hdmi_phy.o:(.rodata+0x3f0): undefined reference to `msm_hdmi_phy_8996_cfg' > > This was only exposed after it became possible to build > test the driver without the clock interfaces. > > Make COMMON_CLK a hard dependency for compile testing, > and simplify it a little based on that. > > Fixes: b3ed524f84f5 ("drm/msm: allow compile_test on !ARM") > Reported-by: Randy Dunlap <rdunlap@infradead.org> > Suggested-by: Geert Uytterhoeven <geert@linux-m68k.org> > Signed-off-by: Arnd Bergmann <arnd@arndb.de> This drops dependency on CONFIG_OF. While ARM64 selects OF, pure ARM does not. With that fixed: Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > --- > drivers/gpu/drm/msm/Kconfig | 2 +- > drivers/gpu/drm/msm/Makefile | 6 +++--- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig > index f5107b6ded7b..cb204912e0f4 100644 > --- a/drivers/gpu/drm/msm/Kconfig > +++ b/drivers/gpu/drm/msm/Kconfig > @@ -4,8 +4,8 @@ config DRM_MSM > tristate "MSM DRM" > depends on DRM > depends on ARCH_QCOM || SOC_IMX5 || COMPILE_TEST > + depends on COMMON_CLK > depends on IOMMU_SUPPORT > - depends on (OF && COMMON_CLK) || COMPILE_TEST > depends on QCOM_OCMEM || QCOM_OCMEM=n > depends on QCOM_LLCC || QCOM_LLCC=n > depends on QCOM_COMMAND_DB || QCOM_COMMAND_DB=n > diff --git a/drivers/gpu/drm/msm/Makefile b/drivers/gpu/drm/msm/Makefile > index 904535eda0c4..bbee22b54b0c 100644 > --- a/drivers/gpu/drm/msm/Makefile > +++ b/drivers/gpu/drm/msm/Makefile > @@ -23,8 +23,10 @@ msm-y := \ > hdmi/hdmi_i2c.o \ > hdmi/hdmi_phy.o \ > hdmi/hdmi_phy_8960.o \ > + hdmi/hdmi_phy_8996.o \ > hdmi/hdmi_phy_8x60.o \ > hdmi/hdmi_phy_8x74.o \ > + hdmi/hdmi_pll_8960.o \ > edp/edp.o \ > edp/edp_aux.o \ > edp/edp_bridge.o \ > @@ -37,6 +39,7 @@ msm-y := \ > disp/mdp4/mdp4_dtv_encoder.o \ > disp/mdp4/mdp4_lcdc_encoder.o \ > disp/mdp4/mdp4_lvds_connector.o \ > + disp/mdp4/mdp4_lvds_pll.o \ > disp/mdp4/mdp4_irq.o \ > disp/mdp4/mdp4_kms.o \ > disp/mdp4/mdp4_plane.o \ > @@ -117,9 +120,6 @@ msm-$(CONFIG_DRM_MSM_DP)+= dp/dp_aux.o \ > dp/dp_audio.o > > msm-$(CONFIG_DRM_FBDEV_EMULATION) += msm_fbdev.o > -msm-$(CONFIG_COMMON_CLK) += disp/mdp4/mdp4_lvds_pll.o > -msm-$(CONFIG_COMMON_CLK) += hdmi/hdmi_pll_8960.o > -msm-$(CONFIG_COMMON_CLK) += hdmi/hdmi_phy_8996.o > > msm-$(CONFIG_DRM_MSM_HDMI_HDCP) += hdmi/hdmi_hdcp.o > > -- With best wishes Dmitry
Hi Dmitry, On Fri, Oct 15, 2021 at 2:26 AM Dmitry Baryshkov <dmitry.baryshkov@linaro.org> wrote: > On 13/10/2021 17:42, Arnd Bergmann wrote: > > From: Arnd Bergmann <arnd@arndb.de> > > > > When CONFIG_COMMON_CLOCK is disabled, the 8996 specific > > phy code is left out, which results in a link failure: > > > > ld: drivers/gpu/drm/msm/hdmi/hdmi_phy.o:(.rodata+0x3f0): undefined reference to `msm_hdmi_phy_8996_cfg' > > > > This was only exposed after it became possible to build > > test the driver without the clock interfaces. > > > > Make COMMON_CLK a hard dependency for compile testing, > > and simplify it a little based on that. > > > > Fixes: b3ed524f84f5 ("drm/msm: allow compile_test on !ARM") > > Reported-by: Randy Dunlap <rdunlap@infradead.org> > > Suggested-by: Geert Uytterhoeven <geert@linux-m68k.org> > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > > This drops dependency on CONFIG_OF. While ARM64 selects OF, pure ARM > does not. But SOC_IMX5 depends on ARCH_MULTI_V7, which depends on ARCH_MULTIPLATFORM, which selects USE_OF, which selects OF. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-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
Am 13.10.21 um 16:42 schrieb Arnd Bergmann: > From: Arnd Bergmann <arnd@arndb.de> > > When CONFIG_COMMON_CLOCK is disabled, the 8996 specific > phy code is left out, which results in a link failure: > > ld: drivers/gpu/drm/msm/hdmi/hdmi_phy.o:(.rodata+0x3f0): undefined reference to `msm_hdmi_phy_8996_cfg' > > This was only exposed after it became possible to build > test the driver without the clock interfaces. > > Make COMMON_CLK a hard dependency for compile testing, > and simplify it a little based on that. > > Fixes: b3ed524f84f5 ("drm/msm: allow compile_test on !ARM") > Reported-by: Randy Dunlap <rdunlap@infradead.org> > Suggested-by: Geert Uytterhoeven <geert@linux-m68k.org> > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/gpu/drm/msm/Kconfig | 2 +- > drivers/gpu/drm/msm/Makefile | 6 +++--- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig > index f5107b6ded7b..cb204912e0f4 100644 > --- a/drivers/gpu/drm/msm/Kconfig > +++ b/drivers/gpu/drm/msm/Kconfig > @@ -4,8 +4,8 @@ config DRM_MSM > tristate "MSM DRM" > depends on DRM > depends on ARCH_QCOM || SOC_IMX5 || COMPILE_TEST > + depends on COMMON_CLK > depends on IOMMU_SUPPORT We also need a "depends on MMU" here because some automated test is now trying to compile the driver on parisc as well. I have absolutely no idea how a platform can have IOMMU but no MMU support but it indeed seems to be the case here. Regards, Christian. > - depends on (OF && COMMON_CLK) || COMPILE_TEST > depends on QCOM_OCMEM || QCOM_OCMEM=n > depends on QCOM_LLCC || QCOM_LLCC=n > depends on QCOM_COMMAND_DB || QCOM_COMMAND_DB=n > diff --git a/drivers/gpu/drm/msm/Makefile b/drivers/gpu/drm/msm/Makefile > index 904535eda0c4..bbee22b54b0c 100644 > --- a/drivers/gpu/drm/msm/Makefile > +++ b/drivers/gpu/drm/msm/Makefile > @@ -23,8 +23,10 @@ msm-y := \ > hdmi/hdmi_i2c.o \ > hdmi/hdmi_phy.o \ > hdmi/hdmi_phy_8960.o \ > + hdmi/hdmi_phy_8996.o \ > hdmi/hdmi_phy_8x60.o \ > hdmi/hdmi_phy_8x74.o \ > + hdmi/hdmi_pll_8960.o \ > edp/edp.o \ > edp/edp_aux.o \ > edp/edp_bridge.o \ > @@ -37,6 +39,7 @@ msm-y := \ > disp/mdp4/mdp4_dtv_encoder.o \ > disp/mdp4/mdp4_lcdc_encoder.o \ > disp/mdp4/mdp4_lvds_connector.o \ > + disp/mdp4/mdp4_lvds_pll.o \ > disp/mdp4/mdp4_irq.o \ > disp/mdp4/mdp4_kms.o \ > disp/mdp4/mdp4_plane.o \ > @@ -117,9 +120,6 @@ msm-$(CONFIG_DRM_MSM_DP)+= dp/dp_aux.o \ > dp/dp_audio.o > > msm-$(CONFIG_DRM_FBDEV_EMULATION) += msm_fbdev.o > -msm-$(CONFIG_COMMON_CLK) += disp/mdp4/mdp4_lvds_pll.o > -msm-$(CONFIG_COMMON_CLK) += hdmi/hdmi_pll_8960.o > -msm-$(CONFIG_COMMON_CLK) += hdmi/hdmi_phy_8996.o > > msm-$(CONFIG_DRM_MSM_HDMI_HDCP) += hdmi/hdmi_hdcp.o >
Hi Christian, On Mon, Oct 18, 2021 at 1:37 PM Christian König <christian.koenig@amd.com> wrote: > Am 13.10.21 um 16:42 schrieb Arnd Bergmann: > > From: Arnd Bergmann <arnd@arndb.de> > > > > When CONFIG_COMMON_CLOCK is disabled, the 8996 specific > > phy code is left out, which results in a link failure: > > > > ld: drivers/gpu/drm/msm/hdmi/hdmi_phy.o:(.rodata+0x3f0): undefined reference to `msm_hdmi_phy_8996_cfg' > > > > This was only exposed after it became possible to build > > test the driver without the clock interfaces. > > > > Make COMMON_CLK a hard dependency for compile testing, > > and simplify it a little based on that. > > > > Fixes: b3ed524f84f5 ("drm/msm: allow compile_test on !ARM") > > Reported-by: Randy Dunlap <rdunlap@infradead.org> > > Suggested-by: Geert Uytterhoeven <geert@linux-m68k.org> > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > > --- > > drivers/gpu/drm/msm/Kconfig | 2 +- > > drivers/gpu/drm/msm/Makefile | 6 +++--- > > 2 files changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig > > index f5107b6ded7b..cb204912e0f4 100644 > > --- a/drivers/gpu/drm/msm/Kconfig > > +++ b/drivers/gpu/drm/msm/Kconfig > > @@ -4,8 +4,8 @@ config DRM_MSM > > tristate "MSM DRM" > > depends on DRM > > depends on ARCH_QCOM || SOC_IMX5 || COMPILE_TEST > > + depends on COMMON_CLK > > depends on IOMMU_SUPPORT > > We also need a "depends on MMU" here because some automated test is now > trying to compile the driver on parisc as well. > > I have absolutely no idea how a platform can have IOMMU but no MMU > support but it indeed seems to be the case here. Huh? Parisc has config MMU def_bool y? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-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
Am 18.10.21 um 13:38 schrieb Geert Uytterhoeven: > Hi Christian, > > On Mon, Oct 18, 2021 at 1:37 PM Christian König > <christian.koenig@amd.com> wrote: >> Am 13.10.21 um 16:42 schrieb Arnd Bergmann: >>> From: Arnd Bergmann <arnd@arndb.de> >>> >>> When CONFIG_COMMON_CLOCK is disabled, the 8996 specific >>> phy code is left out, which results in a link failure: >>> >>> ld: drivers/gpu/drm/msm/hdmi/hdmi_phy.o:(.rodata+0x3f0): undefined reference to `msm_hdmi_phy_8996_cfg' >>> >>> This was only exposed after it became possible to build >>> test the driver without the clock interfaces. >>> >>> Make COMMON_CLK a hard dependency for compile testing, >>> and simplify it a little based on that. >>> >>> Fixes: b3ed524f84f5 ("drm/msm: allow compile_test on !ARM") >>> Reported-by: Randy Dunlap <rdunlap@infradead.org> >>> Suggested-by: Geert Uytterhoeven <geert@linux-m68k.org> >>> Signed-off-by: Arnd Bergmann <arnd@arndb.de> >>> --- >>> drivers/gpu/drm/msm/Kconfig | 2 +- >>> drivers/gpu/drm/msm/Makefile | 6 +++--- >>> 2 files changed, 4 insertions(+), 4 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig >>> index f5107b6ded7b..cb204912e0f4 100644 >>> --- a/drivers/gpu/drm/msm/Kconfig >>> +++ b/drivers/gpu/drm/msm/Kconfig >>> @@ -4,8 +4,8 @@ config DRM_MSM >>> tristate "MSM DRM" >>> depends on DRM >>> depends on ARCH_QCOM || SOC_IMX5 || COMPILE_TEST >>> + depends on COMMON_CLK >>> depends on IOMMU_SUPPORT >> We also need a "depends on MMU" here because some automated test is now >> trying to compile the driver on parisc as well. >> >> I have absolutely no idea how a platform can have IOMMU but no MMU >> support but it indeed seems to be the case here. > Huh? > > Parisc has config MMU def_bool y? Then why vmap isn't available? See the mail thread: [linux-next:master 3576/7806] drivers/gpu/drm/msm/msm_gem.c:624:20: error: implicit declaration of function 'vmap' Thanks for taking a look into this, Christian. > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-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
On Mon, Oct 18, 2021 at 1:40 PM Christian König <christian.koenig@amd.com> wrote: > >> I have absolutely no idea how a platform can have IOMMU but no MMU > >> support but it indeed seems to be the case here. > > Huh? > > > > Parisc has config MMU def_bool y? > > Then why vmap isn't available? > > See the mail thread: [linux-next:master 3576/7806] > drivers/gpu/drm/msm/msm_gem.c:624:20: error: implicit declaration of > function 'vmap' This is just a missing "#include <linux/vmalloc.h>". It must be included indirectly on some architectures but not other. Arnd
Am 18.10.21 um 13:46 schrieb Arnd Bergmann: > On Mon, Oct 18, 2021 at 1:40 PM Christian König > <christian.koenig@amd.com> wrote: >>>> I have absolutely no idea how a platform can have IOMMU but no MMU >>>> support but it indeed seems to be the case here. >>> Huh? >>> >>> Parisc has config MMU def_bool y? >> Then why vmap isn't available? >> >> See the mail thread: [linux-next:master 3576/7806] >> drivers/gpu/drm/msm/msm_gem.c:624:20: error: implicit declaration of >> function 'vmap' > This is just a missing "#include <linux/vmalloc.h>". It must be > included indirectly > on some architectures but not other. Ah! Should I send a patch or you take care of that as well? Thanks, Christian. > > Arnd
Hi Christian, On Mon, Oct 18, 2021 at 1:41 PM Christian König <christian.koenig@amd.com> wrote: > Am 18.10.21 um 13:38 schrieb Geert Uytterhoeven: > > On Mon, Oct 18, 2021 at 1:37 PM Christian König > > <christian.koenig@amd.com> wrote: > >> Am 13.10.21 um 16:42 schrieb Arnd Bergmann: > >>> From: Arnd Bergmann <arnd@arndb.de> > >>> > >>> When CONFIG_COMMON_CLOCK is disabled, the 8996 specific > >>> phy code is left out, which results in a link failure: > >>> > >>> ld: drivers/gpu/drm/msm/hdmi/hdmi_phy.o:(.rodata+0x3f0): undefined reference to `msm_hdmi_phy_8996_cfg' > >>> > >>> This was only exposed after it became possible to build > >>> test the driver without the clock interfaces. > >>> > >>> Make COMMON_CLK a hard dependency for compile testing, > >>> and simplify it a little based on that. > >>> > >>> Fixes: b3ed524f84f5 ("drm/msm: allow compile_test on !ARM") > >>> Reported-by: Randy Dunlap <rdunlap@infradead.org> > >>> Suggested-by: Geert Uytterhoeven <geert@linux-m68k.org> > >>> Signed-off-by: Arnd Bergmann <arnd@arndb.de> > >>> --- > >>> drivers/gpu/drm/msm/Kconfig | 2 +- > >>> drivers/gpu/drm/msm/Makefile | 6 +++--- > >>> 2 files changed, 4 insertions(+), 4 deletions(-) > >>> > >>> diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig > >>> index f5107b6ded7b..cb204912e0f4 100644 > >>> --- a/drivers/gpu/drm/msm/Kconfig > >>> +++ b/drivers/gpu/drm/msm/Kconfig > >>> @@ -4,8 +4,8 @@ config DRM_MSM > >>> tristate "MSM DRM" > >>> depends on DRM > >>> depends on ARCH_QCOM || SOC_IMX5 || COMPILE_TEST > >>> + depends on COMMON_CLK > >>> depends on IOMMU_SUPPORT > >> We also need a "depends on MMU" here because some automated test is now > >> trying to compile the driver on parisc as well. > >> > >> I have absolutely no idea how a platform can have IOMMU but no MMU > >> support but it indeed seems to be the case here. > > Huh? > > > > Parisc has config MMU def_bool y? > > Then why vmap isn't available? > > See the mail thread: [linux-next:master 3576/7806] > drivers/gpu/drm/msm/msm_gem.c:624:20: error: implicit declaration of > function 'vmap' You mean https://lore.kernel.org/all/202110141259.i36iJnsA-lkp@intel.com/? Hexagon != parisc. . And Hexagon also has config MMU def_bool y Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-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
diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig index f5107b6ded7b..cb204912e0f4 100644 --- a/drivers/gpu/drm/msm/Kconfig +++ b/drivers/gpu/drm/msm/Kconfig @@ -4,8 +4,8 @@ config DRM_MSM tristate "MSM DRM" depends on DRM depends on ARCH_QCOM || SOC_IMX5 || COMPILE_TEST + depends on COMMON_CLK depends on IOMMU_SUPPORT - depends on (OF && COMMON_CLK) || COMPILE_TEST depends on QCOM_OCMEM || QCOM_OCMEM=n depends on QCOM_LLCC || QCOM_LLCC=n depends on QCOM_COMMAND_DB || QCOM_COMMAND_DB=n diff --git a/drivers/gpu/drm/msm/Makefile b/drivers/gpu/drm/msm/Makefile index 904535eda0c4..bbee22b54b0c 100644 --- a/drivers/gpu/drm/msm/Makefile +++ b/drivers/gpu/drm/msm/Makefile @@ -23,8 +23,10 @@ msm-y := \ hdmi/hdmi_i2c.o \ hdmi/hdmi_phy.o \ hdmi/hdmi_phy_8960.o \ + hdmi/hdmi_phy_8996.o \ hdmi/hdmi_phy_8x60.o \ hdmi/hdmi_phy_8x74.o \ + hdmi/hdmi_pll_8960.o \ edp/edp.o \ edp/edp_aux.o \ edp/edp_bridge.o \ @@ -37,6 +39,7 @@ msm-y := \ disp/mdp4/mdp4_dtv_encoder.o \ disp/mdp4/mdp4_lcdc_encoder.o \ disp/mdp4/mdp4_lvds_connector.o \ + disp/mdp4/mdp4_lvds_pll.o \ disp/mdp4/mdp4_irq.o \ disp/mdp4/mdp4_kms.o \ disp/mdp4/mdp4_plane.o \ @@ -117,9 +120,6 @@ msm-$(CONFIG_DRM_MSM_DP)+= dp/dp_aux.o \ dp/dp_audio.o msm-$(CONFIG_DRM_FBDEV_EMULATION) += msm_fbdev.o -msm-$(CONFIG_COMMON_CLK) += disp/mdp4/mdp4_lvds_pll.o -msm-$(CONFIG_COMMON_CLK) += hdmi/hdmi_pll_8960.o -msm-$(CONFIG_COMMON_CLK) += hdmi/hdmi_phy_8996.o msm-$(CONFIG_DRM_MSM_HDMI_HDCP) += hdmi/hdmi_hdcp.o