Hi On Tue, 2024-02-06 at 12:28 +1100, Stephen Rothwell wrote: > 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 ... There was a manual fixup for the drm-misc-next merge into drm-tip that did the right thing here. How do we ensure these are included into the linux-next builds? Thanks, Thomas > > From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> > 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 <sfr@xxxxxxxxxxxxxxxx> > --- > 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 >