dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2/2] nouveau: fix dependencies for DEVICE_PRIVATE
       [not found] <20200508144017.3501418-1-arnd@arndb.de>
@ 2020-05-08 14:40 ` Arnd Bergmann
  2020-05-08 15:00   ` Jason Gunthorpe
                     ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Arnd Bergmann @ 2020-05-08 14:40 UTC (permalink / raw)
  To: Ben Skeggs, Jason Gunthorpe
  Cc: Arnd Bergmann, David Airlie, John Hubbard, Felix Kuehling,
	linux-kernel, dri-devel, Jason Gunthorpe, nouveau, Dan Williams,
	Ira Weiny, Christoph Hellwig

CONFIG_DEVICE_PRIVATE cannot be selected in configurations
without ZONE_DEVICE:

WARNING: unmet direct dependencies detected for DEVICE_PRIVATE
  Depends on [n]: ZONE_DEVICE [=n]
  Selected by [y]:
  - DRM_NOUVEAU_SVM [=y] && HAS_IOMEM [=y] && DRM_NOUVEAU [=y] && MMU [=y] && STAGING [=y]
kernel/resource.c:1653:28: error: use of undeclared identifier 'PA_SECTION_SHIFT'
        size = ALIGN(size, 1UL << PA_SECTION_SHIFT);
                                  ^
kernel/resource.c:1654:48: error: use of undeclared identifier 'MAX_PHYSMEM_BITS'

Add a dependency for Nouveau to avoid broken randconfig builds.

Fixes: d2c63df2242e ("mm/hmm: make CONFIG_DEVICE_PRIVATE into a select")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/gpu/drm/nouveau/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/nouveau/Kconfig b/drivers/gpu/drm/nouveau/Kconfig
index af5793f3e7c2..996ec5475908 100644
--- a/drivers/gpu/drm/nouveau/Kconfig
+++ b/drivers/gpu/drm/nouveau/Kconfig
@@ -87,6 +87,7 @@ config DRM_NOUVEAU_BACKLIGHT
 config DRM_NOUVEAU_SVM
 	bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support"
 	depends on DRM_NOUVEAU
+	depends on ZONE_DEVICE
 	depends on MMU
 	depends on STAGING
 	select DEVICE_PRIVATE
-- 
2.26.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] nouveau: fix dependencies for DEVICE_PRIVATE
  2020-05-08 14:40 ` [PATCH 2/2] nouveau: fix dependencies for DEVICE_PRIVATE Arnd Bergmann
@ 2020-05-08 15:00   ` Jason Gunthorpe
  2020-05-08 15:05     ` Arnd Bergmann
  2020-05-08 18:05   ` Randy Dunlap
  2020-05-11 13:52   ` Jason Gunthorpe
  2 siblings, 1 reply; 7+ messages in thread
From: Jason Gunthorpe @ 2020-05-08 15:00 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: David Airlie, John Hubbard, Felix Kuehling, linux-kernel,
	dri-devel, Ben Skeggs, nouveau, Dan Williams, Ira Weiny,
	Christoph Hellwig

On Fri, May 08, 2020 at 04:40:09PM +0200, Arnd Bergmann wrote:
> CONFIG_DEVICE_PRIVATE cannot be selected in configurations
> without ZONE_DEVICE:

It is kind of unfortunate to lift dependencies from DEVICE_PRIVATE
into the users, is this really how kconfig is supposed to work or is
something else wrong here?

Jason
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] nouveau: fix dependencies for DEVICE_PRIVATE
  2020-05-08 15:00   ` Jason Gunthorpe
@ 2020-05-08 15:05     ` Arnd Bergmann
  2020-05-08 19:04       ` Jason Gunthorpe
  0 siblings, 1 reply; 7+ messages in thread
From: Arnd Bergmann @ 2020-05-08 15:05 UTC (permalink / raw)
  To: Jason Gunthorpe
  Cc: David Airlie, John Hubbard, Felix Kuehling,
	linux-kernel@vger.kernel.org, dri-devel, Ben Skeggs, ML nouveau,
	Dan Williams, Ira Weiny, Christoph Hellwig

On Fri, May 8, 2020 at 5:00 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> On Fri, May 08, 2020 at 04:40:09PM +0200, Arnd Bergmann wrote:
> > CONFIG_DEVICE_PRIVATE cannot be selected in configurations
> > without ZONE_DEVICE:
>
> It is kind of unfortunate to lift dependencies from DEVICE_PRIVATE
> into the users, is this really how kconfig is supposed to work or is
> something else wrong here?

Usually the problem is trying to use 'select' for something that can
be done with 'depends on'. I have actually no idea what
CONFIG_DEVICE_PRIVATE does, as it lacks a help text
and is a rather generic term.

Would it be possible to decouple DEVICE_PRIVATE from ZONE_DEVICE?
It sounds like the first is related to the device model, while
the second is for memory management, so maybe the dependency
is not necessary.

       Arnd
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] nouveau: fix dependencies for DEVICE_PRIVATE
  2020-05-08 14:40 ` [PATCH 2/2] nouveau: fix dependencies for DEVICE_PRIVATE Arnd Bergmann
  2020-05-08 15:00   ` Jason Gunthorpe
@ 2020-05-08 18:05   ` Randy Dunlap
  2020-05-11 13:52   ` Jason Gunthorpe
  2 siblings, 0 replies; 7+ messages in thread
From: Randy Dunlap @ 2020-05-08 18:05 UTC (permalink / raw)
  To: Arnd Bergmann, Ben Skeggs, Jason Gunthorpe
  Cc: David Airlie, John Hubbard, Felix Kuehling, linux-kernel,
	dri-devel, Jason Gunthorpe, nouveau, Dan Williams, Ira Weiny,
	Christoph Hellwig

On 5/8/20 7:40 AM, Arnd Bergmann wrote:
> CONFIG_DEVICE_PRIVATE cannot be selected in configurations
> without ZONE_DEVICE:
> 
> WARNING: unmet direct dependencies detected for DEVICE_PRIVATE
>   Depends on [n]: ZONE_DEVICE [=n]
>   Selected by [y]:
>   - DRM_NOUVEAU_SVM [=y] && HAS_IOMEM [=y] && DRM_NOUVEAU [=y] && MMU [=y] && STAGING [=y]
> kernel/resource.c:1653:28: error: use of undeclared identifier 'PA_SECTION_SHIFT'
>         size = ALIGN(size, 1UL << PA_SECTION_SHIFT);
>                                   ^
> kernel/resource.c:1654:48: error: use of undeclared identifier 'MAX_PHYSMEM_BITS'
> 
> Add a dependency for Nouveau to avoid broken randconfig builds.
> 
> Fixes: d2c63df2242e ("mm/hmm: make CONFIG_DEVICE_PRIVATE into a select")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested

Thanks.

> ---
>  drivers/gpu/drm/nouveau/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/nouveau/Kconfig b/drivers/gpu/drm/nouveau/Kconfig
> index af5793f3e7c2..996ec5475908 100644
> --- a/drivers/gpu/drm/nouveau/Kconfig
> +++ b/drivers/gpu/drm/nouveau/Kconfig
> @@ -87,6 +87,7 @@ config DRM_NOUVEAU_BACKLIGHT
>  config DRM_NOUVEAU_SVM
>  	bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support"
>  	depends on DRM_NOUVEAU
> +	depends on ZONE_DEVICE
>  	depends on MMU
>  	depends on STAGING
>  	select DEVICE_PRIVATE
> 


-- 
~Randy

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] nouveau: fix dependencies for DEVICE_PRIVATE
  2020-05-08 15:05     ` Arnd Bergmann
@ 2020-05-08 19:04       ` Jason Gunthorpe
  2020-05-08 20:39         ` Arnd Bergmann
  0 siblings, 1 reply; 7+ messages in thread
From: Jason Gunthorpe @ 2020-05-08 19:04 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: David Airlie, John Hubbard, Felix Kuehling,
	linux-kernel@vger.kernel.org, dri-devel, Ben Skeggs, ML nouveau,
	Dan Williams, Ira Weiny, Christoph Hellwig

On Fri, May 08, 2020 at 05:05:03PM +0200, Arnd Bergmann wrote:
> On Fri, May 8, 2020 at 5:00 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
> >
> > On Fri, May 08, 2020 at 04:40:09PM +0200, Arnd Bergmann wrote:
> > > CONFIG_DEVICE_PRIVATE cannot be selected in configurations
> > > without ZONE_DEVICE:
> >
> > It is kind of unfortunate to lift dependencies from DEVICE_PRIVATE
> > into the users, is this really how kconfig is supposed to work or is
> > something else wrong here?
> 
> Usually the problem is trying to use 'select' for something that can
> be done with 'depends on'. I have actually no idea what
> CONFIG_DEVICE_PRIVATE does, as it lacks a help text
> and is a rather generic term.

It is a sub mode of ZONE_DEVICE, ie DEVICE_PRIVATE turns on a certain
kind of ZONE_DEVICE page.

Both ZONE_DEVICE and DEVICE_PRIVATE are APIs families drivers use,
there is no reason for a user to select either of these directly.

Jason
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] nouveau: fix dependencies for DEVICE_PRIVATE
  2020-05-08 19:04       ` Jason Gunthorpe
@ 2020-05-08 20:39         ` Arnd Bergmann
  0 siblings, 0 replies; 7+ messages in thread
From: Arnd Bergmann @ 2020-05-08 20:39 UTC (permalink / raw)
  To: Jason Gunthorpe
  Cc: David Airlie, John Hubbard, Felix Kuehling,
	linux-kernel@vger.kernel.org, dri-devel, Ben Skeggs, ML nouveau,
	Dan Williams, Ira Weiny, Christoph Hellwig

On Fri, May 8, 2020 at 9:04 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> On Fri, May 08, 2020 at 05:05:03PM +0200, Arnd Bergmann wrote:
> > On Fri, May 8, 2020 at 5:00 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
> > >
> > > On Fri, May 08, 2020 at 04:40:09PM +0200, Arnd Bergmann wrote:
> > > > CONFIG_DEVICE_PRIVATE cannot be selected in configurations
> > > > without ZONE_DEVICE:
> > >
> > > It is kind of unfortunate to lift dependencies from DEVICE_PRIVATE
> > > into the users, is this really how kconfig is supposed to work or is
> > > something else wrong here?
> >
> > Usually the problem is trying to use 'select' for something that can
> > be done with 'depends on'. I have actually no idea what
> > CONFIG_DEVICE_PRIVATE does, as it lacks a help text
> > and is a rather generic term.
>
> It is a sub mode of ZONE_DEVICE, ie DEVICE_PRIVATE turns on a certain
> kind of ZONE_DEVICE page.
>
> Both ZONE_DEVICE and DEVICE_PRIVATE are APIs families drivers use,
> there is no reason for a user to select either of these directly.

Ok, then how about making ZONE_DEVICE a hidden symbol and adding
something like

config ZONE_DEVICE_POSSIBLE
        def_bool y
        depends on MEMORY_HOTPLUG
        depends on MEMORY_HOTREMOVE
        depends on SPARSEMEM_VMEMMAP
        depends on ARCH_HAS_PTE_DEVMAP

then drivers that want it can do

config FOO
        tristate "user visible option"
        depends on ZONE_DEVICE_POSSIBLE
        select ZONE_DEVICE

      Arnd
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] nouveau: fix dependencies for DEVICE_PRIVATE
  2020-05-08 14:40 ` [PATCH 2/2] nouveau: fix dependencies for DEVICE_PRIVATE Arnd Bergmann
  2020-05-08 15:00   ` Jason Gunthorpe
  2020-05-08 18:05   ` Randy Dunlap
@ 2020-05-11 13:52   ` Jason Gunthorpe
  2 siblings, 0 replies; 7+ messages in thread
From: Jason Gunthorpe @ 2020-05-11 13:52 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: David Airlie, John Hubbard, Felix Kuehling, linux-kernel,
	dri-devel, Ben Skeggs, nouveau, Dan Williams, Ira Weiny,
	Christoph Hellwig

On Fri, May 08, 2020 at 04:40:09PM +0200, Arnd Bergmann wrote:
> CONFIG_DEVICE_PRIVATE cannot be selected in configurations
> without ZONE_DEVICE:
> 
> WARNING: unmet direct dependencies detected for DEVICE_PRIVATE
>   Depends on [n]: ZONE_DEVICE [=n]
>   Selected by [y]:
>   - DRM_NOUVEAU_SVM [=y] && HAS_IOMEM [=y] && DRM_NOUVEAU [=y] && MMU [=y] && STAGING [=y]
> kernel/resource.c:1653:28: error: use of undeclared identifier 'PA_SECTION_SHIFT'
>         size = ALIGN(size, 1UL << PA_SECTION_SHIFT);
>                                   ^
> kernel/resource.c:1654:48: error: use of undeclared identifier 'MAX_PHYSMEM_BITS'
> 
> Add a dependency for Nouveau to avoid broken randconfig builds.
> 
> Fixes: d2c63df2242e ("mm/hmm: make CONFIG_DEVICE_PRIVATE into a
> select")

I've reverted the patch this fixes, it seems more trouble than it is
worth.

Thanks,
Jason
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-05-11 22:52 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20200508144017.3501418-1-arnd@arndb.de>
2020-05-08 14:40 ` [PATCH 2/2] nouveau: fix dependencies for DEVICE_PRIVATE Arnd Bergmann
2020-05-08 15:00   ` Jason Gunthorpe
2020-05-08 15:05     ` Arnd Bergmann
2020-05-08 19:04       ` Jason Gunthorpe
2020-05-08 20:39         ` Arnd Bergmann
2020-05-08 18:05   ` Randy Dunlap
2020-05-11 13:52   ` Jason Gunthorpe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox