Subject: Re: linux-next: build failure after merge of the drm-xe tree

From: Thomas Hellström <[email-masked]>
Date: Thu, 04 Jun 2026 16:43:17 +0200

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