]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/amd/display: Correct timing_adjust_pending flag setting.
authorZhongwei Zhang <Zhongwei.Zhang@amd.com>
Fri, 28 Feb 2025 02:35:23 +0000 (10:35 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 10 Mar 2025 17:30:40 +0000 (13:30 -0400)
[Why&How]
stream->adjust will be overwritten by update->crtc_timing_adjust.
We should set update->crtc_timing_adjust->timing_adjust_pending
and then overwrite stream->adjust.
Reset update->crtc_timing_adjust->timing_adjust_pending after
the assignment.

Reviewed-by: Charlene Liu <charlene.liu@amd.com>
Signed-off-by: Zhongwei Zhang <Zhongwei.Zhang@amd.com>
Signed-off-by: Tom Chung <chiahsuan.chung@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 5a43e4901cc07c4a072f4b96a08367a09a6357d8..28d1353f403dfbc9266ad4de1d9ddbfc4f2a4afb 100644 (file)
@@ -3169,8 +3169,9 @@ static void copy_stream_update_to_stream(struct dc *dc,
        if (update->crtc_timing_adjust) {
                if (stream->adjust.v_total_min != update->crtc_timing_adjust->v_total_min ||
                        stream->adjust.v_total_max != update->crtc_timing_adjust->v_total_max)
-                       stream->adjust.timing_adjust_pending = true;
+                       update->crtc_timing_adjust->timing_adjust_pending = true;
                stream->adjust = *update->crtc_timing_adjust;
+               update->crtc_timing_adjust->timing_adjust_pending = false;
        }
 
        if (update->dpms_off)