Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1556483 > unrolled thread

[PATCH 1/2] drm: fix drm_vm for NOMMU builds

Started byArnd Bergmann <arnd@arndb.de>
First post2017-01-11 14:40 +0100
Last post2017-01-11 18:20 +0100
Articles 9 — 4 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 1/2] drm: fix drm_vm for NOMMU builds Arnd Bergmann <arnd@arndb.de> - 2017-01-11 14:40 +0100
    [PATCH 2/2] drm: add more MMU dependencies Arnd Bergmann <arnd@arndb.de> - 2017-01-11 14:40 +0100
      Re: [PATCH 2/2] drm: add more MMU dependencies Lucas Stach <l.stach@pengutronix.de> - 2017-01-11 15:10 +0100
        Re: [PATCH 2/2] drm: add more MMU dependencies Daniel Vetter <daniel@ffwll.ch> - 2017-01-11 17:30 +0100
    Re: [PATCH 1/2] drm: fix drm_vm for NOMMU builds Daniel Vetter <daniel@ffwll.ch> - 2017-01-11 17:30 +0100
      Re: [PATCH 1/2] drm: fix drm_vm for NOMMU builds Arnd Bergmann <arnd@arndb.de> - 2017-01-11 17:40 +0100
        Re: [PATCH 1/2] drm: fix drm_vm for NOMMU builds Daniel Vetter <daniel@ffwll.ch> - 2017-01-11 17:40 +0100
          Re: [PATCH 1/2] drm: fix drm_vm for NOMMU builds Arnd Bergmann <arnd@arndb.de> - 2017-01-11 18:10 +0100
            Re: [PATCH 1/2] drm: fix drm_vm for NOMMU builds Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-01-11 18:20 +0100

#1556483 — [PATCH 1/2] drm: fix drm_vm for NOMMU builds

FromArnd Bergmann <arnd@arndb.de>
Date2017-01-11 14:40 +0100
Subject[PATCH 1/2] drm: fix drm_vm for NOMMU builds
Message-ID<sYria-7uK-5@gated-at.bofh.it>
When building DRM without an MMU, we run into a compile-time error because
pte_wrprotect() is not defined:

drivers/gpu/drm/drm_vm.c: In function 'drm_mmap_dma':
drivers/gpu/drm/drm_vm.c:496:9: error: implicit declaration of function 'pte_wrprotect' [-Werror=implicit-function-declaration]

The line is not meaningful here, so we can simply add another
compile-time check around it.

Fixes: 62a0d98a188c ("drm: allow to use mmuless SoC")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/gpu/drm/drm_vm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/drm_vm.c b/drivers/gpu/drm/drm_vm.c
index bd311c77c254..038946588ed7 100644
--- a/drivers/gpu/drm/drm_vm.c
+++ b/drivers/gpu/drm/drm_vm.c
@@ -488,7 +488,7 @@ static int drm_mmap_dma(struct file *filp, struct vm_area_struct *vma)
 		vma->vm_flags &= ~(VM_WRITE | VM_MAYWRITE);
 #if defined(__i386__) || defined(__x86_64__)
 		pgprot_val(vma->vm_page_prot) &= ~_PAGE_RW;
-#else
+#elif IS_ENABLED(CONFIG_MMU)
 		/* Ye gads this is ugly.  With more thought
 		   we could move this up higher and use
 		   `protection_map' instead.  */
@@ -572,7 +572,7 @@ static int drm_mmap_locked(struct file *filp, struct vm_area_struct *vma)
 		vma->vm_flags &= ~(VM_WRITE | VM_MAYWRITE);
 #if defined(__i386__) || defined(__x86_64__)
 		pgprot_val(vma->vm_page_prot) &= ~_PAGE_RW;
-#else
+#elif defined (CONFIG_MMU)
 		/* Ye gads this is ugly.  With more thought
 		   we could move this up higher and use
 		   `protection_map' instead.  */
-- 
2.9.0

[toc] | [next] | [standalone]


#1556488 — [PATCH 2/2] drm: add more MMU dependencies

FromArnd Bergmann <arnd@arndb.de>
Date2017-01-11 14:40 +0100
Subject[PATCH 2/2] drm: add more MMU dependencies
Message-ID<sYria-7uK-21@gated-at.bofh.it>
In reply to#1556483
Many DRM drivers only work with an MMU, and after the patch to enable
core DRM support without MMU, we already had one fixup for many of them.
The etnaviv, armada and msm drivers were missed and have the same problem:

warning: (DRM_ETNAVIV) selects IOMMU_SUPPORT which has unmet direct dependencies (MMU)
warning: (DRM_I915 && DRM_MSM && DRM_ETNAVIV) selects SHMEM which has unmet direct dependencies (MMU)
drivers/gpu/drm/armada/armada_gem.o: In function `armada_gem_vm_fault':
armada_gem.c:(.text.armada_gem_vm_fault+0x14): undefined reference to `vm_insert_pfn'
arch/arm/mm/dma-mapping.c: In function '__iommu_alloc_remap':
arch/arm/mm/dma-mapping.c:1390:4: error: 'VM_ARM_DMA_CONSISTENT' undeclared (first use in this function)
arch/arm/mm/dma-mapping.c:1456:31: error: 'atomic_pool' undeclared (first use in this function); did you mean 'atomic_xor'?

Fixes: 011cda589938 ("drm: fix compilations issues introduced by "drm: allow to use mmuless SoC"")
Fixes: 62a0d98a188c ("drm: allow to use mmuless SoC")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/gpu/drm/armada/Kconfig  | 2 +-
 drivers/gpu/drm/etnaviv/Kconfig | 1 +
 drivers/gpu/drm/msm/Kconfig     | 1 +
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/armada/Kconfig b/drivers/gpu/drm/armada/Kconfig
index 15f3ecfb16f1..eafaeeb7b5b1 100644
--- a/drivers/gpu/drm/armada/Kconfig
+++ b/drivers/gpu/drm/armada/Kconfig
@@ -1,6 +1,6 @@
 config DRM_ARMADA
 	tristate "DRM support for Marvell Armada SoCs"
-	depends on DRM && HAVE_CLK && ARM
+	depends on DRM && HAVE_CLK && ARM && MMU
 	select DRM_KMS_HELPER
 	help
 	  Support the "LCD" controllers found on the Marvell Armada 510
diff --git a/drivers/gpu/drm/etnaviv/Kconfig b/drivers/gpu/drm/etnaviv/Kconfig
index 2cde7a5442fb..656c061b439d 100644
--- a/drivers/gpu/drm/etnaviv/Kconfig
+++ b/drivers/gpu/drm/etnaviv/Kconfig
@@ -3,6 +3,7 @@ config DRM_ETNAVIV
 	tristate "ETNAVIV (DRM support for Vivante GPU IP cores)"
 	depends on DRM
 	depends on ARCH_MXC || ARCH_DOVE
+	depends on MMU
 	select SHMEM
 	select TMPFS
 	select IOMMU_API
diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig
index d96b2b6898a3..7f78da695dff 100644
--- a/drivers/gpu/drm/msm/Kconfig
+++ b/drivers/gpu/drm/msm/Kconfig
@@ -4,6 +4,7 @@ config DRM_MSM
 	depends on DRM
 	depends on ARCH_QCOM || (ARM && COMPILE_TEST)
 	depends on OF && COMMON_CLK
+	depends on MMU
 	select REGULATOR
 	select DRM_KMS_HELPER
 	select DRM_PANEL
-- 
2.9.0

[toc] | [prev] | [next] | [standalone]


#1556508 — Re: [PATCH 2/2] drm: add more MMU dependencies

FromLucas Stach <l.stach@pengutronix.de>
Date2017-01-11 15:10 +0100
SubjectRe: [PATCH 2/2] drm: add more MMU dependencies
Message-ID<sYrLb-7Tv-3@gated-at.bofh.it>
In reply to#1556488
Am Mittwoch, den 11.01.2017, 14:33 +0100 schrieb Arnd Bergmann:
> Many DRM drivers only work with an MMU, and after the patch to enable
> core DRM support without MMU, we already had one fixup for many of them.
> The etnaviv, armada and msm drivers were missed and have the same problem:
> 
> warning: (DRM_ETNAVIV) selects IOMMU_SUPPORT which has unmet direct dependencies (MMU)
> warning: (DRM_I915 && DRM_MSM && DRM_ETNAVIV) selects SHMEM which has unmet direct dependencies (MMU)
> drivers/gpu/drm/armada/armada_gem.o: In function `armada_gem_vm_fault':
> armada_gem.c:(.text.armada_gem_vm_fault+0x14): undefined reference to `vm_insert_pfn'
> arch/arm/mm/dma-mapping.c: In function '__iommu_alloc_remap':
> arch/arm/mm/dma-mapping.c:1390:4: error: 'VM_ARM_DMA_CONSISTENT' undeclared (first use in this function)
> arch/arm/mm/dma-mapping.c:1456:31: error: 'atomic_pool' undeclared (first use in this function); did you mean 'atomic_xor'?
> 
> Fixes: 011cda589938 ("drm: fix compilations issues introduced by "drm: allow to use mmuless SoC"")
> Fixes: 62a0d98a188c ("drm: allow to use mmuless SoC")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Lucas Stach <l.stach@pengutronix.de>

> ---
>  drivers/gpu/drm/armada/Kconfig  | 2 +-
>  drivers/gpu/drm/etnaviv/Kconfig | 1 +
>  drivers/gpu/drm/msm/Kconfig     | 1 +
>  3 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/armada/Kconfig b/drivers/gpu/drm/armada/Kconfig
> index 15f3ecfb16f1..eafaeeb7b5b1 100644
> --- a/drivers/gpu/drm/armada/Kconfig
> +++ b/drivers/gpu/drm/armada/Kconfig
> @@ -1,6 +1,6 @@
>  config DRM_ARMADA
>  	tristate "DRM support for Marvell Armada SoCs"
> -	depends on DRM && HAVE_CLK && ARM
> +	depends on DRM && HAVE_CLK && ARM && MMU
>  	select DRM_KMS_HELPER
>  	help
>  	  Support the "LCD" controllers found on the Marvell Armada 510
> diff --git a/drivers/gpu/drm/etnaviv/Kconfig b/drivers/gpu/drm/etnaviv/Kconfig
> index 2cde7a5442fb..656c061b439d 100644
> --- a/drivers/gpu/drm/etnaviv/Kconfig
> +++ b/drivers/gpu/drm/etnaviv/Kconfig
> @@ -3,6 +3,7 @@ config DRM_ETNAVIV
>  	tristate "ETNAVIV (DRM support for Vivante GPU IP cores)"
>  	depends on DRM
>  	depends on ARCH_MXC || ARCH_DOVE
> +	depends on MMU
>  	select SHMEM
>  	select TMPFS
>  	select IOMMU_API
> diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig
> index d96b2b6898a3..7f78da695dff 100644
> --- a/drivers/gpu/drm/msm/Kconfig
> +++ b/drivers/gpu/drm/msm/Kconfig
> @@ -4,6 +4,7 @@ config DRM_MSM
>  	depends on DRM
>  	depends on ARCH_QCOM || (ARM && COMPILE_TEST)
>  	depends on OF && COMMON_CLK
> +	depends on MMU
>  	select REGULATOR
>  	select DRM_KMS_HELPER
>  	select DRM_PANEL

[toc] | [prev] | [next] | [standalone]


#1556695 — Re: [PATCH 2/2] drm: add more MMU dependencies

FromDaniel Vetter <daniel@ffwll.ch>
Date2017-01-11 17:30 +0100
SubjectRe: [PATCH 2/2] drm: add more MMU dependencies
Message-ID<sYtWG-In-41@gated-at.bofh.it>
In reply to#1556508
On Wed, Jan 11, 2017 at 03:02:39PM +0100, Lucas Stach wrote:
> Am Mittwoch, den 11.01.2017, 14:33 +0100 schrieb Arnd Bergmann:
> > Many DRM drivers only work with an MMU, and after the patch to enable
> > core DRM support without MMU, we already had one fixup for many of them.
> > The etnaviv, armada and msm drivers were missed and have the same problem:
> > 
> > warning: (DRM_ETNAVIV) selects IOMMU_SUPPORT which has unmet direct dependencies (MMU)
> > warning: (DRM_I915 && DRM_MSM && DRM_ETNAVIV) selects SHMEM which has unmet direct dependencies (MMU)
> > drivers/gpu/drm/armada/armada_gem.o: In function `armada_gem_vm_fault':
> > armada_gem.c:(.text.armada_gem_vm_fault+0x14): undefined reference to `vm_insert_pfn'
> > arch/arm/mm/dma-mapping.c: In function '__iommu_alloc_remap':
> > arch/arm/mm/dma-mapping.c:1390:4: error: 'VM_ARM_DMA_CONSISTENT' undeclared (first use in this function)
> > arch/arm/mm/dma-mapping.c:1456:31: error: 'atomic_pool' undeclared (first use in this function); did you mean 'atomic_xor'?
> > 
> > Fixes: 011cda589938 ("drm: fix compilations issues introduced by "drm: allow to use mmuless SoC"")
> > Fixes: 62a0d98a188c ("drm: allow to use mmuless SoC")
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> 
> Acked-by: Lucas Stach <l.stach@pengutronix.de>

Applied to drm-misc, thanks.
-Daniel

> 
> > ---
> >  drivers/gpu/drm/armada/Kconfig  | 2 +-
> >  drivers/gpu/drm/etnaviv/Kconfig | 1 +
> >  drivers/gpu/drm/msm/Kconfig     | 1 +
> >  3 files changed, 3 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/armada/Kconfig b/drivers/gpu/drm/armada/Kconfig
> > index 15f3ecfb16f1..eafaeeb7b5b1 100644
> > --- a/drivers/gpu/drm/armada/Kconfig
> > +++ b/drivers/gpu/drm/armada/Kconfig
> > @@ -1,6 +1,6 @@
> >  config DRM_ARMADA
> >  	tristate "DRM support for Marvell Armada SoCs"
> > -	depends on DRM && HAVE_CLK && ARM
> > +	depends on DRM && HAVE_CLK && ARM && MMU
> >  	select DRM_KMS_HELPER
> >  	help
> >  	  Support the "LCD" controllers found on the Marvell Armada 510
> > diff --git a/drivers/gpu/drm/etnaviv/Kconfig b/drivers/gpu/drm/etnaviv/Kconfig
> > index 2cde7a5442fb..656c061b439d 100644
> > --- a/drivers/gpu/drm/etnaviv/Kconfig
> > +++ b/drivers/gpu/drm/etnaviv/Kconfig
> > @@ -3,6 +3,7 @@ config DRM_ETNAVIV
> >  	tristate "ETNAVIV (DRM support for Vivante GPU IP cores)"
> >  	depends on DRM
> >  	depends on ARCH_MXC || ARCH_DOVE
> > +	depends on MMU
> >  	select SHMEM
> >  	select TMPFS
> >  	select IOMMU_API
> > diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig
> > index d96b2b6898a3..7f78da695dff 100644
> > --- a/drivers/gpu/drm/msm/Kconfig
> > +++ b/drivers/gpu/drm/msm/Kconfig
> > @@ -4,6 +4,7 @@ config DRM_MSM
> >  	depends on DRM
> >  	depends on ARCH_QCOM || (ARM && COMPILE_TEST)
> >  	depends on OF && COMMON_CLK
> > +	depends on MMU
> >  	select REGULATOR
> >  	select DRM_KMS_HELPER
> >  	select DRM_PANEL
> 
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

[toc] | [prev] | [next] | [standalone]


#1556685

FromDaniel Vetter <daniel@ffwll.ch>
Date2017-01-11 17:30 +0100
Message-ID<sYtWF-In-13@gated-at.bofh.it>
In reply to#1556483
On Wed, Jan 11, 2017 at 02:33:34PM +0100, Arnd Bergmann wrote:
> When building DRM without an MMU, we run into a compile-time error because
> pte_wrprotect() is not defined:
> 
> drivers/gpu/drm/drm_vm.c: In function 'drm_mmap_dma':
> drivers/gpu/drm/drm_vm.c:496:9: error: implicit declaration of function 'pte_wrprotect' [-Werror=implicit-function-declaration]
> 
> The line is not meaningful here, so we can simply add another
> compile-time check around it.
> 
> Fixes: 62a0d98a188c ("drm: allow to use mmuless SoC")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

We don't need drm_vm.c on modern drivers, and the idea was to simply not
compile it when not needed. See:

commit 99c48e1e38f0aeaa107ad67c8d91f6c9d9d567a9
Author: Benjamin Gaignard <benjamin.gaignard@linaro.org>
Date:   Wed Jan 4 10:12:56 2017 +0100

    drm: compile drm_vm.c only when needed


How did you manage to enable this stuff?
-Daniel

> ---
>  drivers/gpu/drm/drm_vm.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_vm.c b/drivers/gpu/drm/drm_vm.c
> index bd311c77c254..038946588ed7 100644
> --- a/drivers/gpu/drm/drm_vm.c
> +++ b/drivers/gpu/drm/drm_vm.c
> @@ -488,7 +488,7 @@ static int drm_mmap_dma(struct file *filp, struct vm_area_struct *vma)
>  		vma->vm_flags &= ~(VM_WRITE | VM_MAYWRITE);
>  #if defined(__i386__) || defined(__x86_64__)
>  		pgprot_val(vma->vm_page_prot) &= ~_PAGE_RW;
> -#else
> +#elif IS_ENABLED(CONFIG_MMU)
>  		/* Ye gads this is ugly.  With more thought
>  		   we could move this up higher and use
>  		   `protection_map' instead.  */
> @@ -572,7 +572,7 @@ static int drm_mmap_locked(struct file *filp, struct vm_area_struct *vma)
>  		vma->vm_flags &= ~(VM_WRITE | VM_MAYWRITE);
>  #if defined(__i386__) || defined(__x86_64__)
>  		pgprot_val(vma->vm_page_prot) &= ~_PAGE_RW;
> -#else
> +#elif defined (CONFIG_MMU)
>  		/* Ye gads this is ugly.  With more thought
>  		   we could move this up higher and use
>  		   `protection_map' instead.  */
> -- 
> 2.9.0
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

[toc] | [prev] | [next] | [standalone]


#1556700

FromArnd Bergmann <arnd@arndb.de>
Date2017-01-11 17:40 +0100
Message-ID<sYu6m-Lo-25@gated-at.bofh.it>
In reply to#1556685
On Wednesday, January 11, 2017 5:27:13 PM CET Daniel Vetter wrote:
> On Wed, Jan 11, 2017 at 02:33:34PM +0100, Arnd Bergmann wrote:
> > When building DRM without an MMU, we run into a compile-time error because
> > pte_wrprotect() is not defined:
> > 
> > drivers/gpu/drm/drm_vm.c: In function 'drm_mmap_dma':
> > drivers/gpu/drm/drm_vm.c:496:9: error: implicit declaration of function 'pte_wrprotect' [-Werror=implicit-function-declaration]
> > 
> > The line is not meaningful here, so we can simply add another
> > compile-time check around it.
> > 
> > Fixes: 62a0d98a188c ("drm: allow to use mmuless SoC")
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> 
> We don't need drm_vm.c on modern drivers, and the idea was to simply not
> compile it when not needed. See:
> 
> commit 99c48e1e38f0aeaa107ad67c8d91f6c9d9d567a9
> Author: Benjamin Gaignard <benjamin.gaignard@linaro.org>
> Date:   Wed Jan 4 10:12:56 2017 +0100
> 
>     drm: compile drm_vm.c only when needed
> 
> 
> How did you manage to enable this stuff?
> -Daniel

This was a randconfig build, the DRM specific symbols here are

CONFIG_DRM=y
CONFIG_DRM_MIPI_DSI=y
# CONFIG_DRM_DP_AUX_CHARDEV is not set
# CONFIG_DRM_DEBUG_MM is not set
# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_KMS_FB_HELPER=y
# CONFIG_DRM_FBDEV_EMULATION is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_GEM_CMA_HELPER=y
CONFIG_DRM_KMS_CMA_HELPER=y
CONFIG_DRM_VM=y

#
# I2C encoder or helper chips
#
# CONFIG_DRM_I2C_CH7006 is not set
CONFIG_DRM_I2C_SIL164=y
# CONFIG_DRM_I2C_NXP_TDA998X is not set
CONFIG_DRM_ARM=y
CONFIG_DRM_HDLCD=y
CONFIG_DRM_HDLCD_SHOW_UNDERRUN=y
# CONFIG_DRM_MALI_DISPLAY is not set

#
# ACP (Audio CoProcessor) Configuration
#
CONFIG_DRM_VGEM=y
CONFIG_DRM_ROCKCHIP=y
CONFIG_ROCKCHIP_ANALOGIX_DP=y
CONFIG_ROCKCHIP_DW_HDMI=m
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
CONFIG_ROCKCHIP_INNO_HDMI=m
# CONFIG_DRM_UDL is not set
CONFIG_DRM_ARMADA=y
CONFIG_DRM_ATMEL_HLCDC=m
CONFIG_DRM_RCAR_DU=y
# CONFIG_DRM_RCAR_HDMI is not set
CONFIG_DRM_RCAR_LVDS=y
# CONFIG_DRM_SHMOBILE is not set
CONFIG_DRM_SUN4I=y
CONFIG_DRM_TILCDC=m
CONFIG_DRM_TILCDC_SLAVE_COMPAT=y
CONFIG_DRM_MSM=y
CONFIG_DRM_MSM_REGISTER_LOGGING=y
CONFIG_DRM_MSM_HDMI_HDCP=y
CONFIG_DRM_MSM_DSI=y
# CONFIG_DRM_MSM_DSI_PLL is not set
# CONFIG_DRM_MSM_DSI_28NM_PHY is not set
# CONFIG_DRM_MSM_DSI_20NM_PHY is not set
CONFIG_DRM_MSM_DSI_28NM_8960_PHY=y
# CONFIG_DRM_FSL_DCU is not set
# CONFIG_DRM_TEGRA is not set
CONFIG_DRM_PANEL=y

#
# Display Panels
#
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_JDI_LT070ME05000=m
CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
CONFIG_DRM_BRIDGE=y

#
# Display Interface Bridges
#
CONFIG_DRM_ANALOGIX_ANX78XX=y
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
# CONFIG_DRM_NXP_PTN3460 is not set
CONFIG_DRM_PARADE_PS8622=m
# CONFIG_DRM_SIL_SII8620 is not set
# CONFIG_DRM_SII902X is not set
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_TI_TFP410=y
CONFIG_DRM_ANALOGIX_DP=y
# CONFIG_DRM_I2C_ADV7511 is not set
CONFIG_DRM_VC4=m
CONFIG_DRM_ETNAVIV=m
# CONFIG_DRM_ETNAVIV_REGISTER_LOGGING is not set
CONFIG_DRM_ARCPGU=m
CONFIG_DRM_MXS=y
CONFIG_DRM_MXSFB=m
CONFIG_DRM_MESON=y
CONFIG_DRM_LEGACY=y
# CONFIG_DRM_LIB_RANDOM is not set

No idea what did it in the end.

I also have some older build fixes applied, so it may be something that
happens on my tree but not on plain linux-next.

	Arnd

[toc] | [prev] | [next] | [standalone]


#1556704

FromDaniel Vetter <daniel@ffwll.ch>
Date2017-01-11 17:40 +0100
Message-ID<sYu6m-Lo-27@gated-at.bofh.it>
In reply to#1556700
On Wed, Jan 11, 2017 at 5:33 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Wednesday, January 11, 2017 5:27:13 PM CET Daniel Vetter wrote:
>> On Wed, Jan 11, 2017 at 02:33:34PM +0100, Arnd Bergmann wrote:
>> > When building DRM without an MMU, we run into a compile-time error because
>> > pte_wrprotect() is not defined:
>> >
>> > drivers/gpu/drm/drm_vm.c: In function 'drm_mmap_dma':
>> > drivers/gpu/drm/drm_vm.c:496:9: error: implicit declaration of function 'pte_wrprotect' [-Werror=implicit-function-declaration]
>> >
>> > The line is not meaningful here, so we can simply add another
>> > compile-time check around it.
>> >
>> > Fixes: 62a0d98a188c ("drm: allow to use mmuless SoC")
>> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>
>> We don't need drm_vm.c on modern drivers, and the idea was to simply not
>> compile it when not needed. See:
>>
>> commit 99c48e1e38f0aeaa107ad67c8d91f6c9d9d567a9
>> Author: Benjamin Gaignard <benjamin.gaignard@linaro.org>
>> Date:   Wed Jan 4 10:12:56 2017 +0100
>>
>>     drm: compile drm_vm.c only when needed
>>
>>
>> How did you manage to enable this stuff?
>> -Daniel
>
> This was a randconfig build, the DRM specific symbols here are
>
> CONFIG_DRM=y
> CONFIG_DRM_MIPI_DSI=y
> # CONFIG_DRM_DP_AUX_CHARDEV is not set
> # CONFIG_DRM_DEBUG_MM is not set
> # CONFIG_DRM_DEBUG_MM_SELFTEST is not set
> CONFIG_DRM_KMS_HELPER=y
> CONFIG_DRM_KMS_FB_HELPER=y
> # CONFIG_DRM_FBDEV_EMULATION is not set
> CONFIG_DRM_LOAD_EDID_FIRMWARE=y
> CONFIG_DRM_GEM_CMA_HELPER=y
> CONFIG_DRM_KMS_CMA_HELPER=y
> CONFIG_DRM_VM=y

Does randconfig just set this for fun, despite that it's a hidden
Kconfig symbol? Should we add a depends !NOMMU to it to make sure it
never gets enabled when it shouldn't be?

tbh I have no idea how Kconfig works, I'm just really good at breaking it :(
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

[toc] | [prev] | [next] | [standalone]


#1556732

FromArnd Bergmann <arnd@arndb.de>
Date2017-01-11 18:10 +0100
Message-ID<sYuzn-1aF-5@gated-at.bofh.it>
In reply to#1556704
On Wed, Jan 11, 2017 at 5:36 PM, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Wed, Jan 11, 2017 at 5:33 PM, Arnd Bergmann <arnd@arndb.de> wrote:
>> CONFIG_DRM_VM=y
>
> Does randconfig just set this for fun, despite that it's a hidden
> Kconfig symbol? Should we add a depends !NOMMU to it to make sure it
> never gets enabled when it shouldn't be?
>
> tbh I have no idea how Kconfig works, I'm just really good at breaking it :(

no, randconfig won't try to set symbols that a user doesn't see. This
is what 'menuconfig'
says enabled it.

  │   Selected by: DRM_NOUVEAU [=n] && HAS_IOMEM [=y] && DRM [=y] &&
PCI [=n] && MMU [=n] && (BACKLIGHT_CLASS_DEVICE [=m] || !ACPI) ||
DRM_LEGACY [=y] && HAS_IOMEM [=y] && DRM [=y]

It must be the 'DRM_LEGACY' option that is actually user visible and
that contains
'select DRM_VM'.

     Arnd

[toc] | [prev] | [next] | [standalone]


#1556735

FromBenjamin Gaignard <benjamin.gaignard@linaro.org>
Date2017-01-11 18:20 +0100
Message-ID<sYuJ3-1dY-5@gated-at.bofh.it>
In reply to#1556732
2017-01-11 17:59 GMT+01:00 Arnd Bergmann <arnd@arndb.de>:
> On Wed, Jan 11, 2017 at 5:36 PM, Daniel Vetter <daniel@ffwll.ch> wrote:
>> On Wed, Jan 11, 2017 at 5:33 PM, Arnd Bergmann <arnd@arndb.de> wrote:
>>> CONFIG_DRM_VM=y
>>
>> Does randconfig just set this for fun, despite that it's a hidden
>> Kconfig symbol? Should we add a depends !NOMMU to it to make sure it
>> never gets enabled when it shouldn't be?
>>
>> tbh I have no idea how Kconfig works, I'm just really good at breaking it :(
>
> no, randconfig won't try to set symbols that a user doesn't see. This
> is what 'menuconfig'
> says enabled it.
>
>   │   Selected by: DRM_NOUVEAU [=n] && HAS_IOMEM [=y] && DRM [=y] &&
> PCI [=n] && MMU [=n] && (BACKLIGHT_CLASS_DEVICE [=m] || !ACPI) ||
> DRM_LEGACY [=y] && HAS_IOMEM [=y] && DRM [=y]
>
> It must be the 'DRM_LEGACY' option that is actually user visible and
> that contains
> 'select DRM_VM'.

We should add "MMU" on DRM_LEGACY and DRM_VM dependencies
to be sure that they won't be select without MMU support

>
>      Arnd



-- 
Benjamin Gaignard

Graphic Study Group

Linaro.org │ Open source software for ARM SoCs

Follow Linaro: Facebook | Twitter | Blog

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web