Hi all, After merging the drm-misc tree, today's linux-next build (x86_64 allmodconfig) failed like this: 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). I have applied the following merge fix patch for today. This makes it build, but more is likely needed ... From: Stephen Rothwell Date: Tue, 6 Feb 2024 12:21:07 +1100 Subject: [PATCH] fix up for "drm/ttm: replace busy placement with flags v6" interacting with commit dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs") Signed-off-by: Stephen Rothwell --- drivers/gpu/drm/xe/xe_bo.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c index 0b0e262e2166..280dbda8ae5a 100644 --- a/drivers/gpu/drm/xe/xe_bo.c +++ b/drivers/gpu/drm/xe/xe_bo.c @@ -38,8 +38,6 @@ static const struct ttm_place sys_placement_flags = { static struct ttm_placement sys_placement = { .num_placement = 1, .placement = &sys_placement_flags, - .num_busy_placement = 1, - .busy_placement = &sys_placement_flags, }; static const struct ttm_place tt_placement_flags = { @@ -52,8 +50,6 @@ static const struct ttm_place tt_placement_flags = { static struct ttm_placement tt_placement = { .num_placement = 1, .placement = &tt_placement_flags, - .num_busy_placement = 1, - .busy_placement = &sys_placement_flags, }; bool mem_type_is_vram(u32 mem_type) @@ -230,8 +226,6 @@ static int __xe_bo_placement_for_flags(struct xe_device *xe, struct xe_bo *bo, bo->placement = (struct ttm_placement) { .num_placement = c, .placement = bo->placements, - .num_busy_placement = c, - .busy_placement = bo->placements, }; return 0; @@ -251,7 +245,6 @@ static void xe_evict_flags(struct ttm_buffer_object *tbo, /* Don't handle scatter gather BOs */ if (tbo->type == ttm_bo_type_sg) { placement->num_placement = 0; - placement->num_busy_placement = 0; return; } @@ -1353,8 +1346,6 @@ static int __xe_bo_fixed_placement(struct xe_device *xe, bo->placement = (struct ttm_placement) { .num_placement = 1, .placement = place, - .num_busy_placement = 1, - .busy_placement = place, }; return 0; @@ -2112,9 +2103,7 @@ int xe_bo_migrate(struct xe_bo *bo, u32 mem_type) xe_place_from_ttm_type(mem_type, &requested); placement.num_placement = 1; - placement.num_busy_placement = 1; placement.placement = &requested; - placement.busy_placement = &requested; /* * Stolen needs to be handled like below VRAM handling if we ever need -- 2.43.0 -- Cheers, Stephen Rothwell