[PATCH 2/4] drm/xe: Annotate xe_mem_region::mapping with __iomem

Lucas De Marchi lucas.demarchi at intel.com
Tue Jan 9 14:52:45 UTC 2024


On Tue, Jan 09, 2024 at 12:24:03PM +0100, Thomas Hellström wrote:
>The pointer points to IO memory, but the __iomem annotation was
>incorrectly placed. Annotate it correctly, update its usage accordingly
>and fix the corresponding sparse error.
>
>Fixes: 0887a2e7ab62 ("drm/xe: Make xe_mem_region struct")
>Cc: Oak Zeng <oak.zeng at intel.com>
>Cc: Michael J. Ruhl <michael.j.ruhl at intel.com>
>Cc: Matthew Brost <matthew.brost at intel.com>
>Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
>Signed-off-by: Thomas Hellström <thomas.hellstrom at linux.intel.com>


Reviewed-by: Lucas De Marchi <lucas.demarchi at intel.com>

Lucas De Marchi

>---
> drivers/gpu/drm/xe/xe_bo.c           | 4 ++--
> drivers/gpu/drm/xe/xe_device_types.h | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
>diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
>index 8e4a3b1f6b93..3cd29bd015a0 100644
>--- a/drivers/gpu/drm/xe/xe_bo.c
>+++ b/drivers/gpu/drm/xe/xe_bo.c
>@@ -442,7 +442,7 @@ static int xe_ttm_io_mem_reserve(struct ttm_device *bdev,
>
> 		if (vram->mapping &&
> 		    mem->placement & TTM_PL_FLAG_CONTIGUOUS)
>-			mem->bus.addr = (u8 *)vram->mapping +
>+			mem->bus.addr = (u8 __force *)vram->mapping +
> 				mem->bus.offset;
>
> 		mem->bus.offset += vram->io_start;
>@@ -734,7 +734,7 @@ static int xe_bo_move(struct ttm_buffer_object *ttm_bo, bool evict,
> 			/* Create a new VMAP once kernel BO back in VRAM */
> 			if (!ret && resource_is_vram(new_mem)) {
> 				struct xe_mem_region *vram = res_to_mem_region(new_mem);
>-				void *new_addr = vram->mapping +
>+				void __iomem *new_addr = vram->mapping +
> 					(new_mem->start << PAGE_SHIFT);
>
> 				if (XE_WARN_ON(new_mem->start == XE_BO_INVALID_OFFSET)) {
>diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
>index 71f23ac365e6..171e8615d184 100644
>--- a/drivers/gpu/drm/xe/xe_device_types.h
>+++ b/drivers/gpu/drm/xe/xe_device_types.h
>@@ -98,7 +98,7 @@ struct xe_mem_region {
> 	 */
> 	resource_size_t actual_physical_size;
> 	/** @mapping: pointer to VRAM mappable space */
>-	void *__iomem mapping;
>+	void __iomem *mapping;
> };
>
> /**
>-- 
>2.43.0
>


More information about the Intel-xe mailing list