From: Arnd Bergmann <[email protected]>
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 <[email protected]>
Suggested-by: Geert Uytterhoeven <[email protected]>
Signed-off-by: Arnd Bergmann <[email protected]>
---
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
--
2.29.2
On 13/10/2021 17:42, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> 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 <[email protected]>
> Suggested-by: Geert Uytterhoeven <[email protected]>
> Signed-off-by: Arnd Bergmann <[email protected]>
This drops dependency on CONFIG_OF. While ARM64 selects OF, pure ARM
does not.
With that fixed:
Reviewed-by: Dmitry Baryshkov <[email protected]>
> ---
> 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
<[email protected]> wrote:
> On 13/10/2021 17:42, Arnd Bergmann wrote:
> > From: Arnd Bergmann <[email protected]>
> >
> > 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 <[email protected]>
> > Suggested-by: Geert Uytterhoeven <[email protected]>
> > Signed-off-by: Arnd Bergmann <[email protected]>
>
> 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 -- [email protected]
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
Hi Christian,
On Mon, Oct 18, 2021 at 1:37 PM Christian König
<[email protected]> wrote:
> Am 13.10.21 um 16:42 schrieb Arnd Bergmann:
> > From: Arnd Bergmann <[email protected]>
> >
> > 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 <[email protected]>
> > Suggested-by: Geert Uytterhoeven <[email protected]>
> > Signed-off-by: Arnd Bergmann <[email protected]>
> > ---
> > 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 -- [email protected]
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 <[email protected]>
>
> 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 <[email protected]>
> Suggested-by: Geert Uytterhoeven <[email protected]>
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> 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
>
Am 18.10.21 um 13:38 schrieb Geert Uytterhoeven:
> Hi Christian,
>
> On Mon, Oct 18, 2021 at 1:37 PM Christian König
> <[email protected]> wrote:
>> Am 13.10.21 um 16:42 schrieb Arnd Bergmann:
>>> From: Arnd Bergmann <[email protected]>
>>>
>>> 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 <[email protected]>
>>> Suggested-by: Geert Uytterhoeven <[email protected]>
>>> Signed-off-by: Arnd Bergmann <[email protected]>
>>> ---
>>> 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 -- [email protected]
>
> 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
<[email protected]> 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
> <[email protected]> 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
<[email protected]> wrote:
> Am 18.10.21 um 13:38 schrieb Geert Uytterhoeven:
> > On Mon, Oct 18, 2021 at 1:37 PM Christian König
> > <[email protected]> wrote:
> >> Am 13.10.21 um 16:42 schrieb Arnd Bergmann:
> >>> From: Arnd Bergmann <[email protected]>
> >>>
> >>> 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 <[email protected]>
> >>> Suggested-by: Geert Uytterhoeven <[email protected]>
> >>> Signed-off-by: Arnd Bergmann <[email protected]>
> >>> ---
> >>> 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/[email protected]/?
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 -- [email protected]
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