From: Ville Syrjälä <[email protected]>

DEPROGBWPCLIMIT is specified in %, so divide by 100 instead of 10.

Fortunately the deprobbwlimit is much lower than the peak memory
bandwidth on BMG, so whether we take 60% or 600% of the peak
bandwidth doesn't matter as the min() will pick the lower
deprobbwlimit anyway.

Eg. on the BMG here I get (with or without the fix):
 QGV 0: deratedbw=33600 peakbw=48000
 QGV 1: deratedbw=53000 peakbw=456000

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 74a0cb65161c..f2c7e7061ffa 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.c
+++ b/drivers/gpu/drm/i915/display/intel_bw.c
@@ -738,7 +738,7 @@ static int xe2_hpd_get_bw_info(struct intel_display 
*display,
        }
 
        peakbw = num_channels * qi.channel_width / 8 * icl_sagv_max_dclk(&qi);
-       maxdebw = min(soc_bw_params->deprogbwlimit * 1000, peakbw * 
DEPROGBWPCLIMIT / 10);
+       maxdebw = min(soc_bw_params->deprogbwlimit * 1000, peakbw * 
DEPROGBWPCLIMIT / 100);
 
        for (i = 0; i < qi.num_points; i++) {
                const struct intel_qgv_point *point = &qi.points[i];
-- 
2.52.0

Reply via email to