]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe/gt_idle: Use NSEC_PER_MSEC instead of float literal
authorShuicheng Lin <shuicheng.lin@intel.com>
Mon, 11 May 2026 15:33:07 +0000 (15:33 +0000)
committerShuicheng Lin <shuicheng.lin@intel.com>
Thu, 14 May 2026 15:24:28 +0000 (08:24 -0700)
The residency multiplier conversion in get_residency_ms() used the
floating-point literal 1e6 as the divisor of mul_u64_u32_div(). While
the compiler constant-folds this to an integer, using float literals
in kernel code is bad practice since the kernel generally avoids
floating-point operations.

Replace 1e6 with the standard NSEC_PER_MSEC macro from <linux/time64.h>,
which is both self-documenting (ns to ms conversion) and unambiguously
integer. Add the corresponding include rather than relying on
transitive inclusion.

No functional change.

Assisted-by: Claude:claude-opus-4.6
Reviewed-by: Nitin Gote <nitin.r.gote@intel.com>
Link: https://patch.msgid.link/20260511153307.223435-1-shuicheng.lin@intel.com
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
drivers/gpu/drm/xe/xe_gt_idle.c

index 4a2d9edb6a4c0e448fe3519122e479a1bea7f247..04b24e1c8b78e9de20d2b8d8240898b38e363ac4 100644 (file)
@@ -3,6 +3,8 @@
  * Copyright © 2023 Intel Corporation
  */
 
+#include <linux/time64.h>
+
 #include <drm/drm_managed.h>
 
 #include <generated/xe_wa_oob.h>
@@ -93,7 +95,7 @@ static u64 get_residency_ms(struct xe_gt_idle *gtidle, u64 cur_residency)
        gtidle->cur_residency = cur_residency;
 
        /* residency multiplier in ns, convert to ms */
-       cur_residency = mul_u64_u32_div(cur_residency, gtidle->residency_multiplier, 1e6);
+       cur_residency = mul_u64_u32_div(cur_residency, gtidle->residency_multiplier, NSEC_PER_MSEC);
 
        return cur_residency;
 }