[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