From: Eric Bernstein Date: Mon, 27 Nov 2017 15:55:52 +0000 (-0500) Subject: drm/amd/display: use REG_UPDATE for MPC mux X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=043b19bdedf5d76d4a614f508baaf83aaf7c4b6e;p=openwrt%2Fstaging%2Fblogic.git drm/amd/display: use REG_UPDATE for MPC mux Use REG_UPDATE instead of REG_SET for programming MPC out mux. Signed-off-by: Eric Bernstein Reviewed-by: Tony Cheng Acked-by: Harry Wentland Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c index 1e72bd42dca4..179890b1a8c4 100644 --- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c +++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c @@ -218,7 +218,7 @@ struct mpcc *mpc1_insert_plane( if (tree->opp_list == insert_above_mpcc) { /* insert the toppest mpcc */ tree->opp_list = new_mpcc; - REG_SET(MUX[tree->opp_id], 0, MPC_OUT_MUX, mpcc_id); + REG_UPDATE(MUX[tree->opp_id], MPC_OUT_MUX, mpcc_id); } else { /* find insert position */ struct mpcc *temp_mpcc = tree->opp_list; @@ -275,11 +275,11 @@ void mpc1_remove_mpcc( if (mpcc_to_remove->mpcc_bot) { /* set the next MPCC in list to be the top MPCC */ tree->opp_list = mpcc_to_remove->mpcc_bot; - REG_SET(MUX[tree->opp_id], 0, MPC_OUT_MUX, tree->opp_list->mpcc_id); + REG_UPDATE(MUX[tree->opp_id], MPC_OUT_MUX, tree->opp_list->mpcc_id); } else { /* there are no other MPCC is list */ tree->opp_list = NULL; - REG_SET(MUX[tree->opp_id], 0, MPC_OUT_MUX, 0xf); + REG_UPDATE(MUX[tree->opp_id], MPC_OUT_MUX, 0xf); } } else { /* find mpcc to remove MPCC list */ @@ -359,7 +359,7 @@ void mpc1_mpc_init(struct mpc *mpc) for (opp_id = 0; opp_id < MAX_OPP; opp_id++) { if (REG(MUX[opp_id])) - REG_SET(MUX[opp_id], 0, MPC_OUT_MUX, 0xf); + REG_UPDATE(MUX[opp_id], MPC_OUT_MUX, 0xf); } }