[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 Intel-xe
mailing list