From: Dmytro Laktyushkin <[email protected]>

Update *DynamicMetadata variables for providing more flexibility.

Signed-off-by: Dmytro Laktyushkin <[email protected]>
Reviewed-by: Harry Wentland <[email protected]>
Acked-by: Rodrigo Siqueira <[email protected]>
---
 .../drm/amd/display/dc/dml/dcn30/display_mode_vba_30.c    | 8 +++-----
 drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.h     | 2 +-
 2 files changed, 4 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 75dc4fe41731..b54814f11b74 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
@@ -2567,7 +2567,7 @@ static void 
DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman
                                        &v->VRatioPrefetchC[k],
                                        &v->RequiredPrefetchPixDataBWLuma[k],
                                        &v->RequiredPrefetchPixDataBWChroma[k],
-                                       &v->NotEnoughTimeForDynamicMetadata,
+                                       &v->NotEnoughTimeForDynamicMetadata[k],
                                        &v->Tno_bw[k],
                                        &v->prefetch_vmrow_bw[k],
                                        &v->Tdmdl_vm[k],
@@ -2686,7 +2686,7 @@ static void 
DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman
                v->FractionOfUrgentBandwidth = MaxTotalRDBandwidthNoUrgentBurst 
/ v->ReturnBW;
 
 
-               if (MaxTotalRDBandwidth <= v->ReturnBW && 
v->NotEnoughUrgentLatencyHiding == 0 && v->NotEnoughUrgentLatencyHidingPre == 0 
&& v->NotEnoughTimeForDynamicMetadata == 0 && !VRatioPrefetchMoreThan4
+               if (MaxTotalRDBandwidth <= v->ReturnBW && 
v->NotEnoughUrgentLatencyHiding == 0 && v->NotEnoughUrgentLatencyHidingPre == 0 
&& !VRatioPrefetchMoreThan4
                                && !DestinationLineTimesForPrefetchLessThan2)
                        v->PrefetchModeSupported = true;
                else {
@@ -2695,8 +2695,6 @@ static void 
DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman
                        dml_print("DML: MaxTotalRDBandwidth:%f 
AvailReturnBandwidth:%f\n", MaxTotalRDBandwidth, v->ReturnBW);
                        dml_print("DML: VRatioPrefetch %s more than 4\n", 
(VRatioPrefetchMoreThan4) ? "is" : "is not");
                        dml_print("DML: DestinationLines for Prefetch %s less 
than 2\n", (DestinationLineTimesForPrefetchLessThan2) ? "is" : "is not");
-                       dml_print("DML: Not enough lines for dynamic meta is 
%s\n", (v->NotEnoughTimeForDynamicMetadata) ? "true" : "false");
-
                }
 
                if (v->PrefetchModeSupported == true && v->ImmediateFlipSupport 
== true) {
@@ -2786,7 +2784,7 @@ static void 
DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman
                }
 
                for (k = 0; k < v->NumberOfActivePlanes; ++k) {
-                       if (v->ErrorResult[k]) {
+                       if (v->ErrorResult[k] || 
v->NotEnoughTimeForDynamicMetadata[k]) {
                                v->PrefetchModeSupported = false;
                                dml_print("DML: CalculatePrefetchSchedule 
***failed***. Prefetch schedule violation. Results are NOT valid\n");
                        }
diff --git a/drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.h 
b/drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.h
index f615815c73bd..756d8eb1221c 100644
--- a/drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.h
+++ b/drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.h
@@ -802,7 +802,7 @@ struct vba_vars_st {
        unsigned int DCCCMaxCompressedBlock[DC__NUM_DPP__MAX];
        unsigned int DCCCIndependent64ByteBlock[DC__NUM_DPP__MAX];
        double VStartupMargin;
-       bool NotEnoughTimeForDynamicMetadata;
+       bool NotEnoughTimeForDynamicMetadata[DC__NUM_DPP__MAX];
 
        /* Missing from VBA */
        unsigned int MaximumMaxVStartupLines;
-- 
2.27.0

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to