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

From: Thomas Hellström <[email-masked]>
Date: Tue, 06 Feb 2024 13:39:28 +0100

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 <[email-masked]>
> 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 <[email-masked]>
> ---
>  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
>