]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe: Change return type of detect_bar2_dgfx() from s64 to u64
authorShuicheng Lin <shuicheng.lin@intel.com>
Thu, 9 Oct 2025 23:02:30 +0000 (23:02 +0000)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Fri, 10 Oct 2025 19:10:17 +0000 (15:10 -0400)
The function never returns a negative value, and the return value is
assigned to a u64 variable. Use u64 for better type correctness
and clarity.

v2: add assert to catch theoretical negative or zero stolen size. (Rodrigo)

Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
Link: https://lore.kernel.org/r/20251009230239.2830207-8-shuicheng.lin@intel.com
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c

index 9b00bdc8ef1a476464fb7dec3695808d0b46812e..e368b2a36bace0ed889970f2d8745a22d88993c3 100644 (file)
@@ -81,7 +81,7 @@ static u32 get_wopcm_size(struct xe_device *xe)
        return wopcm_size;
 }
 
-static s64 detect_bar2_dgfx(struct xe_device *xe, struct xe_ttm_stolen_mgr *mgr)
+static u64 detect_bar2_dgfx(struct xe_device *xe, struct xe_ttm_stolen_mgr *mgr)
 {
        struct xe_vram_region *tile_vram = xe_device_get_root_tile(xe)->mem.vram;
        resource_size_t tile_io_start = xe_vram_region_io_start(tile_vram);
@@ -105,6 +105,8 @@ static s64 detect_bar2_dgfx(struct xe_device *xe, struct xe_ttm_stolen_mgr *mgr)
                return 0;
 
        stolen_size = tile_size - mgr->stolen_base;
+
+       xe_assert(xe, stolen_size > wopcm_size);
        stolen_size -= wopcm_size;
 
        /* Verify usage fits in the actual resource available */