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

From: Stephen Rothwell <[email-masked]>
Date: Wed, 7 Feb 2024 13:46:00 +1100

Hi all,

On Tue, 6 Feb 2024 12:28:22 +1100 Stephen Rothwell <[email-masked]> wrote:
>
> After merging the drm-misc tree, today's linux-next build (x86_64
> allmodconfig) failed like this:

drivers/gpu/drm/xe/xe_bo.c:41:10: error: 'struct ttm_placement' has no member named 'num_busy_placement'; did you mean 'num_placement'?
   41 |         .num_busy_placement = 1,
      |          ^~~~~~~~~~~~~~~~~~
      |          num_placement
drivers/gpu/drm/xe/xe_bo.c:41:31: error: excess elements in struct initializer [-Werror]
   41 |         .num_busy_placement = 1,
      |                               ^
drivers/gpu/drm/xe/xe_bo.c:41:31: note: (near initialization for 'sys_placement')
drivers/gpu/drm/xe/xe_bo.c:42:10: error: 'struct ttm_placement' has no member named 'busy_placement'; did you mean 'num_placement'?
   42 |         .busy_placement = &sys_placement_flags,
      |          ^~~~~~~~~~~~~~
      |          num_placement
drivers/gpu/drm/xe/xe_bo.c:42:27: error: excess elements in struct initializer [-Werror]
   42 |         .busy_placement = &sys_placement_flags,
      |                           ^
drivers/gpu/drm/xe/xe_bo.c:42:27: note: (near initialization for 'sys_placement')
drivers/gpu/drm/xe/xe_bo.c:55:10: error: 'struct ttm_placement' has no member named 'num_busy_placement'; did you mean 'num_placement'?
   55 |         .num_busy_placement = 1,
      |          ^~~~~~~~~~~~~~~~~~
      |          num_placement
drivers/gpu/drm/xe/xe_bo.c:55:31: error: excess elements in struct initializer [-Werror]
   55 |         .num_busy_placement = 1,
      |                               ^
drivers/gpu/drm/xe/xe_bo.c:55:31: note: (near initialization for 'tt_placement')
drivers/gpu/drm/xe/xe_bo.c:56:10: error: 'struct ttm_placement' has no member named 'busy_placement'; did you mean 'num_placement'?
   56 |         .busy_placement = &sys_placement_flags,
      |          ^~~~~~~~~~~~~~
      |          num_placement
drivers/gpu/drm/xe/xe_bo.c:56:27: error: excess elements in struct initializer [-Werror]
   56 |         .busy_placement = &sys_placement_flags,
      |                           ^
drivers/gpu/drm/xe/xe_bo.c:56:27: note: (near initialization for 'tt_placement')
drivers/gpu/drm/xe/xe_bo.c: In function '__xe_bo_placement_for_flags':
drivers/gpu/drm/xe/xe_bo.c:233:18: error: 'struct ttm_placement' has no member named 'num_busy_placement'; did you mean 'num_placement'?
  233 |                 .num_busy_placement = c,
      |                  ^~~~~~~~~~~~~~~~~~
      |                  num_placement
drivers/gpu/drm/xe/xe_bo.c:233:39: error: excess elements in struct initializer [-Werror]
  233 |                 .num_busy_placement = c,
      |                                       ^
drivers/gpu/drm/xe/xe_bo.c:233:39: note: (near initialization for '(anonymous)')
drivers/gpu/drm/xe/xe_bo.c:234:18: error: 'struct ttm_placement' has no member named 'busy_placement'; did you mean 'num_placement'?
  234 |                 .busy_placement = bo->placements,
      |                  ^~~~~~~~~~~~~~
      |                  num_placement
drivers/gpu/drm/xe/xe_bo.c:234:35: error: excess elements in struct initializer [-Werror]
  234 |                 .busy_placement = bo->placements,
      |                                   ^~
drivers/gpu/drm/xe/xe_bo.c:234:35: note: (near initialization for '(anonymous)')
drivers/gpu/drm/xe/xe_bo.c: In function 'xe_evict_flags':
drivers/gpu/drm/xe/xe_bo.c:254:36: error: 'struct ttm_placement' has no member named 'num_busy_placement'; did you mean 'num_placement'?
  254 |                         placement->num_busy_placement = 0;
      |                                    ^~~~~~~~~~~~~~~~~~
      |                                    num_placement
drivers/gpu/drm/xe/xe_bo.c: In function '__xe_bo_fixed_placement':
drivers/gpu/drm/xe/xe_bo.c:1356:18: error: 'struct ttm_placement' has no member named 'num_busy_placement'; did you mean 'num_placement'?
 1356 |                 .num_busy_placement = 1,
      |                  ^~~~~~~~~~~~~~~~~~
      |                  num_placement
drivers/gpu/drm/xe/xe_bo.c:1356:39: error: excess elements in struct initializer [-Werror]
 1356 |                 .num_busy_placement = 1,
      |                                       ^
drivers/gpu/drm/xe/xe_bo.c:1356:39: note: (near initialization for '(anonymous)')
drivers/gpu/drm/xe/xe_bo.c:1357:18: error: 'struct ttm_placement' has no member named 'busy_placement'; did you mean 'num_placement'?
 1357 |                 .busy_placement = place,
      |                  ^~~~~~~~~~~~~~
      |                  num_placement
drivers/gpu/drm/xe/xe_bo.c:1357:35: error: excess elements in struct initializer [-Werror]
 1357 |                 .busy_placement = place,
      |                                   ^~~~~
drivers/gpu/drm/xe/xe_bo.c:1357:35: note: (near initialization for '(anonymous)')
drivers/gpu/drm/xe/xe_bo.c: In function 'xe_bo_migrate':
drivers/gpu/drm/xe/xe_bo.c:2115:19: error: 'struct ttm_placement' has no member named 'num_busy_placement'; did you mean 'num_placement'?
 2115 |         placement.num_busy_placement = 1;
      |                   ^~~~~~~~~~~~~~~~~~
      |                   num_placement
drivers/gpu/drm/xe/xe_bo.c:2117:19: error: 'struct ttm_placement' has no member named 'busy_placement'; did you mean 'num_placement'?
 2117 |         placement.busy_placement = &requested;
      |                   ^~~~~~~~~~~~~~
      |                   num_placement

> Caused by commit
> 
>   a78a8da51b36 ("drm/ttm: replace busy placement with flags v6")
> 
> interacting with commit
> 
>   dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
> 
> (and maybe others) from Linus' tree (v6.8-rc1).

Given that the latter above commit(s) are also in the drm-misc tree, I
have just used the drm-misc tree from next-20240205 for today.

-- 
Cheers,
Stephen Rothwell