From: Sherry Wang <yao.wa...@amd.com>

[Why]
DML calculation is different from HW formula.

[How]
Correct the bug to keep it same as HW formula.

Reviewed-by: Rodrigo Siqueira <rodrigo.sique...@amd.com>
Signed-off-by: Sherry Wang <yao.wa...@amd.com>
---
 .../gpu/drm/amd/display/dc/dml/dcn30/display_mode_vba_30.c    | 4 ++--
 .../gpu/drm/amd/display/dc/dml/dcn31/display_mode_vba_31.c    | 4 ++--
 .../gpu/drm/amd/display/dc/dml/dcn314/display_mode_vba_314.c  | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn30/display_mode_vba_30.c 
b/drivers/gpu/drm/amd/display/dc/dml/dcn30/display_mode_vba_30.c
index 7d0626e42ea6..dea2b84e5ebe 100644
--- a/drivers/gpu/drm/amd/display/dc/dml/dcn30/display_mode_vba_30.c
+++ b/drivers/gpu/drm/amd/display/dc/dml/dcn30/display_mode_vba_30.c
@@ -4939,8 +4939,8 @@ void dml30_ModeSupportAndSystemConfigurationFull(struct 
display_mode_lib *mode_l
                                        }
                                        v->TotImmediateFlipBytes = 0.0;
                                        for (k = 0; k <= 
v->NumberOfActivePlanes - 1; k++) {
-                                               v->TotImmediateFlipBytes = 
v->TotImmediateFlipBytes + v->NoOfDPP[i][j][k] * 
v->PDEAndMetaPTEBytesPerFrame[i][j][k]
-                                                               + 
v->MetaRowBytes[i][j][k] + v->DPTEBytesPerRow[i][j][k];
+                                               v->TotImmediateFlipBytes = 
v->TotImmediateFlipBytes + v->NoOfDPP[i][j][k] * 
(v->PDEAndMetaPTEBytesPerFrame[i][j][k]
+                                                               + 
v->MetaRowBytes[i][j][k] + v->DPTEBytesPerRow[i][j][k]);
                                        }
 
                                        for (k = 0; k <= 
v->NumberOfActivePlanes - 1; k++) {
diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn31/display_mode_vba_31.c 
b/drivers/gpu/drm/amd/display/dc/dml/dcn31/display_mode_vba_31.c
index bd674dc30df3..330b089d6a86 100644
--- a/drivers/gpu/drm/amd/display/dc/dml/dcn31/display_mode_vba_31.c
+++ b/drivers/gpu/drm/amd/display/dc/dml/dcn31/display_mode_vba_31.c
@@ -5274,8 +5274,8 @@ void dml31_ModeSupportAndSystemConfigurationFull(struct 
display_mode_lib *mode_l
                                        v->TotImmediateFlipBytes = 0.0;
                                        for (k = 0; k < 
v->NumberOfActivePlanes; k++) {
                                                v->TotImmediateFlipBytes = 
v->TotImmediateFlipBytes
-                                                               + 
v->NoOfDPP[i][j][k] * v->PDEAndMetaPTEBytesPerFrame[i][j][k] + 
v->MetaRowBytes[i][j][k]
-                                                               + 
v->DPTEBytesPerRow[i][j][k];
+                                                               + 
v->NoOfDPP[i][j][k] * (v->PDEAndMetaPTEBytesPerFrame[i][j][k] + 
v->MetaRowBytes[i][j][k]
+                                                               + 
v->DPTEBytesPerRow[i][j][k]);
                                        }
 
                                        for (k = 0; k < 
v->NumberOfActivePlanes; k++) {
diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn314/display_mode_vba_314.c 
b/drivers/gpu/drm/amd/display/dc/dml/dcn314/display_mode_vba_314.c
index 7eb2173b7691..27b83162ae45 100644
--- a/drivers/gpu/drm/amd/display/dc/dml/dcn314/display_mode_vba_314.c
+++ b/drivers/gpu/drm/amd/display/dc/dml/dcn314/display_mode_vba_314.c
@@ -5371,8 +5371,8 @@ void dml314_ModeSupportAndSystemConfigurationFull(struct 
display_mode_lib *mode_
                                        v->TotImmediateFlipBytes = 0.0;
                                        for (k = 0; k < 
v->NumberOfActivePlanes; k++) {
                                                v->TotImmediateFlipBytes = 
v->TotImmediateFlipBytes
-                                                               + 
v->NoOfDPP[i][j][k] * v->PDEAndMetaPTEBytesPerFrame[i][j][k] + 
v->MetaRowBytes[i][j][k]
-                                                               + 
v->DPTEBytesPerRow[i][j][k];
+                                                               + 
v->NoOfDPP[i][j][k] * (v->PDEAndMetaPTEBytesPerFrame[i][j][k] + 
v->MetaRowBytes[i][j][k]
+                                                               + 
v->DPTEBytesPerRow[i][j][k]);
                                        }
 
                                        for (k = 0; k < 
v->NumberOfActivePlanes; k++) {
-- 
2.34.1

Reply via email to