OSDN Git Service

drm/amd/display: Remove flag check in mpcc update
authorNoah Abradjian <noah.abradjian@amd.com>
Wed, 13 Nov 2019 18:55:53 +0000 (13:55 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 5 Dec 2019 21:31:03 +0000 (16:31 -0500)
[Why]
MPCC programming was being missed during certain split pipe enables due
to full_update flag not being true. This caused a momentary flash on
half the screen. After discussion, determined we should not have that
flag check within update_mpcc, as it should always perform full
programming when called.

[How]
Remove flag check. We call update_blending within insert_plane, so we
do not need to replace its call from the if block.

Signed-off-by: Noah Abradjian <noah.abradjian@amd.com>
Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Acked-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c

index 392542f..3b8b994 100644 (file)
@@ -2158,12 +2158,6 @@ void dcn20_update_mpcc(struct dc *dc, struct pipe_ctx *pipe_ctx)
         */
        mpcc_id = hubp->inst;
 
-       /* If there is no full update, don't need to touch MPC tree*/
-       if (!pipe_ctx->plane_state->update_flags.bits.full_update) {
-               mpc->funcs->update_blending(mpc, &blnd_cfg, mpcc_id);
-               return;
-       }
-
        /* check if this MPCC is already being used */
        new_mpcc = mpc->funcs->get_mpcc_for_dpp(mpc_tree_params, mpcc_id);
        /* remove MPCC if being used */