Trying to set CONFIG_CMA=y with CONFIG_DMA_CMA=n revealed that we have three drivers that select these options. Random drivers should not override user settings of such core knobs. Let's use "imply DMA_CMA" instead, such that user configuration and dependencies are respected.
v1 -> v2: - Fix DRM_CMA -> DMA_CMA
Cc: Joel Stanley joel@jms.id.au Cc: David Airlie airlied@linux.ie Cc: Daniel Vetter daniel@ffwll.ch Cc: Andrew Jeffery andrew@aj.id.au Cc: Lucas Stach l.stach@pengutronix.de Cc: Russell King linux+etnaviv@armlinux.org.uk Cc: Christian Gmeiner christian.gmeiner@gmail.com Cc: Mike Rapoport rppt@kernel.org Cc: Arnd Bergmann arnd@arndb.de Cc: Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com Cc: Linus Walleij linus.walleij@linaro.org Cc: Michal Simek michal.simek@xilinx.com Cc: Masahiro Yamada masahiroy@kernel.org Cc: Randy Dunlap rdunlap@infradead.org Cc: Peter Collingbourne pcc@google.com Cc: linux-aspeed@lists.ozlabs.org Cc: dri-devel@lists.freedesktop.org Cc: linux-arm-kernel@lists.infradead.org Cc: etnaviv@lists.freedesktop.org Cc: linux-fbdev@vger.kernel.org
David Hildenbrand (2): drivers/video/fbdev: don't select DMA_CMA drivers/gpu/drm: don't select DMA_CMA or CMA from aspeed or etnaviv
drivers/gpu/drm/aspeed/Kconfig | 3 +-- drivers/gpu/drm/etnaviv/Kconfig | 3 +-- drivers/video/fbdev/Kconfig | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-)
Random drivers should not override a user configuration of core knobs (e.g., CONFIG_DMA_CMA=n). Use "imply" instead, to still respect dependencies and manual overrides.
"This is similar to "select" as it enforces a lower limit on another symbol except that the "implied" symbol's value may still be set to n from a direct dependency or with a visible prompt."
Implying DMA_CMA should be sufficient, as that depends on CMA.
Note: If this is a real dependency, we should use "depends on DMA_CMA" instead - but I assume the driver can work without CMA just fine -- esp. when we wouldn't have HAVE_DMA_CONTIGUOUS or CMA right now.
Signed-off-by: David Hildenbrand david@redhat.com --- drivers/video/fbdev/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig index 4f02db65dede..d37cd5341e1b 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -2186,7 +2186,7 @@ config FB_HYPERV select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_DEFERRED_IO - select DMA_CMA if HAVE_DMA_CONTIGUOUS && CMA + imply DMA_CMA help This framebuffer driver supports Microsoft Hyper-V Synthetic Video.
Random drivers should not override a user configuration of core knobs (e.g., CONFIG_DMA_CMA=n). Use "imply" instead, to still respect dependencies and manual overrides.
"This is similar to "select" as it enforces a lower limit on another symbol except that the "implied" symbol's value may still be set to n from a direct dependency or with a visible prompt."
Implying DMA_CMA should be sufficient, as that depends on CMA.
Note: If this is a real dependency, we should use "depends on DMA_CMA" instead - but I assume the driver can work without CMA just fine -- esp. when we wouldn't have HAVE_DMA_CONTIGUOUS right now.
Signed-off-by: David Hildenbrand david@redhat.com --- drivers/gpu/drm/aspeed/Kconfig | 3 +-- drivers/gpu/drm/etnaviv/Kconfig | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/aspeed/Kconfig b/drivers/gpu/drm/aspeed/Kconfig index 5e95bcea43e9..b35bb1aa9b91 100644 --- a/drivers/gpu/drm/aspeed/Kconfig +++ b/drivers/gpu/drm/aspeed/Kconfig @@ -6,9 +6,8 @@ config DRM_ASPEED_GFX depends on MMU select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER - select DMA_CMA if HAVE_DMA_CONTIGUOUS - select CMA if HAVE_DMA_CONTIGUOUS select MFD_SYSCON + imply DMA_CMA help Chose this option if you have an ASPEED AST2500 SOC Display Controller (aka GFX). diff --git a/drivers/gpu/drm/etnaviv/Kconfig b/drivers/gpu/drm/etnaviv/Kconfig index faa7fc68b009..5f5576b7221a 100644 --- a/drivers/gpu/drm/etnaviv/Kconfig +++ b/drivers/gpu/drm/etnaviv/Kconfig @@ -9,9 +9,8 @@ config DRM_ETNAVIV select THERMAL if DRM_ETNAVIV_THERMAL select TMPFS select WANT_DEV_COREDUMP - select CMA if HAVE_DMA_CONTIGUOUS - select DMA_CMA if HAVE_DMA_CONTIGUOUS select DRM_SCHED + imply DMA_CMA help DRM driver for Vivante GPUs.
On Thu, Apr 08, 2021 at 12:05:21PM +0200, David Hildenbrand wrote:
Trying to set CONFIG_CMA=y with CONFIG_DMA_CMA=n revealed that we have three drivers that select these options. Random drivers should not override user settings of such core knobs. Let's use "imply DMA_CMA" instead, such that user configuration and dependencies are respected.
v1 -> v2:
- Fix DRM_CMA -> DMA_CMA
Cc: Joel Stanley joel@jms.id.au Cc: David Airlie airlied@linux.ie Cc: Daniel Vetter daniel@ffwll.ch Cc: Andrew Jeffery andrew@aj.id.au Cc: Lucas Stach l.stach@pengutronix.de Cc: Russell King linux+etnaviv@armlinux.org.uk Cc: Christian Gmeiner christian.gmeiner@gmail.com Cc: Mike Rapoport rppt@kernel.org Cc: Arnd Bergmann arnd@arndb.de Cc: Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com Cc: Linus Walleij linus.walleij@linaro.org Cc: Michal Simek michal.simek@xilinx.com Cc: Masahiro Yamada masahiroy@kernel.org Cc: Randy Dunlap rdunlap@infradead.org Cc: Peter Collingbourne pcc@google.com Cc: linux-aspeed@lists.ozlabs.org Cc: dri-devel@lists.freedesktop.org Cc: linux-arm-kernel@lists.infradead.org Cc: etnaviv@lists.freedesktop.org Cc: linux-fbdev@vger.kernel.org
David Hildenbrand (2): drivers/video/fbdev: don't select DMA_CMA drivers/gpu/drm: don't select DMA_CMA or CMA from aspeed or etnaviv
drivers/gpu/drm/aspeed/Kconfig | 3 +-- drivers/gpu/drm/etnaviv/Kconfig | 3 +-- drivers/video/fbdev/Kconfig | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-)
Acked-by: Mike Rapoport rppt@linux.ibm.com
-- 2.30.2
dri-devel@lists.freedesktop.org