* [PATCH] drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency
@ 2025-05-23 12:10 Arnd Bergmann
2025-05-23 13:45 ` ✗ CI.Patch_applied: failure for " Patchwork
2025-05-27 20:55 ` [PATCH] " Lucas De Marchi
0 siblings, 2 replies; 9+ messages in thread
From: Arnd Bergmann @ 2025-05-23 12:10 UTC (permalink / raw)
To: Lucas De Marchi, Thomas Hellström, Rodrigo Vivi
Cc: Arnd Bergmann, David Airlie, Simona Vetter, Matthew Brost,
Himal Prasad Ghimiray, Imre Deak, Ilpo Järvinen,
Michael J. Ruhl, Andy Shevchenko, intel-xe, dri-devel,
linux-kernel
From: Arnd Bergmann <arnd@arndb.de>
The XE driver can be built with or without VSEC support, but fails to link as
built-in if vsec is in a loadable module:
x86_64-linux-ld: vmlinux.o: in function `xe_vsec_init':
(.text+0x1e83e16): undefined reference to `intel_vsec_register'
The normal fix for this is to add a 'depends on INTEL_VSEC || !INTEL_VSEC',
forcing XE to be a loadable module as well, but that causes a circular
dependency:
symbol DRM_XE depends on INTEL_VSEC
symbol INTEL_VSEC depends on X86_PLATFORM_DEVICES
symbol X86_PLATFORM_DEVICES is selected by DRM_XE
The problem here is selecting a symbol from another subsystem, so change
that as well and rephrase the 'select' into the corresponding dependency.
Since X86_PLATFORM_DEVICES is 'default y', there is no change to
defconfig builds here.
Fixes: 0c45e76fcc62 ("drm/xe/vsec: Support BMG devices")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/gpu/drm/xe/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/xe/Kconfig b/drivers/gpu/drm/xe/Kconfig
index beddd153c28c..c870b680431c 100644
--- a/drivers/gpu/drm/xe/Kconfig
+++ b/drivers/gpu/drm/xe/Kconfig
@@ -2,6 +2,8 @@
config DRM_XE
tristate "Intel Xe Graphics"
depends on DRM && PCI && (m || (y && KUNIT=y))
+ depends on INTEL_VSEC || !INTEL_VSEC
+ depends on INTEL_PLATFORM_DEVICES || !(X86 && ACPI)
select INTERVAL_TREE
# we need shmfs for the swappable backing store, and in particular
# the shmem_readpage() which depends upon tmpfs
@@ -29,7 +31,6 @@ config DRM_XE
select INPUT if ACPI
select ACPI_VIDEO if X86 && ACPI
select ACPI_BUTTON if ACPI
- select X86_PLATFORM_DEVICES if X86 && ACPI
select ACPI_WMI if X86 && ACPI
select SYNC_FILE
select IOSF_MBI
--
2.39.5
^ permalink raw reply related [flat|nested] 9+ messages in thread* ✗ CI.Patch_applied: failure for drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency 2025-05-23 12:10 [PATCH] drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency Arnd Bergmann @ 2025-05-23 13:45 ` Patchwork 2025-05-27 20:55 ` [PATCH] " Lucas De Marchi 1 sibling, 0 replies; 9+ messages in thread From: Patchwork @ 2025-05-23 13:45 UTC (permalink / raw) To: Arnd Bergmann; +Cc: intel-xe == Series Details == Series: drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency URL : https://patchwork.freedesktop.org/series/149427/ State : failure == Summary == === Applying kernel patches on branch 'drm-tip' with base: === Base commit: 5ed61f4a36b3 drm-tip: 2025y-05m-23d-13h-19m-23s UTC integration manifest === git am output follows === error: patch failed: drivers/gpu/drm/xe/Kconfig:2 error: drivers/gpu/drm/xe/Kconfig: patch does not apply hint: Use 'git am --show-current-patch=diff' to see the failed patch Applying: drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency Patch failed at 0001 drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency 2025-05-23 12:10 [PATCH] drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency Arnd Bergmann 2025-05-23 13:45 ` ✗ CI.Patch_applied: failure for " Patchwork @ 2025-05-27 20:55 ` Lucas De Marchi 2025-05-28 9:34 ` Andy Shevchenko 1 sibling, 1 reply; 9+ messages in thread From: Lucas De Marchi @ 2025-05-27 20:55 UTC (permalink / raw) To: Arnd Bergmann Cc: Thomas Hellström, Rodrigo Vivi, Arnd Bergmann, David Airlie, Simona Vetter, Matthew Brost, Himal Prasad Ghimiray, Imre Deak, Ilpo Järvinen, Michael J. Ruhl, Andy Shevchenko, intel-xe, dri-devel, linux-kernel On Fri, May 23, 2025 at 02:10:46PM +0200, Arnd Bergmann wrote: >From: Arnd Bergmann <arnd@arndb.de> > >The XE driver can be built with or without VSEC support, but fails to link as >built-in if vsec is in a loadable module: > >x86_64-linux-ld: vmlinux.o: in function `xe_vsec_init': >(.text+0x1e83e16): undefined reference to `intel_vsec_register' > >The normal fix for this is to add a 'depends on INTEL_VSEC || !INTEL_VSEC', >forcing XE to be a loadable module as well, but that causes a circular >dependency: > > symbol DRM_XE depends on INTEL_VSEC > symbol INTEL_VSEC depends on X86_PLATFORM_DEVICES > symbol X86_PLATFORM_DEVICES is selected by DRM_XE > >The problem here is selecting a symbol from another subsystem, so change >that as well and rephrase the 'select' into the corresponding dependency. >Since X86_PLATFORM_DEVICES is 'default y', there is no change to >defconfig builds here. > >Fixes: 0c45e76fcc62 ("drm/xe/vsec: Support BMG devices") >Signed-off-by: Arnd Bergmann <arnd@arndb.de> >--- > drivers/gpu/drm/xe/Kconfig | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > >diff --git a/drivers/gpu/drm/xe/Kconfig b/drivers/gpu/drm/xe/Kconfig >index beddd153c28c..c870b680431c 100644 >--- a/drivers/gpu/drm/xe/Kconfig >+++ b/drivers/gpu/drm/xe/Kconfig >@@ -2,6 +2,8 @@ > config DRM_XE > tristate "Intel Xe Graphics" > depends on DRM && PCI && (m || (y && KUNIT=y)) >+ depends on INTEL_VSEC || !INTEL_VSEC >+ depends on INTEL_PLATFORM_DEVICES || !(X86 && ACPI) ^ Did you mean X86_PLATFORM_DEVICES here? With that, Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> I see several drivers selecting X86_PLATFORM_DEVICES though. Maybe they should also be translated to dependencies instead? $ git grep "select X86_PLATFORM_DEVICES" drivers/gpu/drm/amd/amdgpu/Kconfig: select X86_PLATFORM_DEVICES if ACPI && X86 drivers/gpu/drm/gma500/Kconfig: select X86_PLATFORM_DEVICES if ACPI drivers/gpu/drm/i915/Kconfig: select X86_PLATFORM_DEVICES if ACPI drivers/gpu/drm/nouveau/Kconfig: select X86_PLATFORM_DEVICES if ACPI && X86 drivers/gpu/drm/radeon/Kconfig: select X86_PLATFORM_DEVICES if ACPI && X86 thanks Lucas De Marchi ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency 2025-05-27 20:55 ` [PATCH] " Lucas De Marchi @ 2025-05-28 9:34 ` Andy Shevchenko 2025-05-28 10:03 ` Arnd Bergmann 0 siblings, 1 reply; 9+ messages in thread From: Andy Shevchenko @ 2025-05-28 9:34 UTC (permalink / raw) To: Lucas De Marchi Cc: Arnd Bergmann, Thomas Hellström, Rodrigo Vivi, Arnd Bergmann, David Airlie, Simona Vetter, Matthew Brost, Himal Prasad Ghimiray, Imre Deak, Ilpo Järvinen, Michael J. Ruhl, intel-xe, dri-devel, linux-kernel On Tue, May 27, 2025 at 03:55:46PM -0500, Lucas De Marchi wrote: > On Fri, May 23, 2025 at 02:10:46PM +0200, Arnd Bergmann wrote: ... > > + depends on INTEL_PLATFORM_DEVICES || !(X86 && ACPI) > > ^ > Did you mean X86_PLATFORM_DEVICES here? Why do we need to depend on the whole thingy (yes, it will be enabled at the end) if we only talking about Intel? > With that, Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> > > I see several drivers selecting > X86_PLATFORM_DEVICES though. Maybe they should also be translated to > dependencies instead? I think so, selecting that sounds wrong. -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency 2025-05-28 9:34 ` Andy Shevchenko @ 2025-05-28 10:03 ` Arnd Bergmann 2025-05-28 10:16 ` Andy Shevchenko 2025-05-28 10:17 ` Christopher Snowhill 0 siblings, 2 replies; 9+ messages in thread From: Arnd Bergmann @ 2025-05-28 10:03 UTC (permalink / raw) To: Andy Shevchenko, Lucas De Marchi Cc: Arnd Bergmann, Thomas Hellström, Rodrigo Vivi, Dave Airlie, Simona Vetter, Matthew Brost, Himal Prasad Ghimiray, Imre Deak, Ilpo Järvinen, Michael J. Ruhl, intel-xe, dri-devel, linux-kernel On Wed, May 28, 2025, at 11:34, Andy Shevchenko wrote: > On Tue, May 27, 2025 at 03:55:46PM -0500, Lucas De Marchi wrote: >> On Fri, May 23, 2025 at 02:10:46PM +0200, Arnd Bergmann wrote: > > ... > >> > + depends on INTEL_PLATFORM_DEVICES || !(X86 && ACPI) >> >> ^ >> Did you mean X86_PLATFORM_DEVICES here? Yes, my mistake. > Why do we need to depend on the whole thingy (yes, it will be enabled at the > end) if we only talking about Intel? I don't understand what you mean with 'the whole thing'. My change changed the existing 'select X86_PLATFORM_DEVICES if X86 && ACPI' into the corresponding dependency, in order to change it the least. The dependency itself is needed because of select ACPI_WMI if X86 && ACPI and this in turn is needed for select ACPI_VIDEO if X86 && ACPI >> With that, Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> >> >> I see several drivers selecting >> X86_PLATFORM_DEVICES though. Maybe they should also be translated to >> dependencies instead? > > I think so, selecting that sounds wrong. Agreed. Overall, what I'd really like to see is to remove all those 'select' of drivers from other subsystems. I think ACPI_VIDEO is at the center here, and changing all the 'select ACPI_VIDEO if ACPI' instances to 'depends on ACPI_VIDEO || !ACPI_VIDEO' would solve a lot of the recurring dependency loop problems in drivers/gpu/. Actually doing it without regressions is going to be nontrivial though, because any change in this area is likely to trigger another dependency loop somewhere. Arnd ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency 2025-05-28 10:03 ` Arnd Bergmann @ 2025-05-28 10:16 ` Andy Shevchenko 2025-05-28 10:17 ` Christopher Snowhill 1 sibling, 0 replies; 9+ messages in thread From: Andy Shevchenko @ 2025-05-28 10:16 UTC (permalink / raw) To: Arnd Bergmann Cc: Lucas De Marchi, Arnd Bergmann, Thomas Hellström, Rodrigo Vivi, Dave Airlie, Simona Vetter, Matthew Brost, Himal Prasad Ghimiray, Imre Deak, Ilpo Järvinen, Michael J. Ruhl, intel-xe, dri-devel, linux-kernel On Wed, May 28, 2025 at 12:03:43PM +0200, Arnd Bergmann wrote: > On Wed, May 28, 2025, at 11:34, Andy Shevchenko wrote: > > On Tue, May 27, 2025 at 03:55:46PM -0500, Lucas De Marchi wrote: > >> On Fri, May 23, 2025 at 02:10:46PM +0200, Arnd Bergmann wrote: > > > > ... > > > >> > + depends on INTEL_PLATFORM_DEVICES || !(X86 && ACPI) > >> > >> ^ > >> Did you mean X86_PLATFORM_DEVICES here? > > Yes, my mistake. > > > Why do we need to depend on the whole thingy (yes, it will be enabled at the > > end) if we only talking about Intel? > > I don't understand what you mean with 'the whole thing'. My change > changed the existing 'select X86_PLATFORM_DEVICES if X86 && ACPI' > into the corresponding dependency, in order to change it the > least. It used to be (for only one or two releases) X86_PLATFORM_DRIVERS_INTEL, but it doesn't look closer to the mistake above, which I was thinking of. So, Lucas is right. > The dependency itself is needed because of > > select ACPI_WMI if X86 && ACPI > > and this in turn is needed for > > select ACPI_VIDEO if X86 && ACPI > > >> With that, Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> > >> > >> I see several drivers selecting > >> X86_PLATFORM_DEVICES though. Maybe they should also be translated to > >> dependencies instead? > > > > I think so, selecting that sounds wrong. > > Agreed. Overall, what I'd really like to see is to remove > all those 'select' of drivers from other subsystems. Let's start from some low-hanging fruits? > I think > ACPI_VIDEO is at the center here, and changing all the > 'select ACPI_VIDEO if ACPI' instances to > 'depends on ACPI_VIDEO || !ACPI_VIDEO' would solve a lot of > the recurring dependency loop problems in drivers/gpu/. > > Actually doing it without regressions is going to be > nontrivial though, because any change in this area is likely > to trigger another dependency loop somewhere. True and I agree this requires more comprehensive testing. -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency 2025-05-28 10:03 ` Arnd Bergmann 2025-05-28 10:16 ` Andy Shevchenko @ 2025-05-28 10:17 ` Christopher Snowhill 2025-05-28 10:31 ` Andy Shevchenko 1 sibling, 1 reply; 9+ messages in thread From: Christopher Snowhill @ 2025-05-28 10:17 UTC (permalink / raw) To: Arnd Bergmann, Andy Shevchenko, Lucas De Marchi Cc: Arnd Bergmann, Thomas Hellström, Rodrigo Vivi, Dave Airlie, Simona Vetter, Matthew Brost, Himal Prasad Ghimiray, Imre Deak, Ilpo Järvinen, Michael J. Ruhl, intel-xe, dri-devel, linux-kernel, dri-devel On Wed May 28, 2025 at 3:03 AM PDT, Arnd Bergmann wrote: > On Wed, May 28, 2025, at 11:34, Andy Shevchenko wrote: >> On Tue, May 27, 2025 at 03:55:46PM -0500, Lucas De Marchi wrote: >>> On Fri, May 23, 2025 at 02:10:46PM +0200, Arnd Bergmann wrote: >> >> ... >> >>> > + depends on INTEL_PLATFORM_DEVICES || !(X86 && ACPI) >>> >>> ^ >>> Did you mean X86_PLATFORM_DEVICES here? > > Yes, my mistake. > >> Why do we need to depend on the whole thingy (yes, it will be enabled at the >> end) if we only talking about Intel? > > I don't understand what you mean with 'the whole thing'. My change > changed the existing 'select X86_PLATFORM_DEVICES if X86 && ACPI' > into the corresponding dependency, in order to change it the > least. > > The dependency itself is needed because of > > select ACPI_WMI if X86 && ACPI > > and this in turn is needed for > > select ACPI_VIDEO if X86 && ACPI > >>> With that, Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> >>> >>> I see several drivers selecting >>> X86_PLATFORM_DEVICES though. Maybe they should also be translated to >>> dependencies instead? >> >> I think so, selecting that sounds wrong. > > Agreed. Overall, what I'd really like to see is to remove > all those 'select' of drivers from other subsystems. I think > ACPI_VIDEO is at the center here, and changing all the > 'select ACPI_VIDEO if ACPI' instances to > 'depends on ACPI_VIDEO || !ACPI_VIDEO' would solve a lot of Maybe you meant 'depends on ACPI_VIDEO || !ACPI' ? > the recurring dependency loop problems in drivers/gpu/. > > Actually doing it without regressions is going to be > nontrivial though, because any change in this area is likely > to trigger another dependency loop somewhere. > > Arnd ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency 2025-05-28 10:17 ` Christopher Snowhill @ 2025-05-28 10:31 ` Andy Shevchenko 2025-05-28 11:27 ` Arnd Bergmann 0 siblings, 1 reply; 9+ messages in thread From: Andy Shevchenko @ 2025-05-28 10:31 UTC (permalink / raw) To: Christopher Snowhill Cc: Arnd Bergmann, Lucas De Marchi, Arnd Bergmann, Thomas Hellström, Rodrigo Vivi, Dave Airlie, Simona Vetter, Matthew Brost, Himal Prasad Ghimiray, Imre Deak, Ilpo Järvinen, Michael J. Ruhl, intel-xe, dri-devel, linux-kernel, dri-devel On Wed, May 28, 2025 at 03:17:03AM -0700, Christopher Snowhill wrote: > On Wed May 28, 2025 at 3:03 AM PDT, Arnd Bergmann wrote: > > On Wed, May 28, 2025, at 11:34, Andy Shevchenko wrote: > >> On Tue, May 27, 2025 at 03:55:46PM -0500, Lucas De Marchi wrote: > >>> On Fri, May 23, 2025 at 02:10:46PM +0200, Arnd Bergmann wrote: ... > > I think ACPI_VIDEO is at the center here, and changing all the > > 'select ACPI_VIDEO if ACPI' instances to > > 'depends on ACPI_VIDEO || !ACPI_VIDEO' would solve a lot of > > Maybe you meant 'depends on ACPI_VIDEO || !ACPI' ? I believe not. The depends on FOO || FOO=n is idiomatic in Kconfig. > > the recurring dependency loop problems in drivers/gpu/. > > > > Actually doing it without regressions is going to be > > nontrivial though, because any change in this area is likely > > to trigger another dependency loop somewhere. -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency 2025-05-28 10:31 ` Andy Shevchenko @ 2025-05-28 11:27 ` Arnd Bergmann 0 siblings, 0 replies; 9+ messages in thread From: Arnd Bergmann @ 2025-05-28 11:27 UTC (permalink / raw) To: Andy Shevchenko, Christopher Snowhill Cc: Lucas De Marchi, Arnd Bergmann, Thomas Hellström, Rodrigo Vivi, Dave Airlie, Simona Vetter, Matthew Brost, Himal Prasad Ghimiray, Imre Deak, Ilpo Järvinen, Michael J. Ruhl, intel-xe, dri-devel, linux-kernel, dri-devel On Wed, May 28, 2025, at 12:31, Andy Shevchenko wrote: > On Wed, May 28, 2025 at 03:17:03AM -0700, Christopher Snowhill wrote: >> On Wed May 28, 2025 at 3:03 AM PDT, Arnd Bergmann wrote: >> > On Wed, May 28, 2025, at 11:34, Andy Shevchenko wrote: >> >> On Tue, May 27, 2025 at 03:55:46PM -0500, Lucas De Marchi wrote: >> > I think ACPI_VIDEO is at the center here, and changing all the >> > 'select ACPI_VIDEO if ACPI' instances to >> > 'depends on ACPI_VIDEO || !ACPI_VIDEO' would solve a lot of >> >> Maybe you meant 'depends on ACPI_VIDEO || !ACPI' ? > > I believe not. The depends on FOO || FOO=n is idiomatic in Kconfig. It depends on what we want here. 'ACPI_VIDEO || !ACPI' would be the direct equivalent of the existing 'select ACPI_VIDEO if ACPI', while 'ACPI_VIDEO || !ACPI_VIDEO' would allow building with ACPI=y and ACPI_VIDEO=n, which is not possible today. I'd probably start with the version that Christopher suggested to have a lower regression risk. Arnd ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-05-28 11:28 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-05-23 12:10 [PATCH] drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency Arnd Bergmann 2025-05-23 13:45 ` ✗ CI.Patch_applied: failure for " Patchwork 2025-05-27 20:55 ` [PATCH] " Lucas De Marchi 2025-05-28 9:34 ` Andy Shevchenko 2025-05-28 10:03 ` Arnd Bergmann 2025-05-28 10:16 ` Andy Shevchenko 2025-05-28 10:17 ` Christopher Snowhill 2025-05-28 10:31 ` Andy Shevchenko 2025-05-28 11:27 ` Arnd Bergmann
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox