From: Eric Bernstein <eric.bernstein@amd.com>
Date: Mon, 27 Nov 2017 10:55:52 -0500
Subject: drm/amd/display: use REG_UPDATE for MPC mux
Git-commit: 043b19bdedf5d76d4a614f508baaf83aaf7c4b6e
Patch-mainline: v4.16-rc1
References: FATE#326289 FATE#326079 FATE#326049 FATE#322398 FATE#326166
Use REG_UPDATE instead of REG_SET for programming MPC out mux.
Signed-off-by: Eric Bernstein <eric.bernstein@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
--- 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);
}
}