]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe: Fix bug in idledly unit conversion
authorVinay Belgaumkar <vinay.belgaumkar@intel.com>
Wed, 1 Apr 2026 01:27:10 +0000 (18:27 -0700)
committerVinay Belgaumkar <vinay.belgaumkar@intel.com>
Fri, 3 Apr 2026 20:32:57 +0000 (13:32 -0700)
We only need to convert to picosecond units before writing to RING_IDLEDLY.

Fixes: 7c53ff050ba8 ("drm/xe: Apply Wa_16023105232")
Cc: Tangudu Tilak Tirumalesh <tilak.tirumalesh.tangudu@intel.com>
Acked-by: Tangudu Tilak Tirumalesh <tilak.tirumalesh.tangudu@intel.com>
Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
Link: https://patch.msgid.link/20260401012710.4165547-1-vinay.belgaumkar@intel.com
drivers/gpu/drm/xe/xe_hw_engine.c

index 337baf0a6e8781b57c3fa3a53ef0d7eef3632d1c..6dd05fac659564b52adb36858c6082177a8e453f 100644 (file)
@@ -597,9 +597,8 @@ static void adjust_idledly(struct xe_hw_engine *hwe)
                maxcnt *= maxcnt_units_ns;
 
                if (xe_gt_WARN_ON(gt, idledly >= maxcnt || inhibit_switch)) {
-                       idledly = DIV_ROUND_CLOSEST(((maxcnt - 1) * maxcnt_units_ns),
+                       idledly = DIV_ROUND_CLOSEST(((maxcnt - 1) * 1000),
                                                    idledly_units_ps);
-                       idledly = DIV_ROUND_CLOSEST(idledly, 1000);
                        xe_mmio_write32(&gt->mmio, RING_IDLEDLY(hwe->mmio_base), idledly);
                }
        }