drm/amd/display: Program vline interrupt on FAST update
authorSivapiriyanKumarasamy <sivapiriyan.kumarasamy@amd.com>
Fri, 18 May 2018 21:05:52 +0000 (17:05 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 27 Aug 2018 16:10:57 +0000 (11:10 -0500)
Signed-off-by: SivapiriyanKumarasamy <sivapiriyan.kumarasamy@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Reviewed-by: Anthony Koo <Anthony.Koo@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc.c

index 2d4a5a85f7999bcd7a693f8e17fea1a307472a5a..699cb6f511217ca4ab2bf313857c13fb2bfeabdb 100644 (file)
@@ -1350,6 +1350,13 @@ static void commit_planes_do_stream_update(struct dc *dc,
                                        stream_update->adjust->v_total_min,
                                        stream_update->adjust->v_total_max);
 
+                       if (stream_update->periodic_fn_vsync_delta &&
+                                       pipe_ctx->stream_res.tg &&
+                                       pipe_ctx->stream_res.tg->funcs->program_vline_interrupt)
+                               pipe_ctx->stream_res.tg->funcs->program_vline_interrupt(
+                                       pipe_ctx->stream_res.tg, &pipe_ctx->stream->timing,
+                                       pipe_ctx->stream->periodic_fn_vsync_delta);
+
                        /* Full fe update*/
                        if (update_type == UPDATE_TYPE_FAST)
                                continue;
@@ -1377,12 +1384,6 @@ static void commit_planes_do_stream_update(struct dc *dc,
                                                pipe_ctx->stream_res.abm, stream->abm_level);
                        }
 
-                       if (stream_update->periodic_fn_vsync_delta &&
-                               pipe_ctx->stream_res.tg->funcs->program_vline_interrupt)
-                                       pipe_ctx->stream_res.tg->funcs->program_vline_interrupt(
-                                               pipe_ctx->stream_res.tg, &pipe_ctx->stream->timing,
-                                               pipe_ctx->stream->periodic_fn_vsync_delta);
-
                        if (stream_update->hdr_static_metadata ||
                                stream_update->vrr_infopacket) {
                                resource_build_info_frame(pipe_ctx);