[PATCH] drm/xe: Fix tile fini sequence

Ghimiray, Himal Prasad himal.prasad.ghimiray at intel.com
Mon Aug 12 03:09:26 UTC 2024



On 10-08-2024 04:58, Matthew Brost wrote:
> Only set tile->mmio.regs to NULL if not the root tile in tile_fini. The
> root tile mmio regs is setup ealier in MMIO init thus it should be set
> to NULL in mmio_fini.
> 
> Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
> Signed-off-by: Matthew Brost <matthew.brost at intel.com>
> ---
>   drivers/gpu/drm/xe/xe_mmio.c | 5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_mmio.c b/drivers/gpu/drm/xe/xe_mmio.c
> index bdcc7282385c..f5bdb540e823 100644
> --- a/drivers/gpu/drm/xe/xe_mmio.c
> +++ b/drivers/gpu/drm/xe/xe_mmio.c
> @@ -30,7 +30,8 @@ static void tiles_fini(void *arg)
>   	int id;
>   
>   	for_each_tile(tile, xe, id)
> -		tile->mmio.regs = NULL;
> +		if (tile != xe_device_get_root_tile(xe))
> +			tile->mmio.regs = NULL;

Patch LGTM, just a minor nit.

if (tile != xe_device_get_root_tile(xe)) can be avoided by using 
for_each_remote_tile.

With that
Reviewed-by: Himal Prasad Ghimiray <himal.prasad.ghimiray at intel.com>

>   }
>   
>   /*
> @@ -146,9 +147,11 @@ int xe_mmio_probe_tiles(struct xe_device *xe)
>   static void mmio_fini(void *arg)
>   {
>   	struct xe_device *xe = arg;
> +	struct xe_tile *root_tile = xe_device_get_root_tile(xe);
>   
>   	pci_iounmap(to_pci_dev(xe->drm.dev), xe->mmio.regs);
>   	xe->mmio.regs = NULL;
> +	root_tile->mmio.regs = NULL;
>   }
>   
>   int xe_mmio_init(struct xe_device *xe)


More information about the Intel-xe mailing list