drm/xe/gt: Fix min() with u32 and u64
authorLucas De Marchi <lucas.demarchi@intel.com>
Thu, 22 Dec 2022 21:58:12 +0000 (13:58 -0800)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Tue, 12 Dec 2023 19:06:01 +0000 (14:06 -0500)
Fix the following error while building for 32b:

In file included from ../drivers/gpu/drm/xe/xe_gt.c:6:
../drivers/gpu/drm/xe/xe_gt.c: In function ‘gt_ttm_mgr_init’:
../include/linux/minmax.h:20:35: error: comparison of distinct pointer types lacks a cast [-Werror]
   20 |         (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
      |                                   ^~

Cast it to u64 so size of the second operand matches the first one when
building it for 32 bits.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_gt.c

index 96d0f5845d87b490132276db77a83e5e92ec2d02..39df6945e1d913bcc264738fd0d28149c7f83841 100644 (file)
@@ -183,7 +183,7 @@ static int gt_ttm_mgr_init(struct xe_gt *gt)
                if (err)
                        return err;
                gtt_size = min(max((XE_DEFAULT_GTT_SIZE_MB << 20),
-                                  gt->mem.vram.size),
+                                  (u64)gt->mem.vram.size),
                               gtt_size);
                xe->info.mem_region_mask |= BIT(gt->info.vram_id) << 1;
        }