On Fri, 22 May 2026, Ville Syrjala wrote:
From: Ville Syrjälä <[email protected]>
The TGL+ bw code has an off by one error on the num_planes
calculation, and tgl_max_bw_index() incorrectly bumps
the num_planes to 1 from 0.
That approach made sense on ICL where num_planes is more or
a less minimum number of planes to consider for the group,
Not entirely sure but sounds better to me when s/a less/less/.
Otherwise:
Reviewed-by: Michał Grzelak <[email protected]>
BR,
Michał
but on TGL+ num_planes really is a maximum number of planes,
so these adjustments no longer make any sense there.
Signed-off-by: Ville Syrjälä <[email protected]>
---
drivers/gpu/drm/i915/display/intel_bw.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_bw.c
b/drivers/gpu/drm/i915/display/intel_bw.c
index d7b2bc80f8e3..d10eebec196e 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.c
+++ b/drivers/gpu/drm/i915/display/intel_bw.c
@@ -636,8 +636,7 @@ static int tgl_get_bw_info(struct intel_display *display,
bi_next = &display->bw.max[i + 1];
if (clpchgroup < clperchgroup)
- bi_next->num_planes = (ipqdepth - clpchgroup) /
- clpchgroup + 1;
+ bi_next->num_planes = (ipqdepth - clpchgroup) /
clpchgroup;
else
bi_next->num_planes = 0;
}
@@ -802,11 +801,6 @@ static unsigned int tgl_max_bw_index(struct intel_display
*display,
{
int i;
- /*
- * Let's return max bw for 0 planes
- */
- num_planes = max(1, num_planes);
-
for (i = ARRAY_SIZE(display->bw.max) - 1; i >= 0; i--) {
const struct intel_bw_info *bi =
&display->bw.max[i];
--
2.52.0