Commit 380b0cda authored by Maarten Lankhorst's avatar Maarten Lankhorst
Browse files

drm/xe: Move suballocator init to after display init



No allocations should be done before we have had a chance to preserve
the display fb.

Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241210083111.230484-4-dev@lankhorst.se


Signed-off-by: default avatarMaarten Lankhorst <dev@lankhorst.se>
parent a46ea12e
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -840,6 +840,12 @@ int xe_device_probe(struct xe_device *xe)
	if (err)
		goto err;

	for_each_tile(tile, xe, id) {
		err = xe_tile_init(tile);
		if (err)
			goto err;
	}

	for_each_gt(gt, xe, id) {
		last_gt = id;

+8 −4
Original line number Diff line number Diff line
@@ -170,10 +170,6 @@ int xe_tile_init_noalloc(struct xe_tile *tile)
	if (err)
		return err;

	tile->mem.kernel_bb_pool = xe_sa_bo_manager_init(tile, SZ_1M, 16);
	if (IS_ERR(tile->mem.kernel_bb_pool))
		return PTR_ERR(tile->mem.kernel_bb_pool);

	xe_wa_apply_tile_workarounds(tile);

	err = xe_tile_sysfs_init(tile);
@@ -181,6 +177,14 @@ int xe_tile_init_noalloc(struct xe_tile *tile)
	return 0;
}

int xe_tile_init(struct xe_tile *tile)
{
	tile->mem.kernel_bb_pool = xe_sa_bo_manager_init(tile, SZ_1M, 16);
	if (IS_ERR(tile->mem.kernel_bb_pool))
		return PTR_ERR(tile->mem.kernel_bb_pool);

	return 0;
}
void xe_tile_migrate_wait(struct xe_tile *tile)
{
	xe_migrate_wait(tile->migrate);
+1 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ struct xe_tile;

int xe_tile_init_early(struct xe_tile *tile, struct xe_device *xe, u8 id);
int xe_tile_init_noalloc(struct xe_tile *tile);
int xe_tile_init(struct xe_tile *tile);

void xe_tile_migrate_wait(struct xe_tile *tile);