drm/amd/display: remove unnecessary mpcc updates
authorDmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Fri, 22 May 2020 15:36:27 +0000 (11:36 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 1 Jul 2020 05:59:20 +0000 (01:59 -0400)
We were updating mpcc if there were tree changes which
is unnecessary since any mpcc being added or removed
will automatically update the tree.

Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Reviewed-by: Eric Bernstein <Eric.Bernstein@amd.com>
Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c

index 65e83fd..db57cb6 100644 (file)
@@ -1265,14 +1265,13 @@ static void dcn20_detect_pipe_changes(struct pipe_ctx *old_pipe, struct pipe_ctx
        if (old_pipe->stream_res.tg != new_pipe->stream_res.tg)
                new_pipe->update_flags.bits.tg_changed = 1;
 
-       /* Detect mpcc blending changes, only dpp inst and bot matter here */
+       /*
+        * Detect mpcc blending changes, only dpp inst and opp matter here,
+        * mpccs getting removed/inserted update connected ones during their own
+        * programming
+        */
        if (old_pipe->plane_res.dpp != new_pipe->plane_res.dpp
-                       || old_pipe->stream_res.opp != new_pipe->stream_res.opp
-                       || (!old_pipe->bottom_pipe && new_pipe->bottom_pipe)
-                       || (old_pipe->bottom_pipe && !new_pipe->bottom_pipe)
-                       || (old_pipe->bottom_pipe && new_pipe->bottom_pipe
-                               && old_pipe->bottom_pipe->plane_res.mpcc_inst
-                                       != new_pipe->bottom_pipe->plane_res.mpcc_inst))
+                       || old_pipe->stream_res.opp != new_pipe->stream_res.opp)
                new_pipe->update_flags.bits.mpcc = 1;
 
        /* Detect dppclk change */