From: Hong-lu Cheng <hong-lu.ch...@amd.com>

[why]
Endless assert caused by LinesInDETChroma=0.

[how]
Don't floor for LinesInDETChroma=0

Reviewed-by: Jun Lei <jun....@amd.com>
Acked-by: Rodrigo Siqueira <rodrigo.sique...@amd.com>
Signed-off-by: Hong-lu Cheng <hong-lu.ch...@amd.com>
---
 .../display/dc/dml/dcn20/display_mode_vba_20.c   | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20.c 
b/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20.c
index 6266b0788387..7bf4bb7ad044 100644
--- a/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20.c
+++ b/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20.c
@@ -4356,12 +4356,16 @@ void dml20_ModeSupportAndSystemConfigurationFull(struct 
display_mode_lib *mode_l
                                                locals->PSCL_FACTOR[k] / 
locals->ReturnBWPerState[i][0],
                                                
locals->EffectiveLBLatencyHidingSourceLinesLuma),
                                                
locals->SwathHeightYPerState[i][j][k]);
-
-                               locals->EffectiveDETLBLinesChroma = 
dml_floor(locals->LinesInDETChroma + dml_min(
-                                               locals->LinesInDETChroma * 
locals->RequiredDISPCLK[i][j] * locals->BytePerPixelInDETC[k] *
-                                               locals->PSCL_FACTOR_CHROMA[k] / 
locals->ReturnBWPerState[i][0],
-                                               
locals->EffectiveLBLatencyHidingSourceLinesChroma),
-                                               
locals->SwathHeightCPerState[i][j][k]);
+                               if (locals->LinesInDETChroma) {
+                                       locals->EffectiveDETLBLinesChroma = 
dml_floor(locals->LinesInDETChroma +
+                                                   
dml_min(locals->LinesInDETChroma * locals->RequiredDISPCLK[i][j] *
+                                                   
locals->BytePerPixelInDETC[k] *
+                                                       
locals->PSCL_FACTOR_CHROMA[k] / locals->ReturnBWPerState[i][0],
+                                                       
locals->EffectiveLBLatencyHidingSourceLinesChroma),
+                                                       
locals->SwathHeightCPerState[i][j][k]);
+                               } else {
+                                       locals->EffectiveDETLBLinesChroma = 0;
+                               }
 
                                if (locals->BytePerPixelInDETC[k] == 0) {
                                        
locals->UrgentLatencySupportUsPerState[i][j][k] = 
locals->EffectiveDETLBLinesLuma * (locals->HTotal[k] / locals->PixelClock[k])
-- 
2.39.2

Reply via email to