From: Aurabindo Pillai <aurabindo.pil...@amd.com>

timing_adjust_pending is used to defer certain programming sequences
when OTG timing is about to be changed, like with VRR. Insufficient
checking for timing change in this case caused a regression which
reduces PSR Replay residency.

Reviewed-by: Tom Chung <chiahsuan.ch...@amd.com>
Signed-off-by: Aurabindo Pillai <aurabindo.pil...@amd.com>
Signed-off-by: Robin Chen <robin.c...@amd.com>
Signed-off-by: Wayne Lin <wayne....@amd.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c 
b/drivers/gpu/drm/amd/display/dc/core/dc.c
index c31f7f8e409f..61d0940cd41f 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -446,7 +446,9 @@ bool dc_stream_adjust_vmin_vmax(struct dc *dc,
         * avoid conflicting with firmware updates.
         */
        if (dc->ctx->dce_version > DCE_VERSION_MAX) {
-               if (dc->optimized_required || dc->wm_optimized_required) {
+               if ((dc->optimized_required || dc->wm_optimized_required) &&
+                       (stream->adjust.v_total_max != adjust->v_total_max ||
+                       stream->adjust.v_total_min != adjust->v_total_min)) {
                        stream->adjust.timing_adjust_pending = true;
                        return false;
                }
-- 
2.43.0

Reply via email to