forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.h
....@@ -39,11 +39,12 @@
3939 SRII(MPCC_BG_G_Y, MPCC, inst),\
4040 SRII(MPCC_BG_R_CR, MPCC, inst),\
4141 SRII(MPCC_BG_B_CB, MPCC, inst),\
42
- SRII(MPCC_BG_B_CB, MPCC, inst),\
43
- SRII(MPCC_SM_CONTROL, MPCC, inst)
42
+ SRII(MPCC_SM_CONTROL, MPCC, inst),\
43
+ SRII(MPCC_UPDATE_LOCK_SEL, MPCC, inst)
4444
4545 #define MPC_OUT_MUX_COMMON_REG_LIST_DCN1_0(inst) \
46
- SRII(MUX, MPC_OUT, inst)
46
+ SRII(MUX, MPC_OUT, inst),\
47
+ VUPDATE_SRII(CUR, VUPDATE_LOCK_SET, inst)
4748
4849 #define MPC_COMMON_REG_VARIABLE_LIST \
4950 uint32_t MPCC_TOP_SEL[MAX_MPCC]; \
....@@ -55,7 +56,9 @@
5556 uint32_t MPCC_BG_R_CR[MAX_MPCC]; \
5657 uint32_t MPCC_BG_B_CB[MAX_MPCC]; \
5758 uint32_t MPCC_SM_CONTROL[MAX_MPCC]; \
58
- uint32_t MUX[MAX_OPP];
59
+ uint32_t MUX[MAX_OPP]; \
60
+ uint32_t MPCC_UPDATE_LOCK_SEL[MAX_MPCC]; \
61
+ uint32_t CUR[MAX_OPP];
5962
6063 #define MPC_COMMON_MASK_SH_LIST_DCN1_0(mask_sh)\
6164 SF(MPCC0_MPCC_TOP_SEL, MPCC_TOP_SEL, mask_sh),\
....@@ -78,7 +81,8 @@
7881 SF(MPCC0_MPCC_SM_CONTROL, MPCC_SM_FIELD_ALT, mask_sh),\
7982 SF(MPCC0_MPCC_SM_CONTROL, MPCC_SM_FORCE_NEXT_FRAME_POL, mask_sh),\
8083 SF(MPCC0_MPCC_SM_CONTROL, MPCC_SM_FORCE_NEXT_TOP_POL, mask_sh),\
81
- SF(MPC_OUT0_MUX, MPC_OUT_MUX, mask_sh)
84
+ SF(MPC_OUT0_MUX, MPC_OUT_MUX, mask_sh),\
85
+ SF(MPCC0_MPCC_UPDATE_LOCK_SEL, MPCC_UPDATE_LOCK_SEL, mask_sh)
8286
8387 #define MPC_REG_FIELD_LIST(type) \
8488 type MPCC_TOP_SEL;\
....@@ -101,7 +105,9 @@
101105 type MPCC_SM_FIELD_ALT;\
102106 type MPCC_SM_FORCE_NEXT_FRAME_POL;\
103107 type MPCC_SM_FORCE_NEXT_TOP_POL;\
104
- type MPC_OUT_MUX;
108
+ type MPC_OUT_MUX;\
109
+ type MPCC_UPDATE_LOCK_SEL;\
110
+ type CUR_VUPDATE_LOCK_SET;
105111
106112 struct dcn_mpc_registers {
107113 MPC_COMMON_REG_VARIABLE_LIST
....@@ -149,6 +155,10 @@
149155 void mpc1_mpc_init(
150156 struct mpc *mpc);
151157
158
+void mpc1_mpc_init_single_inst(
159
+ struct mpc *mpc,
160
+ unsigned int mpcc_id);
161
+
152162 void mpc1_assert_idle_mpcc(
153163 struct mpc *mpc,
154164 int id);
....@@ -188,4 +198,6 @@
188198 int mpcc_inst,
189199 struct mpcc_state *s);
190200
201
+void mpc1_cursor_lock(struct mpc *mpc, int opp_id, bool lock);
202
+
191203 #endif