Skip to content

Commit 0671124

Browse files
Maarten Lankhorstjfvogel
authored andcommitted
drm/xe: Move suballocator init to after display init
[ Upstream commit 380b0cd ] No allocations should be done before we have had a chance to preserve the display fb. Reviewed-by: Rodrigo Vivi <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Signed-off-by: Maarten Lankhorst <[email protected]> Signed-off-by: Sasha Levin <[email protected]> (cherry picked from commit 274ae1044bd2cd637a05295713eb5ce49001e5cc) Signed-off-by: Jack Vogel <[email protected]>
1 parent 0936946 commit 0671124

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

drivers/gpu/drm/xe/xe_device.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -708,6 +708,12 @@ int xe_device_probe(struct xe_device *xe)
708708
if (err)
709709
goto err;
710710

711+
for_each_tile(tile, xe, id) {
712+
err = xe_tile_init(tile);
713+
if (err)
714+
goto err;
715+
}
716+
711717
for_each_gt(gt, xe, id) {
712718
last_gt = id;
713719

drivers/gpu/drm/xe/xe_tile.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,15 +167,19 @@ int xe_tile_init_noalloc(struct xe_tile *tile)
167167
if (err)
168168
return err;
169169

170-
tile->mem.kernel_bb_pool = xe_sa_bo_manager_init(tile, SZ_1M, 16);
171-
if (IS_ERR(tile->mem.kernel_bb_pool))
172-
return PTR_ERR(tile->mem.kernel_bb_pool);
173-
174170
xe_wa_apply_tile_workarounds(tile);
175171

176172
return xe_tile_sysfs_init(tile);
177173
}
178174

175+
int xe_tile_init(struct xe_tile *tile)
176+
{
177+
tile->mem.kernel_bb_pool = xe_sa_bo_manager_init(tile, SZ_1M, 16);
178+
if (IS_ERR(tile->mem.kernel_bb_pool))
179+
return PTR_ERR(tile->mem.kernel_bb_pool);
180+
181+
return 0;
182+
}
179183
void xe_tile_migrate_wait(struct xe_tile *tile)
180184
{
181185
xe_migrate_wait(tile->migrate);

drivers/gpu/drm/xe/xe_tile.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ struct xe_tile;
1212

1313
int xe_tile_init_early(struct xe_tile *tile, struct xe_device *xe, u8 id);
1414
int xe_tile_init_noalloc(struct xe_tile *tile);
15+
int xe_tile_init(struct xe_tile *tile);
1516

1617
void xe_tile_migrate_wait(struct xe_tile *tile);
1718

0 commit comments

Comments
 (0)