Commit 922ae875 authored by Piotr Piórkowski's avatar Piotr Piórkowski Committed by Lucas De Marchi
Browse files

drm/xe: Use devm_ioremap_wc for VRAM mapping and drop manual unmap



Let's replace the manual call to ioremap_wc function with devm_ioremap_wc
function, ensuring that VRAM mappings are automatically released when
the driver is detached.
Since devm_ioremap_wc registers the mapping with the device's managed
resources, the explicit iounmap call in vram_fini is no longer needed,
so let's remove it.

Signed-off-by: default avatarPiotr Piórkowski <piotr.piorkowski@intel.com>
Suggested-by: default avatarMatthew Auld <matthew.auld@intel.com>
Reviewed-by: default avatarMatthew Auld <matthew.auld@intel.com>
Acked-by: default avatarMatthew Brost <matthew.brost@intel.com>
Link: https://lore.kernel.org/r/20250714184818.89201-2-piotr.piorkowski@intel.com


Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
parent bf81505f
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -156,7 +156,8 @@ static int determine_lmem_bar_size(struct xe_device *xe)
	xe->mem.vram.dpa_base = 0;

	/* set up a map to the total memory area. */
	xe->mem.vram.mapping = ioremap_wc(xe->mem.vram.io_start, xe->mem.vram.io_size);
	xe->mem.vram.mapping = devm_ioremap_wc(&pdev->dev, xe->mem.vram.io_start,
					       xe->mem.vram.io_size);

	return 0;
}
@@ -278,9 +279,6 @@ static void vram_fini(void *arg)
	struct xe_tile *tile;
	int id;

	if (xe->mem.vram.mapping)
		iounmap(xe->mem.vram.mapping);

	xe->mem.vram.mapping = NULL;

	for_each_tile(tile, xe, id)