[PATCH] drm/xe: Fix a build error

Thomas Hellström thomas.hellstrom at linux.intel.com
Mon Jan 29 20:25:39 UTC 2024


Hi,

On 1/29/24 17:48, Christian König wrote:
> Am 27.01.24 um 16:53 schrieb Oak Zeng:
>> This fixes a build failure on drm-tip. This issue was introduced during
>> merge of "drm/ttm: replace busy placement with flags v6". For some
>> reason, the xe_bo.c part of above change is not merged. Manually merge
>> the missing part to drm_tip
>
> Mhm, I provided this as manual fixup for drm-tip in this rerere commit:
>
> commit afc5797e8c03bed3ec47a34f2bc3cf03fce24411
> Author: Christian König <christian.koenig at amd.com>
> Date:   Thu Jan 25 10:44:54 2024 +0100
>
>     2024y-01m-25d-09h-44m-07s UTC: drm-tip rerere cache update
>
>     git version 2.34.1
>
>
> And for me compiling xe in drm-tip worked fine after that. No idea why 
> that didn't work for you.
>
> Anyway feel free to add my rb to this patch here if it helps in any way.
>
> Regards,
> Christian.

I reverted that rerere cache update and added another one, so now it 
works. Not sure exactly what the difference was, but the resulting patch 
was for the drm-misc-next merge in my case, and It was for 
drm-xe-something in your case.

/Thomas


>
>>
>> Signed-off-by: Oak Zeng <oak.zeng at intel.com>
>> ---
>>   drivers/gpu/drm/xe/xe_bo.c | 33 +++++++++++++++------------------
>>   1 file changed, 15 insertions(+), 18 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
>> index 686d716c5581..d6a193060cc0 100644
>> --- a/drivers/gpu/drm/xe/xe_bo.c
>> +++ b/drivers/gpu/drm/xe/xe_bo.c
>> @@ -38,22 +38,26 @@ 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 = {
>> -    .fpfn = 0,
>> -    .lpfn = 0,
>> -    .mem_type = XE_PL_TT,
>> -    .flags = 0,
>> +static const struct ttm_place tt_placement_flags[] = {
>> +    {
>> +        .fpfn = 0,
>> +        .lpfn = 0,
>> +        .mem_type = XE_PL_TT,
>> +        .flags = TTM_PL_FLAG_DESIRED,
>> +    },
>> +    {
>> +        .fpfn = 0,
>> +        .lpfn = 0,
>> +        .mem_type = XE_PL_SYSTEM,
>> +        .flags = TTM_PL_FLAG_FALLBACK,
>> +    }
>>   };
>>     static struct ttm_placement tt_placement = {
>> -    .num_placement = 1,
>> -    .placement = &tt_placement_flags,
>> -    .num_busy_placement = 1,
>> -    .busy_placement = &sys_placement_flags,
>> +    .num_placement = 2,
>> +    .placement = tt_placement_flags,
>>   };
>>     bool mem_type_is_vram(u32 mem_type)
>> @@ -230,8 +234,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 +253,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;
>>           }
>>   @@ -1391,8 +1392,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;
>> @@ -2150,9 +2149,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
>


More information about the dri-devel mailing list