drm/xe: Annotate xe_mem_region::mapping with __iomem
authorThomas Hellström <thomas.hellstrom@linux.intel.com>
Tue, 9 Jan 2024 11:24:03 +0000 (12:24 +0100)
committerThomas Hellström <thomas.hellstrom@linux.intel.com>
Mon, 15 Jan 2024 14:36:42 +0000 (15:36 +0100)
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@intel.com>
Cc: Michael J. Ruhl <michael.j.ruhl@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240109112405.108136-3-thomas.hellstrom@linux.intel.com
(cherry picked from commit 20855b62a30538361e587cfc7c5245f07d4f826a)
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
drivers/gpu/drm/xe/xe_bo.c
drivers/gpu/drm/xe/xe_device_types.h

index 8e4a3b1f6b938e5a76b8fc6640058ca63a30c709..3cd29bd015a02e1f409ceb9642c185d77d654250 100644 (file)
@@ -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)) {
index c45ef17b347323801d397a964e53aa3fc5b060f4..4b38c6bc6c76c749d5640ab1acbb1ad1febc2c53 100644 (file)
@@ -97,7 +97,7 @@ struct xe_mem_region {
         */
        resource_size_t actual_physical_size;
        /** @mapping: pointer to VRAM mappable space */
-       void *__iomem mapping;
+       void __iomem *mapping;
 };
 
 /**