[PATCH] drm/xe: Fix a build error
Christian König
ckoenig.leichtzumerken at gmail.com
Tue Jan 30 14:31:45 UTC 2024
Am 29.01.24 um 21:25 schrieb Thomas Hellström:
> 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.
Yeah, I've noticed that this was applied to the drm-xe-something branch
as well. That's why I reverted and re-applied the patch but dim still
ended up applying it to drm-xe-something instead of drm-misc-next so I
thought that this was intentional.
It would be rather nice if somebody can tell me what the heck went wrong
here so that I don't repeat this mistake.
Thanks,
Christian.
>
> /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