drivers/gpu/drm/xe/Kconfig | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
Fix Kconfig symbol dependency on KUNIT, which isn't actually required
for XE to be built-in. However, if KUNIT is enabled, it must be built-in
too.
Also, allow DRM_XE_DISPLAY to be built-in. But only as long as DRM_I915
isn't, since that results in duplicate symbol errors.
Fixes: 08987a8b6820 ("drm/xe: Fix build with KUNIT=m")
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Signed-off-by: Harry Austen <hpausten@protonmail.com>
---
v3: Simplify KUNIT dependency, as suggested by Jani Nikula
v2: Ensure DRM_XE_DISPLAY and DRM_I915 can't both be built-in
drivers/gpu/drm/xe/Kconfig | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/xe/Kconfig b/drivers/gpu/drm/xe/Kconfig
index 9bce047901b22..214f40264fa12 100644
--- a/drivers/gpu/drm/xe/Kconfig
+++ b/drivers/gpu/drm/xe/Kconfig
@@ -1,7 +1,8 @@
# SPDX-License-Identifier: GPL-2.0-only
config DRM_XE
tristate "Intel Xe Graphics"
- depends on DRM && PCI && MMU && (m || (y && KUNIT=y))
+ depends on DRM && PCI && MMU
+ depends on KUNIT || KUNIT=n
select INTERVAL_TREE
# we need shmfs for the swappable backing store, and in particular
# the shmem_readpage() which depends upon tmpfs
@@ -51,7 +52,7 @@ config DRM_XE
config DRM_XE_DISPLAY
bool "Enable display support"
- depends on DRM_XE && DRM_XE=m && HAS_IOPORT
+ depends on DRM_XE && (DRM_XE=m || DRM_I915!=y) && HAS_IOPORT
select FB_IOMEM_HELPERS if DRM_FBDEV_EMULATION
select I2C
select I2C_ALGOBIT
--
2.49.0
On Fri, 25 Apr 2025, Harry Austen <hpausten@protonmail.com> wrote:
> Fix Kconfig symbol dependency on KUNIT, which isn't actually required
> for XE to be built-in. However, if KUNIT is enabled, it must be built-in
> too.
>
> Also, allow DRM_XE_DISPLAY to be built-in. But only as long as DRM_I915
> isn't, since that results in duplicate symbol errors.
>
> Fixes: 08987a8b6820 ("drm/xe: Fix build with KUNIT=m")
> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Signed-off-by: Harry Austen <hpausten@protonmail.com>
I didn't test this, but it makes sense to me.
Acked-by: Jani Nikula <jani.nikula@intel.com>
> ---
> v3: Simplify KUNIT dependency, as suggested by Jani Nikula
> v2: Ensure DRM_XE_DISPLAY and DRM_I915 can't both be built-in
>
> drivers/gpu/drm/xe/Kconfig | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/Kconfig b/drivers/gpu/drm/xe/Kconfig
> index 9bce047901b22..214f40264fa12 100644
> --- a/drivers/gpu/drm/xe/Kconfig
> +++ b/drivers/gpu/drm/xe/Kconfig
> @@ -1,7 +1,8 @@
> # SPDX-License-Identifier: GPL-2.0-only
> config DRM_XE
> tristate "Intel Xe Graphics"
> - depends on DRM && PCI && MMU && (m || (y && KUNIT=y))
> + depends on DRM && PCI && MMU
> + depends on KUNIT || KUNIT=n
> select INTERVAL_TREE
> # we need shmfs for the swappable backing store, and in particular
> # the shmem_readpage() which depends upon tmpfs
> @@ -51,7 +52,7 @@ config DRM_XE
>
> config DRM_XE_DISPLAY
> bool "Enable display support"
> - depends on DRM_XE && DRM_XE=m && HAS_IOPORT
> + depends on DRM_XE && (DRM_XE=m || DRM_I915!=y) && HAS_IOPORT
> select FB_IOMEM_HELPERS if DRM_FBDEV_EMULATION
> select I2C
> select I2C_ALGOBIT
--
Jani Nikula, Intel
On Tue, Apr 29, 2025 at 02:56:51PM +0300, Jani Nikula wrote:
>On Fri, 25 Apr 2025, Harry Austen <hpausten@protonmail.com> wrote:
>> Fix Kconfig symbol dependency on KUNIT, which isn't actually required
>> for XE to be built-in. However, if KUNIT is enabled, it must be built-in
>> too.
>>
>> Also, allow DRM_XE_DISPLAY to be built-in. But only as long as DRM_I915
>> isn't, since that results in duplicate symbol errors.
>>
>> Fixes: 08987a8b6820 ("drm/xe: Fix build with KUNIT=m")
>> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>> Cc: Jani Nikula <jani.nikula@linux.intel.com>
>> Signed-off-by: Harry Austen <hpausten@protonmail.com>
>
>I didn't test this, but it makes sense to me.
>
>Acked-by: Jani Nikula <jani.nikula@intel.com>
humn... but the end result is very odd: from my current config with DRM_XE=m,
DRM_XE_DISPLAY=y, DRM_I915=m. I then select DRM_I915=y and it (silently)
set DRM_XE_DISPLAY=n. So this would now be forbidden with no warning:
CONFIG_DRM_I915=y
CONFIG_DRM_XE=m
CONFIG_DRM_XE_DISPLAY=y
Considering some distros have DRM_I915 as builtin, I don't think
that is a good outcome: it would basically block using display in xe and
a "make olddefconfig" would break. I think we really need to start
spliting the module and move the conflicting symbols.
Lucas De Marchi
On Wed, 30 Apr 2025, Lucas De Marchi <lucas.demarchi@intel.com> wrote: > I think we really need to start spliting the module and move the > conflicting symbols. Start? I've been working on it for more than a year now. BR, Jani. -- Jani Nikula, Intel
© 2016 - 2026 Red Hat, Inc.