[PATCH 3/9] drm/xe: Move suballocator init to after display init
Rodrigo Vivi
rodrigo.vivi at intel.com
Tue Nov 12 18:18:27 UTC 2024
On Thu, Nov 07, 2024 at 11:01:34AM +0100, Maarten Lankhorst wrote:
> No allocations should be done before we have had a chance to preserve
> the display fb.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Link: https://patchwork.freedesktop.org/patch/msgid/20241105121857.17389-3-maarten.lankhorst@linux.intel.com
> Signed-off-by: Maarten Lankhorst,,, <dev at lankhorst.se>
extra commas in your signature?!
so, the patch looks correct to me. As Lucas had pointed out already the
xe_tile_init_noalloc shouldn't do any alloc as the name and its doc says.
But please add the Fixes tag and the new function documentation as Lucas
had already requested:
https://lore.kernel.org/intel-xe/66lrio7qieuvevgzkdsmgjt46swaxzxgvdnnch6w472uzjdsu4@xvn7pvrfpiih/
with that, feel free to use
Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
> drivers/gpu/drm/xe/xe_device.c | 6 ++++++
> drivers/gpu/drm/xe/xe_tile.c | 12 ++++++++----
> drivers/gpu/drm/xe/xe_tile.h | 1 +
> 3 files changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
> index a0d29d5cb7b70..cef782f244e1a 100644
> --- a/drivers/gpu/drm/xe/xe_device.c
> +++ b/drivers/gpu/drm/xe/xe_device.c
> @@ -730,6 +730,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;
>
> diff --git a/drivers/gpu/drm/xe/xe_tile.c b/drivers/gpu/drm/xe/xe_tile.c
> index 07cf7cfe4abd5..2825553b568f7 100644
> --- a/drivers/gpu/drm/xe/xe_tile.c
> +++ b/drivers/gpu/drm/xe/xe_tile.c
> @@ -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);
> diff --git a/drivers/gpu/drm/xe/xe_tile.h b/drivers/gpu/drm/xe/xe_tile.h
> index 1c9e42ade6b05..eb939316d55b0 100644
> --- a/drivers/gpu/drm/xe/xe_tile.h
> +++ b/drivers/gpu/drm/xe/xe_tile.h
> @@ -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);
>
> --
> 2.45.2
>
More information about the Intel-xe
mailing list