Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* linux-next: build failure after merge of the drm-xe tree
@ 2024-02-22  8:04 Stephen Rothwell
  2024-02-22 17:09 ` Lucas De Marchi
  0 siblings, 1 reply; 17+ messages in thread
From: Stephen Rothwell @ 2024-02-22  8:04 UTC (permalink / raw)
  To: Lucas De Marchi, Oded Gabbay, Thomas Hellström, DRM XE List
  Cc: Yury Norov, Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 1048 bytes --]

Hi all,

After merging the drm-xe tree, today's linux-next build (arm64 defconfig)
failed like this:

arch/arm64/kvm/hyp/nvhe/hyp-init.S: Assembler messages:
arch/arm64/kvm/hyp/nvhe/hyp-init.S:557: Error: found 'l', expected: ')'
arch/arm64/kvm/hyp/nvhe/hyp-init.S:29:  Info: macro invoked from here
arch/arm64/kvm/hyp/nvhe/hyp-init.S:221:   Info: macro invoked from here
arch/arm64/kvm/hyp/nvhe/hyp-init.S:557: Error: non-constant expression in ".if" statement
arch/arm64/kvm/hyp/nvhe/hyp-init.S:557: Error: junk at end of line, first unrecognized character is `l'
arch/arm64/kvm/hyp/nvhe/hyp-init.S:560: Error: found 'l', expected: ')'
arch/arm64/kvm/hyp/nvhe/hyp-init.S:560: Error: non-constant expression in ".if" statement
arch/arm64/kvm/hyp/nvhe/hyp-init.S:560: Error: junk at end of line, first unrecognized character is `l'

and many, many more.

Bisected to commit

  b77cb9640f1f ("bits: introduce fixed-type genmasks")

I have reverted that commit (and the following 2) for today.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: linux-next: build failure after merge of the drm-xe tree
  2024-02-22  8:04 Stephen Rothwell
@ 2024-02-22 17:09 ` Lucas De Marchi
  0 siblings, 0 replies; 17+ messages in thread
From: Lucas De Marchi @ 2024-02-22 17:09 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Oded Gabbay, Thomas Hellström, DRM XE List, Yury Norov,
	Linux Kernel Mailing List, Linux Next Mailing List

On Thu, Feb 22, 2024 at 07:04:48PM +1100, Stephen Rothwell wrote:
>Hi all,
>
>After merging the drm-xe tree, today's linux-next build (arm64 defconfig)
>failed like this:
>
>arch/arm64/kvm/hyp/nvhe/hyp-init.S: Assembler messages:
>arch/arm64/kvm/hyp/nvhe/hyp-init.S:557: Error: found 'l', expected: ')'
>arch/arm64/kvm/hyp/nvhe/hyp-init.S:29:  Info: macro invoked from here
>arch/arm64/kvm/hyp/nvhe/hyp-init.S:221:   Info: macro invoked from here
>arch/arm64/kvm/hyp/nvhe/hyp-init.S:557: Error: non-constant expression in ".if" statement
>arch/arm64/kvm/hyp/nvhe/hyp-init.S:557: Error: junk at end of line, first unrecognized character is `l'
>arch/arm64/kvm/hyp/nvhe/hyp-init.S:560: Error: found 'l', expected: ')'
>arch/arm64/kvm/hyp/nvhe/hyp-init.S:560: Error: non-constant expression in ".if" statement
>arch/arm64/kvm/hyp/nvhe/hyp-init.S:560: Error: junk at end of line, first unrecognized character is `l'
>
>and many, many more.
>
>Bisected to commit
>
>  b77cb9640f1f ("bits: introduce fixed-type genmasks")
>
>I have reverted that commit (and the following 2) for today.

those commits were already removed from our branch due to those issues.
New fixed version of them should appear through the new bitmap tree
maintained by Yury.

Sorry for the noise they caused and thanks.

Lucas De Marchi

>
>-- 
>Cheers,
>Stephen Rothwell



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

* linux-next: build failure after merge of the drm-xe tree
@ 2024-10-01  1:38 Stephen Rothwell
  0 siblings, 0 replies; 17+ messages in thread
From: Stephen Rothwell @ 2024-10-01  1:38 UTC (permalink / raw)
  To: Lucas De Marchi, Thomas Hellström, Simona Vetter,
	Jani Nikula, Joonas Lahtinen, Rodrigo Vivi
  Cc: Ville Syrjälä, Maarten Lankhorst, Intel Graphics, DRI,
	DRM XE List, Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 2026 bytes --]

Hi all,

After merging the drm-xe tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/gpu/drm/xe/display/xe_display.c: In function 'xe_display_pm_shutdown':
drivers/gpu/drm/xe/display/xe_display.c:382:27: error: passing argument 1 of 'intel_dmc_suspend' from incompatible pointer type [-Wincompatible-pointer-types]
  382 |         intel_dmc_suspend(xe);
      |                           ^~
      |                           |
      |                           struct xe_device *
In file included from drivers/gpu/drm/xe/display/xe_display.c:24:
drivers/gpu/drm/i915/display/intel_dmc.h:22:46: note: expected 'struct intel_display *' but argument is of type 'struct xe_device *'
   22 | void intel_dmc_suspend(struct intel_display *display);
      |                        ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~

Caused by commit

  501d799a47e2 ("drm/xe: Wire up device shutdown handler")

interacting with commit

  5c30cfa295cc ("drm/i915/dmc: Convert DMC code to intel_display")

from the drm-intel tree.

I have applied the following merge fix patch for today.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Tue, 1 Oct 2024 11:30:00 +1000
Subject: [PATCH] fix up for "drm/xe: Wire up device shutdown handler"

interacting with commit

  5c30cfa295cc ("drm/i915/dmc: Convert DMC code to intel_display")

from the drm-intel tree.
---
 drivers/gpu/drm/xe/display/xe_display.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
index 957ae763531d..ca00a365080f 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -379,7 +379,7 @@ void xe_display_pm_shutdown(struct xe_device *xe)
 
 	intel_opregion_suspend(display, PCI_D3cold);
 
-	intel_dmc_suspend(xe);
+	intel_dmc_suspend(display);
 }
 
 void xe_display_pm_runtime_suspend(struct xe_device *xe)
-- 
2.45.2

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* linux-next: build failure after merge of the drm-xe tree
@ 2024-12-04 13:36 Mark Brown
  2024-12-04 13:46 ` Jani Nikula
  0 siblings, 1 reply; 17+ messages in thread
From: Mark Brown @ 2024-12-04 13:36 UTC (permalink / raw)
  To: Lucas De Marchi, Thomas Hellström, DRM XE List
  Cc: Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 1510 bytes --]

Hi all,

After merging the drm-xe tree, today's linux-next build (x86
allmodconfig) failed like this:

In file included from /tmp/next/build/include/linux/module.h:22,
                 from /tmp/next/build/include/linux/device/driver.h:21,
                 from /tmp/next/build/include/linux/device.h:32,
                 from /tmp/next/build/include/linux/auxiliary_bus.h:11,
                 from /tmp/next/build/include/linux/intel_vsec.h:5,
                 from /tmp/next/build/drivers/gpu/drm/xe/xe_vsec.c:7:
/tmp/next/build/drivers/gpu/drm/xe/xe_vsec.c:233:18: error: expected ',' or ';' before 'INTEL_VSEC'
  233 | MODULE_IMPORT_NS(INTEL_VSEC);
      |                  ^~~~~~~~~~
/tmp/next/build/include/linux/moduleparam.h:26:61: note: in definition of macro '__MODULE_INFO'
   26 |                 = __MODULE_INFO_PREFIX __stringify(tag) "=" info
      |                                                             ^~~~
/tmp/next/build/include/linux/module.h:299:33: note: in expansion of macro 'MODULE_INFO'
  299 | #define MODULE_IMPORT_NS(ns)    MODULE_INFO(import_ns, ns)
      |                                 ^~~~~~~~~~~
/tmp/next/build/drivers/gpu/drm/xe/xe_vsec.c:233:1: note: in expansion of macro 'MODULE_IMPORT_NS'
  233 | MODULE_IMPORT_NS(INTEL_VSEC);
      | ^~~~~~~~~~~~~~~~

You need to merge up cdd30ebb1b9f36159d66f088b61aee264e649d7a ("module:
Convert symbol namespace to string literal") from mainline and fix up
for the changes in MODULE_IMPORT_NS.  I'll apply a fixup for now.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: linux-next: build failure after merge of the drm-xe tree
  2024-12-04 13:36 Mark Brown
@ 2024-12-04 13:46 ` Jani Nikula
  2024-12-04 14:18   ` Mark Brown
  0 siblings, 1 reply; 17+ messages in thread
From: Jani Nikula @ 2024-12-04 13:46 UTC (permalink / raw)
  To: Mark Brown, Lucas De Marchi, Thomas Hellström, DRM XE List
  Cc: Linux Kernel Mailing List, Linux Next Mailing List, Dave Airlie,
	Simona Vetter

On Wed, 04 Dec 2024, Mark Brown <broonie@kernel.org> wrote:
> Hi all,
>
> After merging the drm-xe tree, today's linux-next build (x86
> allmodconfig) failed like this:
>
> In file included from /tmp/next/build/include/linux/module.h:22,
>                  from /tmp/next/build/include/linux/device/driver.h:21,
>                  from /tmp/next/build/include/linux/device.h:32,
>                  from /tmp/next/build/include/linux/auxiliary_bus.h:11,
>                  from /tmp/next/build/include/linux/intel_vsec.h:5,
>                  from /tmp/next/build/drivers/gpu/drm/xe/xe_vsec.c:7:
> /tmp/next/build/drivers/gpu/drm/xe/xe_vsec.c:233:18: error: expected ',' or ';' before 'INTEL_VSEC'
>   233 | MODULE_IMPORT_NS(INTEL_VSEC);
>       |                  ^~~~~~~~~~
> /tmp/next/build/include/linux/moduleparam.h:26:61: note: in definition of macro '__MODULE_INFO'
>    26 |                 = __MODULE_INFO_PREFIX __stringify(tag) "=" info
>       |                                                             ^~~~
> /tmp/next/build/include/linux/module.h:299:33: note: in expansion of macro 'MODULE_INFO'
>   299 | #define MODULE_IMPORT_NS(ns)    MODULE_INFO(import_ns, ns)
>       |                                 ^~~~~~~~~~~
> /tmp/next/build/drivers/gpu/drm/xe/xe_vsec.c:233:1: note: in expansion of macro 'MODULE_IMPORT_NS'
>   233 | MODULE_IMPORT_NS(INTEL_VSEC);
>       | ^~~~~~~~~~~~~~~~
>
> You need to merge up cdd30ebb1b9f36159d66f088b61aee264e649d7a ("module:
> Convert symbol namespace to string literal") from mainline and fix up
> for the changes in MODULE_IMPORT_NS.  I'll apply a fixup for now.

Commit cdd30ebb1b9f ("module: Convert symbol namespace to string
literal") isn't even in a tagged release yet. We'll get it when -rc1 is
out *and* backmerged to drm-next.

BR,
Jani.

-- 
Jani Nikula, Intel

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

* Re: linux-next: build failure after merge of the drm-xe tree
  2024-12-04 13:46 ` Jani Nikula
@ 2024-12-04 14:18   ` Mark Brown
  0 siblings, 0 replies; 17+ messages in thread
From: Mark Brown @ 2024-12-04 14:18 UTC (permalink / raw)
  To: Jani Nikula
  Cc: Lucas De Marchi, Thomas Hellström, DRM XE List,
	Linux Kernel Mailing List, Linux Next Mailing List, Dave Airlie,
	Simona Vetter

[-- Attachment #1: Type: text/plain, Size: 552 bytes --]

On Wed, Dec 04, 2024 at 03:46:21PM +0200, Jani Nikula wrote:
> On Wed, 04 Dec 2024, Mark Brown <broonie@kernel.org> wrote:

> > You need to merge up cdd30ebb1b9f36159d66f088b61aee264e649d7a ("module:
> > Convert symbol namespace to string literal") from mainline and fix up
> > for the changes in MODULE_IMPORT_NS.  I'll apply a fixup for now.

> Commit cdd30ebb1b9f ("module: Convert symbol namespace to string
> literal") isn't even in a tagged release yet. We'll get it when -rc1 is
> out *and* backmerged to drm-next.

Yes, it's very disruptive :(

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* linux-next: build failure after merge of the drm-xe tree
@ 2025-03-07  1:58 Stephen Rothwell
  2025-03-11  2:13 ` Stephen Rothwell
  0 siblings, 1 reply; 17+ messages in thread
From: Stephen Rothwell @ 2025-03-07  1:58 UTC (permalink / raw)
  To: Lucas De Marchi, Thomas Hellström, Andrew Morton
  Cc: Matthew Brost, Alistair Popple, Balbir Singh, DRM XE List,
	Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 2058 bytes --]

Hi all,

After merging the drm-xe tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/gpu/drm/drm_gpusvm.c: In function 'drm_gpusvm_range_get_pages':
drivers/gpu/drm/drm_gpusvm.c:1404:44: error: 'struct page' has no member named 'pgmap'
 1404 |                         if (pagemap != page->pgmap) {
      |                                            ^~
drivers/gpu/drm/drm_gpusvm.c:1410:47: error: 'struct page' has no member named 'pgmap'
 1410 |                                 pagemap = page->pgmap;
      |                                               ^~

Caused by commit

  99624bdff867 ("drm/gpusvm: Add support for GPU Shared Virtual Memory")

interacting with commit

  089b22f60a0f ("mm: allow compound zone device pages")

from the mm-unstable branch of the mm tree.

I have applied the following merge fix patch for today.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 7 Mar 2025 12:48:32 +1100
Subject: [PATCH] fix up for "drm/gpusvm: Add support for GPU Shared Virtual
 Memory"

interacting with commit

  089b22f60a0f ("mm: allow compound zone device pages")

from the mm-unstable branch of the mm tree.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/gpu/drm/drm_gpusvm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/drm_gpusvm.c b/drivers/gpu/drm/drm_gpusvm.c
index f314f5c4af0f..5e9b18ce65f8 100644
--- a/drivers/gpu/drm/drm_gpusvm.c
+++ b/drivers/gpu/drm/drm_gpusvm.c
@@ -1401,13 +1401,13 @@ int drm_gpusvm_range_get_pages(struct drm_gpusvm *gpusvm,
 				goto err_unmap;
 			}
 			zdd = page->zone_device_data;
-			if (pagemap != page->pgmap) {
+			if (pagemap != page_pgmap(page)) {
 				if (i > 0) {
 					err = -EOPNOTSUPP;
 					goto err_unmap;
 				}
 
-				pagemap = page->pgmap;
+				pagemap = page_pgmap(page);
 				dpagemap = zdd->devmem_allocation->dpagemap;
 				if (drm_WARN_ON(gpusvm->drm, !dpagemap)) {
 					/*
-- 
2.45.2

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* linux-next: build failure after merge of the drm-xe tree
@ 2025-03-07  2:21 Stephen Rothwell
  2025-03-11  2:15 ` Stephen Rothwell
  0 siblings, 1 reply; 17+ messages in thread
From: Stephen Rothwell @ 2025-03-07  2:21 UTC (permalink / raw)
  To: Lucas De Marchi, Thomas Hellström, Andrew Morton
  Cc: Alistair Popple, Balbir Singh, Matthew Brost, DRM XE List,
	Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 6028 bytes --]

Hi all,

After merging the drm-xe tree, today's linux-next build (x86_64
allmodconfig) failed like this:

In file included from include/linux/kernel.h:22,
                 from include/linux/cpumask.h:11,
                 from arch/x86/include/asm/paravirt.h:21,
                 from arch/x86/include/asm/irqflags.h:80,
                 from include/linux/irqflags.h:18,
                 from include/linux/spinlock.h:59,
                 from include/linux/mmzone.h:8,
                 from include/linux/gfp.h:7,
                 from include/linux/mm.h:7,
                 from include/linux/pagemap.h:8,
                 from include/drm/ttm/ttm_tt.h:30,
                 from drivers/gpu/drm/xe/xe_bo.h:9,
                 from drivers/gpu/drm/xe/xe_svm.c:6:
drivers/gpu/drm/xe/xe_svm.c: In function 'page_to_vr':
drivers/gpu/drm/xe/xe_svm.c:344:33: error: 'struct page' has no member named 'pgmap'
  344 |         return container_of(page->pgmap, struct xe_vram_region, pagemap);
      |                                 ^~
include/linux/container_of.h:19:33: note: in definition of macro 'container_of'
   19 |         void *__mptr = (void *)(ptr);                                   \
      |                                 ^~~
In file included from include/linux/init.h:5,
                 from include/linux/printk.h:6,
                 from include/asm-generic/bug.h:22,
                 from arch/x86/include/asm/bug.h:99,
                 from include/linux/bug.h:5,
                 from include/linux/mmdebug.h:5,
                 from include/linux/mm.h:6:
drivers/gpu/drm/xe/xe_svm.c:344:33: error: 'struct page' has no member named 'pgmap'
  344 |         return container_of(page->pgmap, struct xe_vram_region, pagemap);
      |                                 ^~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
   78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
      |                                                        ^~~~
include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert'
   20 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
      |         ^~~~~~~~~~~~~
include/linux/container_of.h:20:23: note: in expansion of macro '__same_type'
   20 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
      |                       ^~~~~~~~~~~
drivers/gpu/drm/xe/xe_svm.c:344:16: note: in expansion of macro 'container_of'
  344 |         return container_of(page->pgmap, struct xe_vram_region, pagemap);
      |                ^~~~~~~~~~~~
drivers/gpu/drm/xe/xe_svm.c:344:33: error: 'struct page' has no member named 'pgmap'
  344 |         return container_of(page->pgmap, struct xe_vram_region, pagemap);
      |                                 ^~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
   78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
      |                                                        ^~~~
include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert'
   20 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
      |         ^~~~~~~~~~~~~
include/linux/container_of.h:21:23: note: in expansion of macro '__same_type'
   21 |                       __same_type(*(ptr), void),                        \
      |                       ^~~~~~~~~~~
drivers/gpu/drm/xe/xe_svm.c:344:16: note: in expansion of macro 'container_of'
  344 |         return container_of(page->pgmap, struct xe_vram_region, pagemap);
      |                ^~~~~~~~~~~~
include/linux/compiler_types.h:483:27: error: expression in static assertion is not an integer
  483 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
   78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
      |                                                        ^~~~
include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert'
   20 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
      |         ^~~~~~~~~~~~~
include/linux/container_of.h:20:23: note: in expansion of macro '__same_type'
   20 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
      |                       ^~~~~~~~~~~
drivers/gpu/drm/xe/xe_svm.c:344:16: note: in expansion of macro 'container_of'
  344 |         return container_of(page->pgmap, struct xe_vram_region, pagemap);
      |                ^~~~~~~~~~~~

Caused by commit

  11bbe0d9aa96 ("drm/xe: Add drm_pagemap ops to SVM")

interacting with commit

  089b22f60a0f ("mm: allow compound zone device pages")

from the mm-unstable branch of the mm tree.

I have applied the following merge fix patch for today

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 7 Mar 2025 13:14:37 +1100
Subject: [PATCH] fixup for "drm/xe: Add drm_pagemap ops to SVM"

  089b22f60a0f ("mm: allow compound zone device pages")

from the mm-unstable branch of the mm tree.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/gpu/drm/xe/xe_svm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c
index 516898e99b26..3e829c87d7b4 100644
--- a/drivers/gpu/drm/xe/xe_svm.c
+++ b/drivers/gpu/drm/xe/xe_svm.c
@@ -341,7 +341,7 @@ static void xe_svm_garbage_collector_work_func(struct work_struct *w)
 
 static struct xe_vram_region *page_to_vr(struct page *page)
 {
-	return container_of(page->pgmap, struct xe_vram_region, pagemap);
+	return container_of(page_pgmap(page), struct xe_vram_region, pagemap);
 }
 
 static struct xe_tile *vr_to_tile(struct xe_vram_region *vr)
-- 
2.45.2

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: linux-next: build failure after merge of the drm-xe tree
  2025-03-07  1:58 Stephen Rothwell
@ 2025-03-11  2:13 ` Stephen Rothwell
  0 siblings, 0 replies; 17+ messages in thread
From: Stephen Rothwell @ 2025-03-11  2:13 UTC (permalink / raw)
  To: Andrew Morton, Dave Airlie
  Cc: Lucas De Marchi, Thomas Hellström, Matthew Brost,
	Alistair Popple, Balbir Singh, DRM XE List,
	Linux Kernel Mailing List, Linux Next Mailing List, DRI

[-- Attachment #1: Type: text/plain, Size: 2338 bytes --]

Hi all,

On Fri, 7 Mar 2025 12:58:03 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> After merging the drm-xe tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> drivers/gpu/drm/drm_gpusvm.c: In function 'drm_gpusvm_range_get_pages':
> drivers/gpu/drm/drm_gpusvm.c:1404:44: error: 'struct page' has no member named 'pgmap'
>  1404 |                         if (pagemap != page->pgmap) {
>       |                                            ^~
> drivers/gpu/drm/drm_gpusvm.c:1410:47: error: 'struct page' has no member named 'pgmap'
>  1410 |                                 pagemap = page->pgmap;
>       |                                               ^~
> 
> Caused by commit
> 
>   99624bdff867 ("drm/gpusvm: Add support for GPU Shared Virtual Memory")
> 
> interacting with commit
> 
>   089b22f60a0f ("mm: allow compound zone device pages")
> 
> from the mm-unstable branch of the mm tree.
> 
> I have applied the following merge fix patch for today.
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Fri, 7 Mar 2025 12:48:32 +1100
> Subject: [PATCH] fix up for "drm/gpusvm: Add support for GPU Shared Virtual
>  Memory"
> 
> interacting with commit
> 
>   089b22f60a0f ("mm: allow compound zone device pages")
> 
> from the mm-unstable branch of the mm tree.
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  drivers/gpu/drm/drm_gpusvm.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_gpusvm.c b/drivers/gpu/drm/drm_gpusvm.c
> index f314f5c4af0f..5e9b18ce65f8 100644
> --- a/drivers/gpu/drm/drm_gpusvm.c
> +++ b/drivers/gpu/drm/drm_gpusvm.c
> @@ -1401,13 +1401,13 @@ int drm_gpusvm_range_get_pages(struct drm_gpusvm *gpusvm,
>  				goto err_unmap;
>  			}
>  			zdd = page->zone_device_data;
> -			if (pagemap != page->pgmap) {
> +			if (pagemap != page_pgmap(page)) {
>  				if (i > 0) {
>  					err = -EOPNOTSUPP;
>  					goto err_unmap;
>  				}
>  
> -				pagemap = page->pgmap;
> +				pagemap = page_pgmap(page);
>  				dpagemap = zdd->devmem_allocation->dpagemap;
>  				if (drm_WARN_ON(gpusvm->drm, !dpagemap)) {
>  					/*
> -- 
> 2.45.2

This is now a semantic conflict between the mm tree and the drm tree.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: linux-next: build failure after merge of the drm-xe tree
  2025-03-07  2:21 Stephen Rothwell
@ 2025-03-11  2:15 ` Stephen Rothwell
  0 siblings, 0 replies; 17+ messages in thread
From: Stephen Rothwell @ 2025-03-11  2:15 UTC (permalink / raw)
  To: Andrew Morton, Dave Airlie
  Cc: Lucas De Marchi, Thomas Hellström, Alistair Popple,
	Balbir Singh, Matthew Brost, DRM XE List,
	Linux Kernel Mailing List, Linux Next Mailing List, DRI

[-- Attachment #1: Type: text/plain, Size: 6437 bytes --]

Hi Stephen,

On Fri, 7 Mar 2025 13:21:12 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Hi all,
> 
> After merging the drm-xe tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> In file included from include/linux/kernel.h:22,
>                  from include/linux/cpumask.h:11,
>                  from arch/x86/include/asm/paravirt.h:21,
>                  from arch/x86/include/asm/irqflags.h:80,
>                  from include/linux/irqflags.h:18,
>                  from include/linux/spinlock.h:59,
>                  from include/linux/mmzone.h:8,
>                  from include/linux/gfp.h:7,
>                  from include/linux/mm.h:7,
>                  from include/linux/pagemap.h:8,
>                  from include/drm/ttm/ttm_tt.h:30,
>                  from drivers/gpu/drm/xe/xe_bo.h:9,
>                  from drivers/gpu/drm/xe/xe_svm.c:6:
> drivers/gpu/drm/xe/xe_svm.c: In function 'page_to_vr':
> drivers/gpu/drm/xe/xe_svm.c:344:33: error: 'struct page' has no member named 'pgmap'
>   344 |         return container_of(page->pgmap, struct xe_vram_region, pagemap);
>       |                                 ^~
> include/linux/container_of.h:19:33: note: in definition of macro 'container_of'
>    19 |         void *__mptr = (void *)(ptr);                                   \
>       |                                 ^~~
> In file included from include/linux/init.h:5,
>                  from include/linux/printk.h:6,
>                  from include/asm-generic/bug.h:22,
>                  from arch/x86/include/asm/bug.h:99,
>                  from include/linux/bug.h:5,
>                  from include/linux/mmdebug.h:5,
>                  from include/linux/mm.h:6:
> drivers/gpu/drm/xe/xe_svm.c:344:33: error: 'struct page' has no member named 'pgmap'
>   344 |         return container_of(page->pgmap, struct xe_vram_region, pagemap);
>       |                                 ^~
> include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
>    78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
>       |                                                        ^~~~
> include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert'
>    20 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
>       |         ^~~~~~~~~~~~~
> include/linux/container_of.h:20:23: note: in expansion of macro '__same_type'
>    20 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
>       |                       ^~~~~~~~~~~
> drivers/gpu/drm/xe/xe_svm.c:344:16: note: in expansion of macro 'container_of'
>   344 |         return container_of(page->pgmap, struct xe_vram_region, pagemap);
>       |                ^~~~~~~~~~~~
> drivers/gpu/drm/xe/xe_svm.c:344:33: error: 'struct page' has no member named 'pgmap'
>   344 |         return container_of(page->pgmap, struct xe_vram_region, pagemap);
>       |                                 ^~
> include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
>    78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
>       |                                                        ^~~~
> include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert'
>    20 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
>       |         ^~~~~~~~~~~~~
> include/linux/container_of.h:21:23: note: in expansion of macro '__same_type'
>    21 |                       __same_type(*(ptr), void),                        \
>       |                       ^~~~~~~~~~~
> drivers/gpu/drm/xe/xe_svm.c:344:16: note: in expansion of macro 'container_of'
>   344 |         return container_of(page->pgmap, struct xe_vram_region, pagemap);
>       |                ^~~~~~~~~~~~
> include/linux/compiler_types.h:483:27: error: expression in static assertion is not an integer
>   483 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
>       |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
>    78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
>       |                                                        ^~~~
> include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert'
>    20 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
>       |         ^~~~~~~~~~~~~
> include/linux/container_of.h:20:23: note: in expansion of macro '__same_type'
>    20 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
>       |                       ^~~~~~~~~~~
> drivers/gpu/drm/xe/xe_svm.c:344:16: note: in expansion of macro 'container_of'
>   344 |         return container_of(page->pgmap, struct xe_vram_region, pagemap);
>       |                ^~~~~~~~~~~~
> 
> Caused by commit
> 
>   11bbe0d9aa96 ("drm/xe: Add drm_pagemap ops to SVM")
> 
> interacting with commit
> 
>   089b22f60a0f ("mm: allow compound zone device pages")
> 
> from the mm-unstable branch of the mm tree.
> 
> I have applied the following merge fix patch for today
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Fri, 7 Mar 2025 13:14:37 +1100
> Subject: [PATCH] fixup for "drm/xe: Add drm_pagemap ops to SVM"
> 
>   089b22f60a0f ("mm: allow compound zone device pages")
> 
> from the mm-unstable branch of the mm tree.
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  drivers/gpu/drm/xe/xe_svm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c
> index 516898e99b26..3e829c87d7b4 100644
> --- a/drivers/gpu/drm/xe/xe_svm.c
> +++ b/drivers/gpu/drm/xe/xe_svm.c
> @@ -341,7 +341,7 @@ static void xe_svm_garbage_collector_work_func(struct work_struct *w)
>  
>  static struct xe_vram_region *page_to_vr(struct page *page)
>  {
> -	return container_of(page->pgmap, struct xe_vram_region, pagemap);
> +	return container_of(page_pgmap(page), struct xe_vram_region, pagemap);
>  }
>  
>  static struct xe_tile *vr_to_tile(struct xe_vram_region *vr)
> -- 
> 2.45.2

This is now a semantic conflict between the mm tree and the drm tree.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* linux-next: build failure after merge of the drm-xe tree
@ 2026-06-03 14:02 Mark Brown
  2026-06-04 14:35 ` Mark Brown
  0 siblings, 1 reply; 17+ messages in thread
From: Mark Brown @ 2026-06-03 14:02 UTC (permalink / raw)
  To: Thomas Hellström, DRM XE List, Gustavo Sousa, Violet Monti,
	Matt Roper
  Cc: Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 479 bytes --]

Hi all,

After merging the drm-xe tree, today's linux-next build (x86_64
allmodconfig) failed.  Unfortunately I fat fingered things and deleted
the logs, assuming the issue remains I'll report proprely tomorrow.  I'm
fairly sure the issue was due to:

  5ff004fdc7377 (drm/xe/rtp: Add struct types for RTP tables)

with some of the fields in rtp_to_sr_cases[] haiving non-const values.
Sorry about the lack of clarity here.

I have merged the version from next-20260602 instead.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: linux-next: build failure after merge of the drm-xe tree
  2026-06-03 14:02 linux-next: build failure after merge of the drm-xe tree Mark Brown
@ 2026-06-04 14:35 ` Mark Brown
  2026-06-04 14:43   ` Thomas Hellström
  0 siblings, 1 reply; 17+ messages in thread
From: Mark Brown @ 2026-06-04 14:35 UTC (permalink / raw)
  To: Thomas Hellström, DRM XE List, Gustavo Sousa, Violet Monti,
	Matt Roper
  Cc: Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 4635 bytes --]

On Wed, Jun 03, 2026 at 03:02:08PM +0100, Mark Brown wrote:
> Hi all,
> 
> After merging the drm-xe tree, today's linux-next build (x86_64
> allmodconfig) failed.  Unfortunately I fat fingered things and deleted
> the logs, assuming the issue remains I'll report proprely tomorrow.  I'm
> fairly sure the issue was due to:
> 
>   5ff004fdc7377 (drm/xe/rtp: Add struct types for RTP tables)
> 
> with some of the fields in rtp_to_sr_cases[] haiving non-const values.
> Sorry about the lack of clarity here.
> 
> I have merged the version from next-20260602 instead.

The error message is:

/tmp/next/build/drivers/gpu/drm/xe/xe_hw_engine.c:361:6: error: initializer element is not a compile-time constant
  361 |                                  blit_cctl_val,
      |                                  ^~~~~~~~~~~~~
/tmp/next/build/drivers/gpu/drm/xe/xe_rtp.h:461:41: note: expanded from macro 'XE_RTP_ACTIONS'
  461 |                 XE_RTP_PASTE_FOREACH(ACTION_, COMMA, (__VA_ARGS__))     \
      |                                                       ^~~~~~~~~~~
/tmp/next/build/drivers/gpu/drm/xe/xe_rtp_helpers.h:56:108: note: expanded from macro 'XE_RTP_PASTE_FOREACH'
   56 | #define XE_RTP_PASTE_FOREACH(prefix_, sep_, args_) _XE_RTP_CONCAT(PASTE_, COUNT_ARGS args_)(prefix_, sep_, args_)
      |                                                                                                            ^~~~~
/tmp/next/build/drivers/gpu/drm/xe/xe_rtp_helpers.h:57:80: note: expanded from macro 'XE_RTP_PASTE_1'
   57 | #define XE_RTP_PASTE_1(prefix_, sep_, args_) _XE_RTP_CONCAT(prefix_, FIRST_ARG args_)
      |                                                                                ^~~~~
note: (skipping 11 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/tmp/next/build/include/linux/compiler.h:204:39: note: expanded from macro '__is_array'
  204 | #define __is_array(a)           (!__same_type((a), &(a)[0]))
      |                                                ^
/tmp/next/build/include/linux/compiler_types.h:610:63: note: expanded from macro '__same_type'
  610 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
      |                                                               ^
/tmp/next/build/include/linux/compiler.h:200:84: note: expanded from macro '__BUILD_BUG_ON_ZERO_MSG'
  200 | #define __BUILD_BUG_ON_ZERO_MSG(e, msg, ...) ((int)sizeof(struct {_Static_assert(!(e), msg);}))
      |                                                                                    ^
/tmp/next/build/drivers/gpu/drm/xe/xe_hw_engine.c:416:9: error: initializer element is not a compile-time constant
  416 |                                            ring_cmd_cctl_val,
      |                                            ^~~~~~~~~~~~~~~~~
/tmp/next/build/drivers/gpu/drm/xe/xe_rtp.h:461:41: note: expanded from macro 'XE_RTP_ACTIONS'
  461 |                 XE_RTP_PASTE_FOREACH(ACTION_, COMMA, (__VA_ARGS__))     \
      |                                                       ^~~~~~~~~~~
/tmp/next/build/drivers/gpu/drm/xe/xe_rtp_helpers.h:56:108: note: expanded from macro 'XE_RTP_PASTE_FOREACH'
   56 | #define XE_RTP_PASTE_FOREACH(prefix_, sep_, args_) _XE_RTP_CONCAT(PASTE_, COUNT_ARGS args_)(prefix_, sep_, args_)
      |                                                                                                            ^~~~~
/tmp/next/build/drivers/gpu/drm/xe/xe_rtp_helpers.h:57:80: note: expanded from macro 'XE_RTP_PASTE_1'
   57 | #define XE_RTP_PASTE_1(prefix_, sep_, args_) _XE_RTP_CONCAT(prefix_, FIRST_ARG args_)
      |                                                                                ^~~~~
note: (skipping 11 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/tmp/next/build/include/linux/compiler.h:204:39: note: expanded from macro '__is_array'
  204 | #define __is_array(a)           (!__same_type((a), &(a)[0]))
      |                                                ^
/tmp/next/build/include/linux/compiler_types.h:610:63: note: expanded from macro '__same_type'
  610 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
      |                                                               ^
/tmp/next/build/include/linux/compiler.h:200:84: note: expanded from macro '__BUILD_BUG_ON_ZERO_MSG'
  200 | #define __BUILD_BUG_ON_ZERO_MSG(e, msg, ...) ((int)sizeof(struct {_Static_assert(!(e), msg);}))
      |                                                                                    ^
2 errors generated.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: linux-next: build failure after merge of the drm-xe tree
  2026-06-04 14:35 ` Mark Brown
@ 2026-06-04 14:43   ` Thomas Hellström
  2026-06-04 14:50     ` Mark Brown
  0 siblings, 1 reply; 17+ messages in thread
From: Thomas Hellström @ 2026-06-04 14:43 UTC (permalink / raw)
  To: Mark Brown, DRM XE List, Gustavo Sousa, Violet Monti, Matt Roper
  Cc: Linux Kernel Mailing List, Linux Next Mailing List

On Thu, 2026-06-04 at 15:35 +0100, Mark Brown wrote:
> On Wed, Jun 03, 2026 at 03:02:08PM +0100, Mark Brown wrote:
> > Hi all,
> > 
> > After merging the drm-xe tree, today's linux-next build (x86_64
> > allmodconfig) failed.  Unfortunately I fat fingered things and
> > deleted
> > the logs, assuming the issue remains I'll report proprely
> > tomorrow.  I'm
> > fairly sure the issue was due to:
> > 
> >   5ff004fdc7377 (drm/xe/rtp: Add struct types for RTP tables)
> > 
> > with some of the fields in rtp_to_sr_cases[] haiving non-const
> > values.
> > Sorry about the lack of clarity here.
> > 
> > I have merged the version from next-20260602 instead.
> 
> The error message is:
> 
> /tmp/next/build/drivers/gpu/drm/xe/xe_hw_engine.c:361:6: error:
> initializer element is not a compile-time constant
>   361 |                                  blit_cctl_val,
>       |                                  ^~~~~~~~~~~~~
> /tmp/next/build/drivers/gpu/drm/xe/xe_rtp.h:461:41: note: expanded
> from macro 'XE_RTP_ACTIONS'
>   461 |                 XE_RTP_PASTE_FOREACH(ACTION_, COMMA,
> (__VA_ARGS__))     \
>       |                                                      
> ^~~~~~~~~~~
> /tmp/next/build/drivers/gpu/drm/xe/xe_rtp_helpers.h:56:108: note:
> expanded from macro 'XE_RTP_PASTE_FOREACH'
>    56 | #define XE_RTP_PASTE_FOREACH(prefix_, sep_, args_)
> _XE_RTP_CONCAT(PASTE_, COUNT_ARGS args_)(prefix_, sep_, args_)
>      
> |                                                                    
>                                         ^~~~~
> /tmp/next/build/drivers/gpu/drm/xe/xe_rtp_helpers.h:57:80: note:
> expanded from macro 'XE_RTP_PASTE_1'
>    57 | #define XE_RTP_PASTE_1(prefix_, sep_, args_)
> _XE_RTP_CONCAT(prefix_, FIRST_ARG args_)
>      
> |                                                                    
>             ^~~~~
> note: (skipping 11 expansions in backtrace; use -fmacro-backtrace-
> limit=0 to see all)
> /tmp/next/build/include/linux/compiler.h:204:39: note: expanded from
> macro '__is_array'
>   204 | #define __is_array(a)           (!__same_type((a), &(a)[0]))
>       |                                                ^
> /tmp/next/build/include/linux/compiler_types.h:610:63: note: expanded
> from macro '__same_type'
>   610 | #define __same_type(a, b)
> __builtin_types_compatible_p(typeof(a), typeof(b))
>       |                                                              
> ^
> /tmp/next/build/include/linux/compiler.h:200:84: note: expanded from
> macro '__BUILD_BUG_ON_ZERO_MSG'
>   200 | #define __BUILD_BUG_ON_ZERO_MSG(e, msg, ...)
> ((int)sizeof(struct {_Static_assert(!(e), msg);}))
>      
> |                                                                    
>                 ^
> /tmp/next/build/drivers/gpu/drm/xe/xe_hw_engine.c:416:9: error:
> initializer element is not a compile-time constant
>   416 |                                            ring_cmd_cctl_val,
>       |                                            ^~~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/gpu/drm/xe/xe_rtp.h:461:41: note: expanded
> from macro 'XE_RTP_ACTIONS'
>   461 |                 XE_RTP_PASTE_FOREACH(ACTION_, COMMA,
> (__VA_ARGS__))     \
>       |                                                      
> ^~~~~~~~~~~
> /tmp/next/build/drivers/gpu/drm/xe/xe_rtp_helpers.h:56:108: note:
> expanded from macro 'XE_RTP_PASTE_FOREACH'
>    56 | #define XE_RTP_PASTE_FOREACH(prefix_, sep_, args_)
> _XE_RTP_CONCAT(PASTE_, COUNT_ARGS args_)(prefix_, sep_, args_)
>      
> |                                                                    
>                                         ^~~~~
> /tmp/next/build/drivers/gpu/drm/xe/xe_rtp_helpers.h:57:80: note:
> expanded from macro 'XE_RTP_PASTE_1'
>    57 | #define XE_RTP_PASTE_1(prefix_, sep_, args_)
> _XE_RTP_CONCAT(prefix_, FIRST_ARG args_)
>      
> |                                                                    
>             ^~~~~
> note: (skipping 11 expansions in backtrace; use -fmacro-backtrace-
> limit=0 to see all)
> /tmp/next/build/include/linux/compiler.h:204:39: note: expanded from
> macro '__is_array'
>   204 | #define __is_array(a)           (!__same_type((a), &(a)[0]))
>       |                                                ^
> /tmp/next/build/include/linux/compiler_types.h:610:63: note: expanded
> from macro '__same_type'
>   610 | #define __same_type(a, b)
> __builtin_types_compatible_p(typeof(a), typeof(b))
>       |                                                              
> ^
> /tmp/next/build/include/linux/compiler.h:200:84: note: expanded from
> macro '__BUILD_BUG_ON_ZERO_MSG'
>   200 | #define __BUILD_BUG_ON_ZERO_MSG(e, msg, ...)
> ((int)sizeof(struct {_Static_assert(!(e), msg);}))
>      
> |                                                                    
>                 ^
> 2 errors generated.

Funny, I see no build errors with drm-xe-next allmodconfig. What
compiler is being used? Any sha1 of the drm-xe-next top commit you're
testing?

Thanks,
Thomas


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

* Re: linux-next: build failure after merge of the drm-xe tree
  2026-06-04 14:43   ` Thomas Hellström
@ 2026-06-04 14:50     ` Mark Brown
  2026-06-04 17:23       ` Thomas Hellström
  0 siblings, 1 reply; 17+ messages in thread
From: Mark Brown @ 2026-06-04 14:50 UTC (permalink / raw)
  To: Thomas Hellström
  Cc: DRM XE List, Gustavo Sousa, Violet Monti, Matt Roper,
	Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 853 bytes --]

On Thu, Jun 04, 2026 at 04:43:17PM +0200, Thomas Hellström wrote:
> On Thu, 2026-06-04 at 15:35 +0100, Mark Brown wrote:

> > /tmp/next/build/include/linux/compiler.h:200:84: note: expanded from
> > macro '__BUILD_BUG_ON_ZERO_MSG'
> >   200 | #define __BUILD_BUG_ON_ZERO_MSG(e, msg, ...)
> > ((int)sizeof(struct {_Static_assert(!(e), msg);}))

> Funny, I see no build errors with drm-xe-next allmodconfig. What
> compiler is being used? Any sha1 of the drm-xe-next top commit you're
> testing?

This is after merging the tree into -next, that'd be on top of
09b893db4d9e68c2679e76624d420f438f8d3e98 for today (not published yet).
It's possible it's some interaction with other trees (like the main drm
tree) and works as a standalone thing, it wasn't obviously that from a
quick investigation.  The toolchain is gcc from Debian stable.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: linux-next: build failure after merge of the drm-xe tree
  2026-06-04 14:50     ` Mark Brown
@ 2026-06-04 17:23       ` Thomas Hellström
  2026-06-05  6:03         ` Nathan Chancellor
  2026-06-05 11:08         ` Mark Brown
  0 siblings, 2 replies; 17+ messages in thread
From: Thomas Hellström @ 2026-06-04 17:23 UTC (permalink / raw)
  To: Mark Brown
  Cc: DRM XE List, Gustavo Sousa, Violet Monti, Matt Roper,
	Linux Kernel Mailing List, Linux Next Mailing List

On Thu, 2026-06-04 at 15:50 +0100, Mark Brown wrote:
> On Thu, Jun 04, 2026 at 04:43:17PM +0200, Thomas Hellström wrote:
> > On Thu, 2026-06-04 at 15:35 +0100, Mark Brown wrote:
> 
> > > /tmp/next/build/include/linux/compiler.h:200:84: note: expanded
> > > from
> > > macro '__BUILD_BUG_ON_ZERO_MSG'
> > >   200 | #define __BUILD_BUG_ON_ZERO_MSG(e, msg, ...)
> > > ((int)sizeof(struct {_Static_assert(!(e), msg);}))
> 
> > Funny, I see no build errors with drm-xe-next allmodconfig. What
> > compiler is being used? Any sha1 of the drm-xe-next top commit
> > you're
> > testing?
> 
> This is after merging the tree into -next, that'd be on top of
> 09b893db4d9e68c2679e76624d420f438f8d3e98 for today (not published
> yet).
> It's possible it's some interaction with other trees (like the main
> drm
> tree) and works as a standalone thing, it wasn't obviously that from
> a
> quick investigation.  The toolchain is gcc from Debian stable.

So I merged drm-xe-next into next-20260603, and no build errors neither
with gcc nor clang.

AI says it's confident that the error report is from clang, based on
-fmacro-backtrace-limit suggestion and the "2 errors generated."
summary, and suggests this might be an older clang version limitation?

Thanks,
Thomas


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

* Re: linux-next: build failure after merge of the drm-xe tree
  2026-06-04 17:23       ` Thomas Hellström
@ 2026-06-05  6:03         ` Nathan Chancellor
  2026-06-05 11:08         ` Mark Brown
  1 sibling, 0 replies; 17+ messages in thread
From: Nathan Chancellor @ 2026-06-05  6:03 UTC (permalink / raw)
  To: Thomas Hellström
  Cc: Mark Brown, DRM XE List, Gustavo Sousa, Violet Monti, Matt Roper,
	Linux Kernel Mailing List, Linux Next Mailing List

On Thu, Jun 04, 2026 at 07:23:40PM +0200, Thomas Hellström wrote:
> On Thu, 2026-06-04 at 15:50 +0100, Mark Brown wrote:
> > On Thu, Jun 04, 2026 at 04:43:17PM +0200, Thomas Hellström wrote:
> > > On Thu, 2026-06-04 at 15:35 +0100, Mark Brown wrote:
> > 
> > > > /tmp/next/build/include/linux/compiler.h:200:84: note: expanded
> > > > from
> > > > macro '__BUILD_BUG_ON_ZERO_MSG'
> > > >   200 | #define __BUILD_BUG_ON_ZERO_MSG(e, msg, ...)
> > > > ((int)sizeof(struct {_Static_assert(!(e), msg);}))
> > 
> > > Funny, I see no build errors with drm-xe-next allmodconfig. What
> > > compiler is being used? Any sha1 of the drm-xe-next top commit
> > > you're
> > > testing?
> > 
> > This is after merging the tree into -next, that'd be on top of
> > 09b893db4d9e68c2679e76624d420f438f8d3e98 for today (not published
> > yet).
> > It's possible it's some interaction with other trees (like the main
> > drm
> > tree) and works as a standalone thing, it wasn't obviously that from
> > a
> > quick investigation.  The toolchain is gcc from Debian stable.
> 
> So I merged drm-xe-next into next-20260603, and no build errors neither
> with gcc nor clang.
> 
> AI says it's confident that the error report is from clang, based on
> -fmacro-backtrace-limit suggestion and the "2 errors generated."
> summary, and suggests this might be an older clang version limitation?

Yeah, this is certainly clang. The kernel test robot also reported this:

  https://lore.kernel.org/202606041255.dGo9lFkh-lkp@intel.com/

It looks like this was only fixed in clang-21 with:

  https://github.com/llvm/llvm-project/commit/977d8a4bcd83797217433709201922b9deb97ae2

according to my reverse bisect of clang. I am not really sure how to
work around this at the moment, trying to read the preprocessed source
is nearly impossible because of what REG_FIELD_PREP() expands to.

-- 
Cheers,
Nathan

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

* Re: linux-next: build failure after merge of the drm-xe tree
  2026-06-04 17:23       ` Thomas Hellström
  2026-06-05  6:03         ` Nathan Chancellor
@ 2026-06-05 11:08         ` Mark Brown
  1 sibling, 0 replies; 17+ messages in thread
From: Mark Brown @ 2026-06-05 11:08 UTC (permalink / raw)
  To: Thomas Hellström
  Cc: DRM XE List, Gustavo Sousa, Violet Monti, Matt Roper,
	Linux Kernel Mailing List, Linux Next Mailing List, Justin Stitt,
	Nathan Chancellor, Nick Desaulniers, Bill Wendling, llvm

[-- Attachment #1: Type: text/plain, Size: 724 bytes --]

On Thu, Jun 04, 2026 at 07:23:40PM +0200, Thomas Hellström wrote:

> So I merged drm-xe-next into next-20260603, and no build errors neither
> with gcc nor clang.

> AI says it's confident that the error report is from clang, based on
> -fmacro-backtrace-limit suggestion and the "2 errors generated."
> summary, and suggests this might be an older clang version limitation?

Bah, sorry - it is actually clang, I changed it to that to avoid some
issues with Rust getting disable due to interactions with sanitisers
when building GCC.  Apologies, I should have double checked or just
remembered.  This is clang 19 from Debian stable, our current minimum
supported clang is clang 17.  CCing in the clang people.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

end of thread, other threads:[~2026-06-05 11:09 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-03 14:02 linux-next: build failure after merge of the drm-xe tree Mark Brown
2026-06-04 14:35 ` Mark Brown
2026-06-04 14:43   ` Thomas Hellström
2026-06-04 14:50     ` Mark Brown
2026-06-04 17:23       ` Thomas Hellström
2026-06-05  6:03         ` Nathan Chancellor
2026-06-05 11:08         ` Mark Brown
  -- strict thread matches above, loose matches on Subject: below --
2025-03-07  2:21 Stephen Rothwell
2025-03-11  2:15 ` Stephen Rothwell
2025-03-07  1:58 Stephen Rothwell
2025-03-11  2:13 ` Stephen Rothwell
2024-12-04 13:36 Mark Brown
2024-12-04 13:46 ` Jani Nikula
2024-12-04 14:18   ` Mark Brown
2024-10-01  1:38 Stephen Rothwell
2024-02-22  8:04 Stephen Rothwell
2024-02-22 17:09 ` Lucas De Marchi

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