]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
drm/amd/display: Move update_plane_addr to apply_ctx_for_surface for dce.
authorYongqiang Sun <yongqiang.sun@amd.com>
Thu, 9 Nov 2017 18:55:46 +0000 (13:55 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 6 Dec 2017 17:48:07 +0000 (12:48 -0500)
Move update_plane_addr to apply_ctx_for_surface, address update will
just be called once, not twice for updat type is full and medium.
This will reduce some reg access and duration time.

Signed-off-by: Yongqiang Sun <yongqiang.sun@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Reviewed-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
drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c

index f8cbc4f0b1a375bfc3e7dff052c6debc7f3a07e6..fb33556eeac6b1a7b8efaa430d5916b3e46496e6 100644 (file)
@@ -1314,8 +1314,8 @@ static void commit_planes_for_stream(struct dc *dc,
                        if (pipe_ctx->plane_state != plane_state)
                                continue;
 
-                       if (srf_updates[i].flip_addr)
-                               dc->hwss.update_plane_addr(dc, pipe_ctx);
+                       if (update_type == UPDATE_TYPE_FAST && srf_updates[i].flip_addr)
+                                       dc->hwss.update_plane_addr(dc, pipe_ctx);
                }
        }
 
index 09051dfe1844b094f6d42c796c944102d7ca9aed..e650bdcd9423b22e3d07cfb95b4e052059867ad1 100644 (file)
@@ -2881,6 +2881,9 @@ static void dce110_apply_ctx_for_surface(
                                        context->stream_count);
 
                dce110_program_front_end_for_pipe(dc, pipe_ctx);
+
+               dc->hwss.update_plane_addr(dc, pipe_ctx);
+
                program_surface_visibility(dc, pipe_ctx);
 
        }