[PATCH] drm/xe: Fix a build error
Zeng, Oak
oak.zeng at intel.com
Mon Jan 29 20:29:17 UTC 2024
Hi Thomas,
My patch was based on drm-tip.... because I found drm-tip is broken....
As long as drm-tip can build, I am all good.
Thanks,
Oak
> -----Original Message-----
> From: Thomas Hellström <thomas.hellstrom at linux.intel.com>
> Sent: Monday, January 29, 2024 3:26 PM
> To: Christian König <ckoenig.leichtzumerken at gmail.com>; Zeng, Oak
> <oak.zeng at intel.com>; dri-devel at lists.freedesktop.org; intel-
> xe at lists.freedesktop.org
> Cc: Amaranath.Somalapuram at amd.com; De Marchi, Lucas
> <lucas.demarchi at intel.com>
> Subject: Re: [PATCH] drm/xe: Fix a build error
>
> 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