From: Zhongwei Zhang <zhongwei.zh...@amd.com>

[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....@amd.com>
Signed-off-by: Zhongwei Zhang <zhongwei.zh...@amd.com>
Signed-off-by: Tom Chung <chiahsuan.ch...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc.c | 3 ++-
 1 file changed, 2 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 5a43e4901cc0..28d1353f403d 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -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)
-- 
2.34.1

Reply via email to