Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1556483 > unrolled thread
| Started by | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| First post | 2017-01-11 14:40 +0100 |
| Last post | 2017-01-11 18:20 +0100 |
| Articles | 9 — 4 participants |
Back to article view | Back to linux.kernel
[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
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2017-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]
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2017-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]
| From | Lucas Stach <l.stach@pengutronix.de> |
|---|---|
| Date | 2017-01-11 15:10 +0100 |
| Subject | Re: [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]
| From | Daniel Vetter <daniel@ffwll.ch> |
|---|---|
| Date | 2017-01-11 17:30 +0100 |
| Subject | Re: [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]
| From | Daniel Vetter <daniel@ffwll.ch> |
|---|---|
| Date | 2017-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]
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2017-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]
| From | Daniel Vetter <daniel@ffwll.ch> |
|---|---|
| Date | 2017-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]
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2017-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]
| From | Benjamin Gaignard <benjamin.gaignard@linaro.org> |
|---|---|
| Date | 2017-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