On Fri, 22 May 2026, Ville Syrjala wrote:
From: Ville Syrjälä <[email protected]>
For some reason we're rounding up when calcualting the deinterleave
s/calcualting/calculating
Reviewed-by: Michał Grzelak <[email protected]>
BR,
Michał
value. But the spec says we should round down. Fix it.
But I suppose this doesn't actually matter since the deinterleave
values should always be power of two. The only exception is therefore
the deinterleave==1 case, which gets handled by the max(..., 1).
Signed-off-by: Ville Syrjälä <[email protected]>
---
drivers/gpu/drm/i915/display/intel_bw.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/display/intel_bw.c
b/drivers/gpu/drm/i915/display/intel_bw.c
index bbaafcc1b6be..da294c1722b1 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.c
+++ b/drivers/gpu/drm/i915/display/intel_bw.c
@@ -607,7 +607,7 @@ static int tgl_get_bw_info(struct intel_display *display,
qi.deinterleave = qi.deinterleave ? : DIV_ROUND_UP(num_channels,
is_y_tile ? 4 : 2);
if (num_channels < qi.max_numchannels && DISPLAY_VER(display) >= 12)
- qi.deinterleave = max(DIV_ROUND_UP(qi.deinterleave, 2), 1);
+ qi.deinterleave = max(qi.deinterleave / 2, 1);
if (DISPLAY_VER(display) >= 12 && num_channels > qi.max_numchannels)
drm_warn(display->drm, "Number of channels exceeds max number of
channels.");
--
2.52.0