]> www.infradead.org Git - users/willy/xarray.git/commitdiff
drm/amd/display: fix condition for setting timing_adjust_pending
authorAurabindo Pillai <aurabindo.pillai@amd.com>
Wed, 25 Jun 2025 14:11:22 +0000 (10:11 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 28 Jul 2025 20:40:05 +0000 (16:40 -0400)
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.chung@amd.com>
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: Robin Chen <robin.chen@amd.com>
Signed-off-by: Wayne Lin <wayne.lin@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc.c

index 28aca7017f0f7d6d4628d5757c5b86ad6b3551cd..60a78c53addd8223d1de85d31c964fa755591a76 100644 (file)
@@ -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;
                }