From: Austin Zheng <[email protected]>

[WHY/HOW]
Tno_bw_flip is a time so it should be a part of the denominator in
the bandwidth calculation.
Fix order of operation so Tno_bw_flip is properly accounted for
when calculating the lower bandwidth bound.

Reviewed-by: Dillon Varone <[email protected]>
Signed-off-by: Austin Zheng <[email protected]>
Signed-off-by: Alex Hung <[email protected]>
---
 .../dml2_0/dml21/src/dml2_core/dml2_core_dcn5_calcs_dchub.c   | 4 ++--
 .../dml2_0/dml21/src/dml2_core/dml2_core_dcn6_calcs_dchub.c   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git 
a/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/src/dml2_core/dml2_core_dcn5_calcs_dchub.c
 
b/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/src/dml2_core/dml2_core_dcn5_calcs_dchub.c
index ab778fac34b2..09047661a411 100644
--- 
a/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/src/dml2_core/dml2_core_dcn5_calcs_dchub.c
+++ 
b/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/src/dml2_core/dml2_core_dcn5_calcs_dchub.c
@@ -4102,10 +4102,10 @@ void dcn5_calculate_flip_schedule(
                                        DML_LOG_VERBOSE("DML::%s: 
Tvm_trips_flip_rounded + 2*Tr0_trips_flip_rounded = %f\n", __func__, 
(Tvm_trips_flip_rounded + 2 * Tr0_trips_flip_rounded));
                                }
                                l->lb_flip_bw = math_max3(l->lb_flip_bw,
-                                               l->hvm_scaled_vm_bytes / (31 * 
LineTime) - Tno_bw_flip,
+                                               l->hvm_scaled_vm_bytes / ((31 * 
LineTime) - Tno_bw_flip),
                                                (l->dpte_row_bytes * 
HostVMInefficiencyFactor + meta_row_bytes) / (15 * LineTime));
 
-                               DML_LOG_VERBOSE("DML::%s: lb_flip_bw for vm reg 
limit = %f\n", __func__, l->hvm_scaled_vm_bytes / (31 * LineTime) - 
Tno_bw_flip);
+                               DML_LOG_VERBOSE("DML::%s: lb_flip_bw for vm reg 
limit = %f\n", __func__, l->hvm_scaled_vm_bytes / ((31 * LineTime) - 
Tno_bw_flip));
                                DML_LOG_VERBOSE("DML::%s: lb_flip_bw for row 
reg limit = %f\n", __func__, (l->dpte_row_bytes * HostVMInefficiencyFactor + 
meta_row_bytes) / (15 * LineTime));
                        }
 
diff --git 
a/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/src/dml2_core/dml2_core_dcn6_calcs_dchub.c
 
b/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/src/dml2_core/dml2_core_dcn6_calcs_dchub.c
index bbc1121fd85a..ba0082e216d5 100644
--- 
a/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/src/dml2_core/dml2_core_dcn6_calcs_dchub.c
+++ 
b/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/src/dml2_core/dml2_core_dcn6_calcs_dchub.c
@@ -631,10 +631,10 @@ void dcn6_calculate_flip_schedule(
                                DML_LOG_VERBOSE("DML::%s: 
Tvm_trips_flip_rounded + 2*Tr0_trips_flip_rounded = %f\n", __func__, 
(Tvm_trips_flip_rounded + 2 * Tr0_trips_flip_rounded));
                        }
                        l->lb_flip_bw = math_max3(l->lb_flip_bw,
-                               l->hvm_scaled_vm_bytes / (31 * LineTime) - 
Tno_bw_flip,
+                               l->hvm_scaled_vm_bytes / ((31 * LineTime) - 
Tno_bw_flip),
                                l->dpte_row_bytes * HostVMInefficiencyFactor / 
(15 * LineTime));
 
-                       DML_LOG_VERBOSE("DML::%s: lb_flip_bw for vm reg limit = 
%f\n", __func__, l->hvm_scaled_vm_bytes / (31 * LineTime) - Tno_bw_flip);
+                       DML_LOG_VERBOSE("DML::%s: lb_flip_bw for vm reg limit = 
%f\n", __func__, l->hvm_scaled_vm_bytes / ((31 * LineTime) - Tno_bw_flip));
                }
 
                *final_flip_bw = l->lb_flip_bw;
-- 
2.43.0

Reply via email to