]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/bw: Fix bw rounding direction
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 22 May 2026 20:03:39 +0000 (23:03 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 28 May 2026 03:48:11 +0000 (06:48 +0300)
The DRAM bandwidth value should be rounded down, not up.

Bspec: 64631
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/20260522200346.17377-4-ville.syrjala@linux.intel.com
Reviewed-by: Michał Grzelak <michal.grzelak@intel.com>
Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
drivers/gpu/drm/i915/display/intel_bw.c

index 0530eb68aaded7972715b0111073b1c9b4352745..76aab2965858c0af75ac860d5734a3b614c1f5b7 100644 (file)
@@ -555,7 +555,7 @@ static int icl_get_bw_info(struct intel_display *display,
                         */
                        ct = max_t(int, sp->t_rc, sp->t_rp + sp->t_rcd +
                                   (clpchgroup - 1) * qi.t_bl + sp->t_rdpre);
-                       bw = DIV_ROUND_UP(sp->dclk * clpchgroup * 32 * num_channels, ct);
+                       bw = sp->dclk * clpchgroup * 32 * num_channels / ct;
 
                        bi->deratedbw[j] = min(maxdebw,
                                               bw * (100 - soc_bw_params->derating) / 100);
@@ -658,7 +658,7 @@ static int tgl_get_bw_info(struct intel_display *display,
                         */
                        ct = max_t(int, sp->t_rc, sp->t_rp + sp->t_rcd +
                                   (clpchgroup - 1) * qi.t_bl + sp->t_rdpre);
-                       bw = DIV_ROUND_UP(sp->dclk * clpchgroup * 32 * num_channels, ct);
+                       bw = sp->dclk * clpchgroup * 32 * num_channels / ct;
 
                        bi->deratedbw[j] = min(maxdebw,
                                               bw * (100 - soc_bw_params->derating) / 100);