xref: /dflybsd-src/sys/dev/drm/amd/display/dc/dce/dce_stream_encoder.h (revision b843c749addef9340ee7d4e250b09fdd492602a1)
1*b843c749SSergey Zigachev /*
2*b843c749SSergey Zigachev  * Copyright 2012-15 Advanced Micro Devices, Inc.
3*b843c749SSergey Zigachev  *
4*b843c749SSergey Zigachev  * Permission is hereby granted, free of charge, to any person obtaining a
5*b843c749SSergey Zigachev  * copy of this software and associated documentation files (the "Software"),
6*b843c749SSergey Zigachev  * to deal in the Software without restriction, including without limitation
7*b843c749SSergey Zigachev  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8*b843c749SSergey Zigachev  *  and/or sell copies of the Software, and to permit persons to whom the
9*b843c749SSergey Zigachev  * Software is furnished to do so, subject to the following conditions:
10*b843c749SSergey Zigachev  *
11*b843c749SSergey Zigachev  * The above copyright notice and this permission notice shall be included in
12*b843c749SSergey Zigachev  * all copies or substantial portions of the Software.
13*b843c749SSergey Zigachev  *
14*b843c749SSergey Zigachev  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15*b843c749SSergey Zigachev  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16*b843c749SSergey Zigachev  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17*b843c749SSergey Zigachev  * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
18*b843c749SSergey Zigachev  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19*b843c749SSergey Zigachev  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20*b843c749SSergey Zigachev  * OTHER DEALINGS IN THE SOFTWARE.
21*b843c749SSergey Zigachev  *
22*b843c749SSergey Zigachev  * Authors: AMD
23*b843c749SSergey Zigachev  *
24*b843c749SSergey Zigachev  */
25*b843c749SSergey Zigachev 
26*b843c749SSergey Zigachev #ifndef __DC_STREAM_ENCODER_DCE110_H__
27*b843c749SSergey Zigachev #define __DC_STREAM_ENCODER_DCE110_H__
28*b843c749SSergey Zigachev 
29*b843c749SSergey Zigachev #include "stream_encoder.h"
30*b843c749SSergey Zigachev 
31*b843c749SSergey Zigachev #define DCE110STRENC_FROM_STRENC(stream_encoder)\
32*b843c749SSergey Zigachev 	container_of(stream_encoder, struct dce110_stream_encoder, base)
33*b843c749SSergey Zigachev 
34*b843c749SSergey Zigachev #ifndef TMDS_CNTL__TMDS_PIXEL_ENCODING_MASK
35*b843c749SSergey Zigachev 	#define TMDS_CNTL__TMDS_PIXEL_ENCODING_MASK       0x00000010L
36*b843c749SSergey Zigachev 	#define TMDS_CNTL__TMDS_COLOR_FORMAT_MASK         0x00000300L
37*b843c749SSergey Zigachev 	#define	TMDS_CNTL__TMDS_PIXEL_ENCODING__SHIFT     0x00000004
38*b843c749SSergey Zigachev 	#define	TMDS_CNTL__TMDS_COLOR_FORMAT__SHIFT       0x00000008
39*b843c749SSergey Zigachev #endif
40*b843c749SSergey Zigachev 
41*b843c749SSergey Zigachev 
42*b843c749SSergey Zigachev #define SE_COMMON_REG_LIST_DCE_BASE(id) \
43*b843c749SSergey Zigachev 	SE_COMMON_REG_LIST_BASE(id),\
44*b843c749SSergey Zigachev 	SRI(AFMT_AVI_INFO0, DIG, id), \
45*b843c749SSergey Zigachev 	SRI(AFMT_AVI_INFO1, DIG, id), \
46*b843c749SSergey Zigachev 	SRI(AFMT_AVI_INFO2, DIG, id), \
47*b843c749SSergey Zigachev 	SRI(AFMT_AVI_INFO3, DIG, id)
48*b843c749SSergey Zigachev 
49*b843c749SSergey Zigachev #define SE_COMMON_REG_LIST_BASE(id) \
50*b843c749SSergey Zigachev 	SRI(AFMT_GENERIC_0, DIG, id), \
51*b843c749SSergey Zigachev 	SRI(AFMT_GENERIC_1, DIG, id), \
52*b843c749SSergey Zigachev 	SRI(AFMT_GENERIC_2, DIG, id), \
53*b843c749SSergey Zigachev 	SRI(AFMT_GENERIC_3, DIG, id), \
54*b843c749SSergey Zigachev 	SRI(AFMT_GENERIC_4, DIG, id), \
55*b843c749SSergey Zigachev 	SRI(AFMT_GENERIC_5, DIG, id), \
56*b843c749SSergey Zigachev 	SRI(AFMT_GENERIC_6, DIG, id), \
57*b843c749SSergey Zigachev 	SRI(AFMT_GENERIC_7, DIG, id), \
58*b843c749SSergey Zigachev 	SRI(AFMT_GENERIC_HDR, DIG, id), \
59*b843c749SSergey Zigachev 	SRI(AFMT_INFOFRAME_CONTROL0, DIG, id), \
60*b843c749SSergey Zigachev 	SRI(AFMT_VBI_PACKET_CONTROL, DIG, id), \
61*b843c749SSergey Zigachev 	SRI(AFMT_AUDIO_PACKET_CONTROL, DIG, id), \
62*b843c749SSergey Zigachev 	SRI(AFMT_AUDIO_PACKET_CONTROL2, DIG, id), \
63*b843c749SSergey Zigachev 	SRI(AFMT_AUDIO_SRC_CONTROL, DIG, id), \
64*b843c749SSergey Zigachev 	SRI(AFMT_60958_0, DIG, id), \
65*b843c749SSergey Zigachev 	SRI(AFMT_60958_1, DIG, id), \
66*b843c749SSergey Zigachev 	SRI(AFMT_60958_2, DIG, id), \
67*b843c749SSergey Zigachev 	SRI(DIG_FE_CNTL, DIG, id), \
68*b843c749SSergey Zigachev 	SRI(HDMI_CONTROL, DIG, id), \
69*b843c749SSergey Zigachev 	SRI(HDMI_GC, DIG, id), \
70*b843c749SSergey Zigachev 	SRI(HDMI_GENERIC_PACKET_CONTROL0, DIG, id), \
71*b843c749SSergey Zigachev 	SRI(HDMI_GENERIC_PACKET_CONTROL1, DIG, id), \
72*b843c749SSergey Zigachev 	SRI(HDMI_INFOFRAME_CONTROL0, DIG, id), \
73*b843c749SSergey Zigachev 	SRI(HDMI_INFOFRAME_CONTROL1, DIG, id), \
74*b843c749SSergey Zigachev 	SRI(HDMI_VBI_PACKET_CONTROL, DIG, id), \
75*b843c749SSergey Zigachev 	SRI(HDMI_AUDIO_PACKET_CONTROL, DIG, id),\
76*b843c749SSergey Zigachev 	SRI(HDMI_ACR_PACKET_CONTROL, DIG, id),\
77*b843c749SSergey Zigachev 	SRI(HDMI_ACR_32_0, DIG, id),\
78*b843c749SSergey Zigachev 	SRI(HDMI_ACR_32_1, DIG, id),\
79*b843c749SSergey Zigachev 	SRI(HDMI_ACR_44_0, DIG, id),\
80*b843c749SSergey Zigachev 	SRI(HDMI_ACR_44_1, DIG, id),\
81*b843c749SSergey Zigachev 	SRI(HDMI_ACR_48_0, DIG, id),\
82*b843c749SSergey Zigachev 	SRI(HDMI_ACR_48_1, DIG, id),\
83*b843c749SSergey Zigachev 	SRI(TMDS_CNTL, DIG, id), \
84*b843c749SSergey Zigachev 	SRI(DP_MSE_RATE_CNTL, DP, id), \
85*b843c749SSergey Zigachev 	SRI(DP_MSE_RATE_UPDATE, DP, id), \
86*b843c749SSergey Zigachev 	SRI(DP_PIXEL_FORMAT, DP, id), \
87*b843c749SSergey Zigachev 	SRI(DP_SEC_CNTL, DP, id), \
88*b843c749SSergey Zigachev 	SRI(DP_STEER_FIFO, DP, id), \
89*b843c749SSergey Zigachev 	SRI(DP_VID_M, DP, id), \
90*b843c749SSergey Zigachev 	SRI(DP_VID_N, DP, id), \
91*b843c749SSergey Zigachev 	SRI(DP_VID_STREAM_CNTL, DP, id), \
92*b843c749SSergey Zigachev 	SRI(DP_VID_TIMING, DP, id), \
93*b843c749SSergey Zigachev 	SRI(DP_SEC_AUD_N, DP, id), \
94*b843c749SSergey Zigachev 	SRI(DP_SEC_TIMESTAMP, DP, id)
95*b843c749SSergey Zigachev 
96*b843c749SSergey Zigachev #define SE_COMMON_REG_LIST(id)\
97*b843c749SSergey Zigachev 	SE_COMMON_REG_LIST_DCE_BASE(id), \
98*b843c749SSergey Zigachev 	SRI(AFMT_CNTL, DIG, id)
99*b843c749SSergey Zigachev 
100*b843c749SSergey Zigachev #define SE_DCN_REG_LIST(id)\
101*b843c749SSergey Zigachev 	SE_COMMON_REG_LIST_BASE(id),\
102*b843c749SSergey Zigachev 	SRI(AFMT_CNTL, DIG, id),\
103*b843c749SSergey Zigachev 	SRI(AFMT_VBI_PACKET_CONTROL1, DIG, id),\
104*b843c749SSergey Zigachev 	SRI(HDMI_GENERIC_PACKET_CONTROL2, DIG, id), \
105*b843c749SSergey Zigachev 	SRI(HDMI_GENERIC_PACKET_CONTROL3, DIG, id), \
106*b843c749SSergey Zigachev 	SRI(DP_DB_CNTL, DP, id), \
107*b843c749SSergey Zigachev 	SRI(DP_MSA_MISC, DP, id), \
108*b843c749SSergey Zigachev 	SRI(DP_MSA_COLORIMETRY, DP, id), \
109*b843c749SSergey Zigachev 	SRI(DP_MSA_TIMING_PARAM1, DP, id), \
110*b843c749SSergey Zigachev 	SRI(DP_MSA_TIMING_PARAM2, DP, id), \
111*b843c749SSergey Zigachev 	SRI(DP_MSA_TIMING_PARAM3, DP, id), \
112*b843c749SSergey Zigachev 	SRI(DP_MSA_TIMING_PARAM4, DP, id), \
113*b843c749SSergey Zigachev 	SRI(HDMI_DB_CONTROL, DIG, id)
114*b843c749SSergey Zigachev 
115*b843c749SSergey Zigachev #define SE_SF(reg_name, field_name, post_fix)\
116*b843c749SSergey Zigachev 	.field_name = reg_name ## __ ## field_name ## post_fix
117*b843c749SSergey Zigachev 
118*b843c749SSergey Zigachev #define SE_COMMON_MASK_SH_LIST_DCE_COMMON_BASE(mask_sh)\
119*b843c749SSergey Zigachev 	SE_SF(AFMT_VBI_PACKET_CONTROL, AFMT_GENERIC_INDEX, mask_sh),\
120*b843c749SSergey Zigachev 	SE_SF(AFMT_VBI_PACKET_CONTROL, AFMT_GENERIC0_UPDATE, mask_sh),\
121*b843c749SSergey Zigachev 	SE_SF(AFMT_VBI_PACKET_CONTROL, AFMT_GENERIC2_UPDATE, mask_sh),\
122*b843c749SSergey Zigachev 	SE_SF(AFMT_GENERIC_HDR, AFMT_GENERIC_HB0, mask_sh),\
123*b843c749SSergey Zigachev 	SE_SF(AFMT_GENERIC_HDR, AFMT_GENERIC_HB1, mask_sh),\
124*b843c749SSergey Zigachev 	SE_SF(AFMT_GENERIC_HDR, AFMT_GENERIC_HB2, mask_sh),\
125*b843c749SSergey Zigachev 	SE_SF(AFMT_GENERIC_HDR, AFMT_GENERIC_HB3, mask_sh),\
126*b843c749SSergey Zigachev 	SE_SF(HDMI_GENERIC_PACKET_CONTROL0, HDMI_GENERIC0_CONT, mask_sh),\
127*b843c749SSergey Zigachev 	SE_SF(HDMI_GENERIC_PACKET_CONTROL0, HDMI_GENERIC0_SEND, mask_sh),\
128*b843c749SSergey Zigachev 	SE_SF(HDMI_GENERIC_PACKET_CONTROL0, HDMI_GENERIC0_LINE, mask_sh),\
129*b843c749SSergey Zigachev 	SE_SF(HDMI_GENERIC_PACKET_CONTROL0, HDMI_GENERIC1_CONT, mask_sh),\
130*b843c749SSergey Zigachev 	SE_SF(HDMI_GENERIC_PACKET_CONTROL0, HDMI_GENERIC1_SEND, mask_sh),\
131*b843c749SSergey Zigachev 	SE_SF(HDMI_GENERIC_PACKET_CONTROL0, HDMI_GENERIC1_LINE, mask_sh),\
132*b843c749SSergey Zigachev 	SE_SF(DP_PIXEL_FORMAT, DP_PIXEL_ENCODING, mask_sh),\
133*b843c749SSergey Zigachev 	SE_SF(DP_PIXEL_FORMAT, DP_COMPONENT_DEPTH, mask_sh),\
134*b843c749SSergey Zigachev 	SE_SF(DP_PIXEL_FORMAT, DP_DYN_RANGE, mask_sh),\
135*b843c749SSergey Zigachev 	SE_SF(DP_PIXEL_FORMAT, DP_YCBCR_RANGE, mask_sh),\
136*b843c749SSergey Zigachev 	SE_SF(HDMI_CONTROL, HDMI_PACKET_GEN_VERSION, mask_sh),\
137*b843c749SSergey Zigachev 	SE_SF(HDMI_CONTROL, HDMI_KEEPOUT_MODE, mask_sh),\
138*b843c749SSergey Zigachev 	SE_SF(HDMI_CONTROL, HDMI_DEEP_COLOR_ENABLE, mask_sh),\
139*b843c749SSergey Zigachev 	SE_SF(HDMI_CONTROL, HDMI_DEEP_COLOR_DEPTH, mask_sh),\
140*b843c749SSergey Zigachev 	SE_SF(HDMI_VBI_PACKET_CONTROL, HDMI_GC_CONT, mask_sh),\
141*b843c749SSergey Zigachev 	SE_SF(HDMI_VBI_PACKET_CONTROL, HDMI_GC_SEND, mask_sh),\
142*b843c749SSergey Zigachev 	SE_SF(HDMI_VBI_PACKET_CONTROL, HDMI_NULL_SEND, mask_sh),\
143*b843c749SSergey Zigachev 	SE_SF(HDMI_INFOFRAME_CONTROL0, HDMI_AUDIO_INFO_SEND, mask_sh),\
144*b843c749SSergey Zigachev 	SE_SF(AFMT_INFOFRAME_CONTROL0, AFMT_AUDIO_INFO_UPDATE, mask_sh),\
145*b843c749SSergey Zigachev 	SE_SF(HDMI_INFOFRAME_CONTROL1, HDMI_AUDIO_INFO_LINE, mask_sh),\
146*b843c749SSergey Zigachev 	SE_SF(HDMI_GC, HDMI_GC_AVMUTE, mask_sh),\
147*b843c749SSergey Zigachev 	SE_SF(DP_MSE_RATE_CNTL, DP_MSE_RATE_X, mask_sh),\
148*b843c749SSergey Zigachev 	SE_SF(DP_MSE_RATE_CNTL, DP_MSE_RATE_Y, mask_sh),\
149*b843c749SSergey Zigachev 	SE_SF(DP_MSE_RATE_UPDATE, DP_MSE_RATE_UPDATE_PENDING, mask_sh),\
150*b843c749SSergey Zigachev 	SE_SF(AFMT_AVI_INFO3, AFMT_AVI_INFO_VERSION, mask_sh),\
151*b843c749SSergey Zigachev 	SE_SF(HDMI_INFOFRAME_CONTROL0, HDMI_AVI_INFO_SEND, mask_sh),\
152*b843c749SSergey Zigachev 	SE_SF(HDMI_INFOFRAME_CONTROL0, HDMI_AVI_INFO_CONT, mask_sh),\
153*b843c749SSergey Zigachev 	SE_SF(HDMI_INFOFRAME_CONTROL1, HDMI_AVI_INFO_LINE, mask_sh),\
154*b843c749SSergey Zigachev 	SE_SF(DP_SEC_CNTL, DP_SEC_GSP0_ENABLE, mask_sh),\
155*b843c749SSergey Zigachev 	SE_SF(DP_SEC_CNTL, DP_SEC_STREAM_ENABLE, mask_sh),\
156*b843c749SSergey Zigachev 	SE_SF(DP_SEC_CNTL, DP_SEC_GSP1_ENABLE, mask_sh),\
157*b843c749SSergey Zigachev 	SE_SF(DP_SEC_CNTL, DP_SEC_GSP2_ENABLE, mask_sh),\
158*b843c749SSergey Zigachev 	SE_SF(DP_SEC_CNTL, DP_SEC_GSP3_ENABLE, mask_sh),\
159*b843c749SSergey Zigachev 	SE_SF(DP_SEC_CNTL, DP_SEC_AVI_ENABLE, mask_sh),\
160*b843c749SSergey Zigachev 	SE_SF(DP_SEC_CNTL, DP_SEC_MPG_ENABLE, mask_sh),\
161*b843c749SSergey Zigachev 	SE_SF(DP_VID_STREAM_CNTL, DP_VID_STREAM_DIS_DEFER, mask_sh),\
162*b843c749SSergey Zigachev 	SE_SF(DP_VID_STREAM_CNTL, DP_VID_STREAM_ENABLE, mask_sh),\
163*b843c749SSergey Zigachev 	SE_SF(DP_VID_STREAM_CNTL, DP_VID_STREAM_STATUS, mask_sh),\
164*b843c749SSergey Zigachev 	SE_SF(DP_STEER_FIFO, DP_STEER_FIFO_RESET, mask_sh),\
165*b843c749SSergey Zigachev 	SE_SF(DP_VID_TIMING, DP_VID_M_N_GEN_EN, mask_sh),\
166*b843c749SSergey Zigachev 	SE_SF(DP_VID_N, DP_VID_N, mask_sh),\
167*b843c749SSergey Zigachev 	SE_SF(DP_VID_M, DP_VID_M, mask_sh),\
168*b843c749SSergey Zigachev 	SE_SF(DIG_FE_CNTL, DIG_START, mask_sh),\
169*b843c749SSergey Zigachev 	SE_SF(DIG_FE_CNTL, DIG_STEREOSYNC_SELECT, mask_sh),\
170*b843c749SSergey Zigachev 	SE_SF(DIG_FE_CNTL, DIG_STEREOSYNC_GATE_EN, mask_sh),\
171*b843c749SSergey Zigachev 	SE_SF(AFMT_AUDIO_SRC_CONTROL, AFMT_AUDIO_SRC_SELECT, mask_sh),\
172*b843c749SSergey Zigachev 	SE_SF(AFMT_AUDIO_PACKET_CONTROL2, AFMT_AUDIO_CHANNEL_ENABLE, mask_sh),\
173*b843c749SSergey Zigachev 	SE_SF(HDMI_AUDIO_PACKET_CONTROL, HDMI_AUDIO_PACKETS_PER_LINE, mask_sh),\
174*b843c749SSergey Zigachev 	SE_SF(HDMI_AUDIO_PACKET_CONTROL, HDMI_AUDIO_DELAY_EN, mask_sh),\
175*b843c749SSergey Zigachev 	SE_SF(AFMT_AUDIO_PACKET_CONTROL, AFMT_60958_CS_UPDATE, mask_sh),\
176*b843c749SSergey Zigachev 	SE_SF(AFMT_AUDIO_PACKET_CONTROL2, AFMT_AUDIO_LAYOUT_OVRD, mask_sh),\
177*b843c749SSergey Zigachev 	SE_SF(AFMT_AUDIO_PACKET_CONTROL2, AFMT_60958_OSF_OVRD, mask_sh),\
178*b843c749SSergey Zigachev 	SE_SF(HDMI_ACR_PACKET_CONTROL, HDMI_ACR_AUTO_SEND, mask_sh),\
179*b843c749SSergey Zigachev 	SE_SF(HDMI_ACR_PACKET_CONTROL, HDMI_ACR_SOURCE, mask_sh),\
180*b843c749SSergey Zigachev 	SE_SF(HDMI_ACR_PACKET_CONTROL, HDMI_ACR_AUDIO_PRIORITY, mask_sh),\
181*b843c749SSergey Zigachev 	SE_SF(HDMI_ACR_32_0, HDMI_ACR_CTS_32, mask_sh),\
182*b843c749SSergey Zigachev 	SE_SF(HDMI_ACR_32_1, HDMI_ACR_N_32, mask_sh),\
183*b843c749SSergey Zigachev 	SE_SF(HDMI_ACR_44_0, HDMI_ACR_CTS_44, mask_sh),\
184*b843c749SSergey Zigachev 	SE_SF(HDMI_ACR_44_1, HDMI_ACR_N_44, mask_sh),\
185*b843c749SSergey Zigachev 	SE_SF(HDMI_ACR_48_0, HDMI_ACR_CTS_48, mask_sh),\
186*b843c749SSergey Zigachev 	SE_SF(HDMI_ACR_48_1, HDMI_ACR_N_48, mask_sh),\
187*b843c749SSergey Zigachev 	SE_SF(AFMT_60958_0, AFMT_60958_CS_CHANNEL_NUMBER_L, mask_sh),\
188*b843c749SSergey Zigachev 	SE_SF(AFMT_60958_0, AFMT_60958_CS_CLOCK_ACCURACY, mask_sh),\
189*b843c749SSergey Zigachev 	SE_SF(AFMT_60958_1, AFMT_60958_CS_CHANNEL_NUMBER_R, mask_sh),\
190*b843c749SSergey Zigachev 	SE_SF(AFMT_60958_2, AFMT_60958_CS_CHANNEL_NUMBER_2, mask_sh),\
191*b843c749SSergey Zigachev 	SE_SF(AFMT_60958_2, AFMT_60958_CS_CHANNEL_NUMBER_3, mask_sh),\
192*b843c749SSergey Zigachev 	SE_SF(AFMT_60958_2, AFMT_60958_CS_CHANNEL_NUMBER_4, mask_sh),\
193*b843c749SSergey Zigachev 	SE_SF(AFMT_60958_2, AFMT_60958_CS_CHANNEL_NUMBER_5, mask_sh),\
194*b843c749SSergey Zigachev 	SE_SF(AFMT_60958_2, AFMT_60958_CS_CHANNEL_NUMBER_6, mask_sh),\
195*b843c749SSergey Zigachev 	SE_SF(AFMT_60958_2, AFMT_60958_CS_CHANNEL_NUMBER_7, mask_sh),\
196*b843c749SSergey Zigachev 	SE_SF(DP_SEC_AUD_N, DP_SEC_AUD_N, mask_sh),\
197*b843c749SSergey Zigachev 	SE_SF(DP_SEC_TIMESTAMP, DP_SEC_TIMESTAMP_MODE, mask_sh),\
198*b843c749SSergey Zigachev 	SE_SF(DP_SEC_CNTL, DP_SEC_ASP_ENABLE, mask_sh),\
199*b843c749SSergey Zigachev 	SE_SF(DP_SEC_CNTL, DP_SEC_ATP_ENABLE, mask_sh),\
200*b843c749SSergey Zigachev 	SE_SF(DP_SEC_CNTL, DP_SEC_AIP_ENABLE, mask_sh),\
201*b843c749SSergey Zigachev 	SE_SF(DP_SEC_CNTL, DP_SEC_ACM_ENABLE, mask_sh),\
202*b843c749SSergey Zigachev 	SE_SF(AFMT_AUDIO_PACKET_CONTROL, AFMT_AUDIO_SAMPLE_SEND, mask_sh)
203*b843c749SSergey Zigachev 
204*b843c749SSergey Zigachev #define SE_COMMON_MASK_SH_LIST_DCE_COMMON(mask_sh)\
205*b843c749SSergey Zigachev 	SE_COMMON_MASK_SH_LIST_DCE_COMMON_BASE(mask_sh)
206*b843c749SSergey Zigachev 
207*b843c749SSergey Zigachev #define SE_COMMON_MASK_SH_LIST_SOC_BASE(mask_sh)\
208*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL, AFMT_GENERIC_INDEX, mask_sh),\
209*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_GENERIC_HDR, AFMT_GENERIC_HB0, mask_sh),\
210*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_GENERIC_HDR, AFMT_GENERIC_HB1, mask_sh),\
211*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_GENERIC_HDR, AFMT_GENERIC_HB2, mask_sh),\
212*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_GENERIC_HDR, AFMT_GENERIC_HB3, mask_sh),\
213*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_GENERIC_PACKET_CONTROL0, HDMI_GENERIC0_CONT, mask_sh),\
214*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_GENERIC_PACKET_CONTROL0, HDMI_GENERIC0_SEND, mask_sh),\
215*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_GENERIC_PACKET_CONTROL0, HDMI_GENERIC0_LINE, mask_sh),\
216*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_GENERIC_PACKET_CONTROL0, HDMI_GENERIC1_CONT, mask_sh),\
217*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_GENERIC_PACKET_CONTROL0, HDMI_GENERIC1_SEND, mask_sh),\
218*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_GENERIC_PACKET_CONTROL0, HDMI_GENERIC1_LINE, mask_sh),\
219*b843c749SSergey Zigachev 	SE_SF(DP0_DP_PIXEL_FORMAT, DP_PIXEL_ENCODING, mask_sh),\
220*b843c749SSergey Zigachev 	SE_SF(DP0_DP_PIXEL_FORMAT, DP_COMPONENT_DEPTH, mask_sh),\
221*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_CONTROL, HDMI_PACKET_GEN_VERSION, mask_sh),\
222*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_CONTROL, HDMI_KEEPOUT_MODE, mask_sh),\
223*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_CONTROL, HDMI_DEEP_COLOR_ENABLE, mask_sh),\
224*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_CONTROL, HDMI_DEEP_COLOR_DEPTH, mask_sh),\
225*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_CONTROL, HDMI_DATA_SCRAMBLE_EN, mask_sh),\
226*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_VBI_PACKET_CONTROL, HDMI_GC_CONT, mask_sh),\
227*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_VBI_PACKET_CONTROL, HDMI_GC_SEND, mask_sh),\
228*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_VBI_PACKET_CONTROL, HDMI_NULL_SEND, mask_sh),\
229*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_INFOFRAME_CONTROL0, HDMI_AUDIO_INFO_SEND, mask_sh),\
230*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_INFOFRAME_CONTROL0, AFMT_AUDIO_INFO_UPDATE, mask_sh),\
231*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_INFOFRAME_CONTROL1, HDMI_AUDIO_INFO_LINE, mask_sh),\
232*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_GC, HDMI_GC_AVMUTE, mask_sh),\
233*b843c749SSergey Zigachev 	SE_SF(DP0_DP_MSE_RATE_CNTL, DP_MSE_RATE_X, mask_sh),\
234*b843c749SSergey Zigachev 	SE_SF(DP0_DP_MSE_RATE_CNTL, DP_MSE_RATE_Y, mask_sh),\
235*b843c749SSergey Zigachev 	SE_SF(DP0_DP_MSE_RATE_UPDATE, DP_MSE_RATE_UPDATE_PENDING, mask_sh),\
236*b843c749SSergey Zigachev 	SE_SF(DP0_DP_SEC_CNTL, DP_SEC_GSP0_ENABLE, mask_sh),\
237*b843c749SSergey Zigachev 	SE_SF(DP0_DP_SEC_CNTL, DP_SEC_STREAM_ENABLE, mask_sh),\
238*b843c749SSergey Zigachev 	SE_SF(DP0_DP_SEC_CNTL, DP_SEC_GSP1_ENABLE, mask_sh),\
239*b843c749SSergey Zigachev 	SE_SF(DP0_DP_SEC_CNTL, DP_SEC_GSP2_ENABLE, mask_sh),\
240*b843c749SSergey Zigachev 	SE_SF(DP0_DP_SEC_CNTL, DP_SEC_GSP3_ENABLE, mask_sh),\
241*b843c749SSergey Zigachev 	SE_SF(DP0_DP_SEC_CNTL, DP_SEC_MPG_ENABLE, mask_sh),\
242*b843c749SSergey Zigachev 	SE_SF(DP0_DP_VID_STREAM_CNTL, DP_VID_STREAM_DIS_DEFER, mask_sh),\
243*b843c749SSergey Zigachev 	SE_SF(DP0_DP_VID_STREAM_CNTL, DP_VID_STREAM_ENABLE, mask_sh),\
244*b843c749SSergey Zigachev 	SE_SF(DP0_DP_VID_STREAM_CNTL, DP_VID_STREAM_STATUS, mask_sh),\
245*b843c749SSergey Zigachev 	SE_SF(DP0_DP_STEER_FIFO, DP_STEER_FIFO_RESET, mask_sh),\
246*b843c749SSergey Zigachev 	SE_SF(DP0_DP_VID_TIMING, DP_VID_M_N_GEN_EN, mask_sh),\
247*b843c749SSergey Zigachev 	SE_SF(DP0_DP_VID_N, DP_VID_N, mask_sh),\
248*b843c749SSergey Zigachev 	SE_SF(DP0_DP_VID_M, DP_VID_M, mask_sh),\
249*b843c749SSergey Zigachev 	SE_SF(DIG0_DIG_FE_CNTL, DIG_START, mask_sh),\
250*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_AUDIO_SRC_CONTROL, AFMT_AUDIO_SRC_SELECT, mask_sh),\
251*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_AUDIO_PACKET_CONTROL2, AFMT_AUDIO_CHANNEL_ENABLE, mask_sh),\
252*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_AUDIO_PACKET_CONTROL, HDMI_AUDIO_PACKETS_PER_LINE, mask_sh),\
253*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_AUDIO_PACKET_CONTROL, HDMI_AUDIO_DELAY_EN, mask_sh),\
254*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_AUDIO_PACKET_CONTROL, AFMT_60958_CS_UPDATE, mask_sh),\
255*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_AUDIO_PACKET_CONTROL2, AFMT_AUDIO_LAYOUT_OVRD, mask_sh),\
256*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_AUDIO_PACKET_CONTROL2, AFMT_60958_OSF_OVRD, mask_sh),\
257*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_ACR_PACKET_CONTROL, HDMI_ACR_AUTO_SEND, mask_sh),\
258*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_ACR_PACKET_CONTROL, HDMI_ACR_SOURCE, mask_sh),\
259*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_ACR_PACKET_CONTROL, HDMI_ACR_AUDIO_PRIORITY, mask_sh),\
260*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_ACR_32_0, HDMI_ACR_CTS_32, mask_sh),\
261*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_ACR_32_1, HDMI_ACR_N_32, mask_sh),\
262*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_ACR_44_0, HDMI_ACR_CTS_44, mask_sh),\
263*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_ACR_44_1, HDMI_ACR_N_44, mask_sh),\
264*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_ACR_48_0, HDMI_ACR_CTS_48, mask_sh),\
265*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_ACR_48_1, HDMI_ACR_N_48, mask_sh),\
266*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_60958_0, AFMT_60958_CS_CHANNEL_NUMBER_L, mask_sh),\
267*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_60958_0, AFMT_60958_CS_CLOCK_ACCURACY, mask_sh),\
268*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_60958_1, AFMT_60958_CS_CHANNEL_NUMBER_R, mask_sh),\
269*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_60958_2, AFMT_60958_CS_CHANNEL_NUMBER_2, mask_sh),\
270*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_60958_2, AFMT_60958_CS_CHANNEL_NUMBER_3, mask_sh),\
271*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_60958_2, AFMT_60958_CS_CHANNEL_NUMBER_4, mask_sh),\
272*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_60958_2, AFMT_60958_CS_CHANNEL_NUMBER_5, mask_sh),\
273*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_60958_2, AFMT_60958_CS_CHANNEL_NUMBER_6, mask_sh),\
274*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_60958_2, AFMT_60958_CS_CHANNEL_NUMBER_7, mask_sh),\
275*b843c749SSergey Zigachev 	SE_SF(DP0_DP_SEC_AUD_N, DP_SEC_AUD_N, mask_sh),\
276*b843c749SSergey Zigachev 	SE_SF(DP0_DP_SEC_TIMESTAMP, DP_SEC_TIMESTAMP_MODE, mask_sh),\
277*b843c749SSergey Zigachev 	SE_SF(DP0_DP_SEC_CNTL, DP_SEC_ASP_ENABLE, mask_sh),\
278*b843c749SSergey Zigachev 	SE_SF(DP0_DP_SEC_CNTL, DP_SEC_ATP_ENABLE, mask_sh),\
279*b843c749SSergey Zigachev 	SE_SF(DP0_DP_SEC_CNTL, DP_SEC_AIP_ENABLE, mask_sh),\
280*b843c749SSergey Zigachev 	SE_SF(DP0_DP_SEC_CNTL, DP_SEC_ACM_ENABLE, mask_sh),\
281*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_AUDIO_PACKET_CONTROL, AFMT_AUDIO_SAMPLE_SEND, mask_sh),\
282*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_CNTL, AFMT_AUDIO_CLOCK_EN, mask_sh),\
283*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_CONTROL, HDMI_CLOCK_CHANNEL_RATE, mask_sh),\
284*b843c749SSergey Zigachev 	SE_SF(DIG0_DIG_FE_CNTL, TMDS_PIXEL_ENCODING, mask_sh),\
285*b843c749SSergey Zigachev 	SE_SF(DIG0_DIG_FE_CNTL, TMDS_COLOR_FORMAT, mask_sh),\
286*b843c749SSergey Zigachev 	SE_SF(DIG0_DIG_FE_CNTL, DIG_STEREOSYNC_SELECT, mask_sh),\
287*b843c749SSergey Zigachev 	SE_SF(DIG0_DIG_FE_CNTL, DIG_STEREOSYNC_GATE_EN, mask_sh)
288*b843c749SSergey Zigachev 
289*b843c749SSergey Zigachev #define SE_COMMON_MASK_SH_LIST_SOC(mask_sh)\
290*b843c749SSergey Zigachev 	SE_COMMON_MASK_SH_LIST_SOC_BASE(mask_sh)
291*b843c749SSergey Zigachev 
292*b843c749SSergey Zigachev #define SE_COMMON_MASK_SH_LIST_DCE80_100(mask_sh)\
293*b843c749SSergey Zigachev 	SE_COMMON_MASK_SH_LIST_DCE_COMMON(mask_sh),\
294*b843c749SSergey Zigachev 	SE_SF(TMDS_CNTL, TMDS_PIXEL_ENCODING, mask_sh),\
295*b843c749SSergey Zigachev 	SE_SF(TMDS_CNTL, TMDS_COLOR_FORMAT, mask_sh)
296*b843c749SSergey Zigachev 
297*b843c749SSergey Zigachev #define SE_COMMON_MASK_SH_LIST_DCE110(mask_sh)\
298*b843c749SSergey Zigachev 	SE_COMMON_MASK_SH_LIST_DCE_COMMON(mask_sh),\
299*b843c749SSergey Zigachev 	SE_SF(AFMT_CNTL, AFMT_AUDIO_CLOCK_EN, mask_sh),\
300*b843c749SSergey Zigachev 	SE_SF(HDMI_CONTROL, HDMI_CLOCK_CHANNEL_RATE, mask_sh),\
301*b843c749SSergey Zigachev 	SE_SF(HDMI_CONTROL, HDMI_DATA_SCRAMBLE_EN, mask_sh),\
302*b843c749SSergey Zigachev 	SE_SF(DIG_FE_CNTL, TMDS_PIXEL_ENCODING, mask_sh),\
303*b843c749SSergey Zigachev 	SE_SF(DIG_FE_CNTL, TMDS_COLOR_FORMAT, mask_sh),\
304*b843c749SSergey Zigachev 	SE_SF(DIG_FE_CNTL, DIG_STEREOSYNC_SELECT, mask_sh),\
305*b843c749SSergey Zigachev 	SE_SF(DIG_FE_CNTL, DIG_STEREOSYNC_GATE_EN, mask_sh)
306*b843c749SSergey Zigachev 
307*b843c749SSergey Zigachev #define SE_COMMON_MASK_SH_LIST_DCE112(mask_sh)\
308*b843c749SSergey Zigachev 	SE_COMMON_MASK_SH_LIST_DCE_COMMON(mask_sh),\
309*b843c749SSergey Zigachev 	SE_SF(AFMT_CNTL, AFMT_AUDIO_CLOCK_EN, mask_sh),\
310*b843c749SSergey Zigachev 	SE_SF(HDMI_CONTROL, HDMI_CLOCK_CHANNEL_RATE, mask_sh),\
311*b843c749SSergey Zigachev 	SE_SF(HDMI_CONTROL, HDMI_DATA_SCRAMBLE_EN, mask_sh),\
312*b843c749SSergey Zigachev 	SE_SF(DIG_FE_CNTL, TMDS_PIXEL_ENCODING, mask_sh),\
313*b843c749SSergey Zigachev 	SE_SF(DIG_FE_CNTL, TMDS_COLOR_FORMAT, mask_sh),\
314*b843c749SSergey Zigachev 	SE_SF(DP_VID_TIMING, DP_VID_M_DOUBLE_VALUE_EN, mask_sh)
315*b843c749SSergey Zigachev 
316*b843c749SSergey Zigachev #define SE_COMMON_MASK_SH_LIST_DCE120(mask_sh)\
317*b843c749SSergey Zigachev 	SE_COMMON_MASK_SH_LIST_SOC(mask_sh),\
318*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL, AFMT_GENERIC0_UPDATE, mask_sh),\
319*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL, AFMT_GENERIC2_UPDATE, mask_sh),\
320*b843c749SSergey Zigachev 	SE_SF(DP0_DP_PIXEL_FORMAT, DP_DYN_RANGE, mask_sh),\
321*b843c749SSergey Zigachev 	SE_SF(DP0_DP_PIXEL_FORMAT, DP_YCBCR_RANGE, mask_sh),\
322*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_INFOFRAME_CONTROL0, HDMI_AVI_INFO_SEND, mask_sh),\
323*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_INFOFRAME_CONTROL0, HDMI_AVI_INFO_CONT, mask_sh),\
324*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_INFOFRAME_CONTROL1, HDMI_AVI_INFO_LINE, mask_sh),\
325*b843c749SSergey Zigachev 	SE_SF(DP0_DP_SEC_CNTL, DP_SEC_AVI_ENABLE, mask_sh),\
326*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_AVI_INFO3, AFMT_AVI_INFO_VERSION, mask_sh),\
327*b843c749SSergey Zigachev 	SE_SF(DP0_DP_VID_TIMING, DP_VID_M_DOUBLE_VALUE_EN, mask_sh)
328*b843c749SSergey Zigachev 
329*b843c749SSergey Zigachev #define SE_COMMON_MASK_SH_LIST_DCN10(mask_sh)\
330*b843c749SSergey Zigachev 	SE_COMMON_MASK_SH_LIST_SOC(mask_sh),\
331*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL, AFMT_GENERIC_LOCK_STATUS, mask_sh),\
332*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL, AFMT_GENERIC_CONFLICT, mask_sh),\
333*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL, AFMT_GENERIC_CONFLICT_CLR, mask_sh),\
334*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC0_FRAME_UPDATE_PENDING, mask_sh),\
335*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC1_FRAME_UPDATE_PENDING, mask_sh),\
336*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC2_FRAME_UPDATE_PENDING, mask_sh),\
337*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC3_FRAME_UPDATE_PENDING, mask_sh),\
338*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC4_FRAME_UPDATE_PENDING, mask_sh),\
339*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC5_FRAME_UPDATE_PENDING, mask_sh),\
340*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC6_FRAME_UPDATE_PENDING, mask_sh),\
341*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC7_FRAME_UPDATE_PENDING, mask_sh),\
342*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC0_FRAME_UPDATE, mask_sh),\
343*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC1_FRAME_UPDATE, mask_sh),\
344*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC2_FRAME_UPDATE, mask_sh),\
345*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC3_FRAME_UPDATE, mask_sh),\
346*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC4_FRAME_UPDATE, mask_sh),\
347*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC5_FRAME_UPDATE, mask_sh),\
348*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC6_FRAME_UPDATE, mask_sh),\
349*b843c749SSergey Zigachev 	SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC7_FRAME_UPDATE, mask_sh),\
350*b843c749SSergey Zigachev 	SE_SF(DP0_DP_SEC_CNTL, DP_SEC_GSP4_ENABLE, mask_sh),\
351*b843c749SSergey Zigachev 	SE_SF(DP0_DP_SEC_CNTL, DP_SEC_GSP5_ENABLE, mask_sh),\
352*b843c749SSergey Zigachev 	SE_SF(DP0_DP_SEC_CNTL, DP_SEC_GSP6_ENABLE, mask_sh),\
353*b843c749SSergey Zigachev 	SE_SF(DP0_DP_SEC_CNTL, DP_SEC_GSP7_ENABLE, mask_sh),\
354*b843c749SSergey Zigachev 	SE_SF(DP0_DP_DB_CNTL, DP_DB_DISABLE, mask_sh),\
355*b843c749SSergey Zigachev 	SE_SF(DP0_DP_MSA_COLORIMETRY, DP_MSA_MISC0, mask_sh),\
356*b843c749SSergey Zigachev 	SE_SF(DP0_DP_MSA_TIMING_PARAM1, DP_MSA_HTOTAL, mask_sh),\
357*b843c749SSergey Zigachev 	SE_SF(DP0_DP_MSA_TIMING_PARAM1, DP_MSA_VTOTAL, mask_sh),\
358*b843c749SSergey Zigachev 	SE_SF(DP0_DP_MSA_TIMING_PARAM2, DP_MSA_HSTART, mask_sh),\
359*b843c749SSergey Zigachev 	SE_SF(DP0_DP_MSA_TIMING_PARAM2, DP_MSA_VSTART, mask_sh),\
360*b843c749SSergey Zigachev 	SE_SF(DP0_DP_MSA_TIMING_PARAM3, DP_MSA_HSYNCWIDTH, mask_sh),\
361*b843c749SSergey Zigachev 	SE_SF(DP0_DP_MSA_TIMING_PARAM3, DP_MSA_HSYNCPOLARITY, mask_sh),\
362*b843c749SSergey Zigachev 	SE_SF(DP0_DP_MSA_TIMING_PARAM3, DP_MSA_VSYNCWIDTH, mask_sh),\
363*b843c749SSergey Zigachev 	SE_SF(DP0_DP_MSA_TIMING_PARAM3, DP_MSA_VSYNCPOLARITY, mask_sh),\
364*b843c749SSergey Zigachev 	SE_SF(DP0_DP_MSA_TIMING_PARAM4, DP_MSA_HWIDTH, mask_sh),\
365*b843c749SSergey Zigachev 	SE_SF(DP0_DP_MSA_TIMING_PARAM4, DP_MSA_VHEIGHT, mask_sh),\
366*b843c749SSergey Zigachev 	SE_SF(DIG0_HDMI_DB_CONTROL, HDMI_DB_DISABLE, mask_sh),\
367*b843c749SSergey Zigachev 	SE_SF(DP0_DP_VID_TIMING, DP_VID_N_MUL, mask_sh)
368*b843c749SSergey Zigachev 
369*b843c749SSergey Zigachev struct dce_stream_encoder_shift {
370*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC_INDEX;
371*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC0_UPDATE;
372*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC2_UPDATE;
373*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC_HB0;
374*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC_HB1;
375*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC_HB2;
376*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC_HB3;
377*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC_LOCK_STATUS;
378*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC_CONFLICT;
379*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC_CONFLICT_CLR;
380*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC0_FRAME_UPDATE_PENDING;
381*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC1_FRAME_UPDATE_PENDING;
382*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC2_FRAME_UPDATE_PENDING;
383*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC3_FRAME_UPDATE_PENDING;
384*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC4_FRAME_UPDATE_PENDING;
385*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC5_FRAME_UPDATE_PENDING;
386*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC6_FRAME_UPDATE_PENDING;
387*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC7_FRAME_UPDATE_PENDING;
388*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC0_FRAME_UPDATE;
389*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC1_FRAME_UPDATE;
390*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC2_FRAME_UPDATE;
391*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC3_FRAME_UPDATE;
392*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC4_FRAME_UPDATE;
393*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC5_FRAME_UPDATE;
394*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC6_FRAME_UPDATE;
395*b843c749SSergey Zigachev 	uint8_t AFMT_GENERIC7_FRAME_UPDATE;
396*b843c749SSergey Zigachev 	uint8_t HDMI_GENERIC0_CONT;
397*b843c749SSergey Zigachev 	uint8_t HDMI_GENERIC0_SEND;
398*b843c749SSergey Zigachev 	uint8_t HDMI_GENERIC0_LINE;
399*b843c749SSergey Zigachev 	uint8_t HDMI_GENERIC1_CONT;
400*b843c749SSergey Zigachev 	uint8_t HDMI_GENERIC1_SEND;
401*b843c749SSergey Zigachev 	uint8_t HDMI_GENERIC1_LINE;
402*b843c749SSergey Zigachev 	uint8_t DP_PIXEL_ENCODING;
403*b843c749SSergey Zigachev 	uint8_t DP_COMPONENT_DEPTH;
404*b843c749SSergey Zigachev 	uint8_t DP_DYN_RANGE;
405*b843c749SSergey Zigachev 	uint8_t DP_YCBCR_RANGE;
406*b843c749SSergey Zigachev 	uint8_t HDMI_PACKET_GEN_VERSION;
407*b843c749SSergey Zigachev 	uint8_t HDMI_KEEPOUT_MODE;
408*b843c749SSergey Zigachev 	uint8_t HDMI_DEEP_COLOR_ENABLE;
409*b843c749SSergey Zigachev 	uint8_t HDMI_CLOCK_CHANNEL_RATE;
410*b843c749SSergey Zigachev 	uint8_t HDMI_DEEP_COLOR_DEPTH;
411*b843c749SSergey Zigachev 	uint8_t HDMI_GC_CONT;
412*b843c749SSergey Zigachev 	uint8_t HDMI_GC_SEND;
413*b843c749SSergey Zigachev 	uint8_t HDMI_NULL_SEND;
414*b843c749SSergey Zigachev 	uint8_t HDMI_DATA_SCRAMBLE_EN;
415*b843c749SSergey Zigachev 	uint8_t HDMI_AUDIO_INFO_SEND;
416*b843c749SSergey Zigachev 	uint8_t AFMT_AUDIO_INFO_UPDATE;
417*b843c749SSergey Zigachev 	uint8_t HDMI_AUDIO_INFO_LINE;
418*b843c749SSergey Zigachev 	uint8_t HDMI_GC_AVMUTE;
419*b843c749SSergey Zigachev 	uint8_t DP_MSE_RATE_X;
420*b843c749SSergey Zigachev 	uint8_t DP_MSE_RATE_Y;
421*b843c749SSergey Zigachev 	uint8_t DP_MSE_RATE_UPDATE_PENDING;
422*b843c749SSergey Zigachev 	uint8_t AFMT_AVI_INFO_VERSION;
423*b843c749SSergey Zigachev 	uint8_t HDMI_AVI_INFO_SEND;
424*b843c749SSergey Zigachev 	uint8_t HDMI_AVI_INFO_CONT;
425*b843c749SSergey Zigachev 	uint8_t HDMI_AVI_INFO_LINE;
426*b843c749SSergey Zigachev 	uint8_t DP_SEC_GSP0_ENABLE;
427*b843c749SSergey Zigachev 	uint8_t DP_SEC_STREAM_ENABLE;
428*b843c749SSergey Zigachev 	uint8_t DP_SEC_GSP1_ENABLE;
429*b843c749SSergey Zigachev 	uint8_t DP_SEC_GSP2_ENABLE;
430*b843c749SSergey Zigachev 	uint8_t DP_SEC_GSP3_ENABLE;
431*b843c749SSergey Zigachev 	uint8_t DP_SEC_GSP4_ENABLE;
432*b843c749SSergey Zigachev 	uint8_t DP_SEC_GSP5_ENABLE;
433*b843c749SSergey Zigachev 	uint8_t DP_SEC_GSP6_ENABLE;
434*b843c749SSergey Zigachev 	uint8_t DP_SEC_GSP7_ENABLE;
435*b843c749SSergey Zigachev 	uint8_t DP_SEC_AVI_ENABLE;
436*b843c749SSergey Zigachev 	uint8_t DP_SEC_MPG_ENABLE;
437*b843c749SSergey Zigachev 	uint8_t DP_VID_STREAM_DIS_DEFER;
438*b843c749SSergey Zigachev 	uint8_t DP_VID_STREAM_ENABLE;
439*b843c749SSergey Zigachev 	uint8_t DP_VID_STREAM_STATUS;
440*b843c749SSergey Zigachev 	uint8_t DP_STEER_FIFO_RESET;
441*b843c749SSergey Zigachev 	uint8_t DP_VID_M_N_GEN_EN;
442*b843c749SSergey Zigachev 	uint8_t DP_VID_N;
443*b843c749SSergey Zigachev 	uint8_t DP_VID_M;
444*b843c749SSergey Zigachev 	uint8_t DIG_START;
445*b843c749SSergey Zigachev 	uint8_t AFMT_AUDIO_SRC_SELECT;
446*b843c749SSergey Zigachev 	uint8_t AFMT_AUDIO_CHANNEL_ENABLE;
447*b843c749SSergey Zigachev 	uint8_t HDMI_AUDIO_PACKETS_PER_LINE;
448*b843c749SSergey Zigachev 	uint8_t HDMI_AUDIO_DELAY_EN;
449*b843c749SSergey Zigachev 	uint8_t AFMT_60958_CS_UPDATE;
450*b843c749SSergey Zigachev 	uint8_t AFMT_AUDIO_LAYOUT_OVRD;
451*b843c749SSergey Zigachev 	uint8_t AFMT_60958_OSF_OVRD;
452*b843c749SSergey Zigachev 	uint8_t HDMI_ACR_AUTO_SEND;
453*b843c749SSergey Zigachev 	uint8_t HDMI_ACR_SOURCE;
454*b843c749SSergey Zigachev 	uint8_t HDMI_ACR_AUDIO_PRIORITY;
455*b843c749SSergey Zigachev 	uint8_t HDMI_ACR_CTS_32;
456*b843c749SSergey Zigachev 	uint8_t HDMI_ACR_N_32;
457*b843c749SSergey Zigachev 	uint8_t HDMI_ACR_CTS_44;
458*b843c749SSergey Zigachev 	uint8_t HDMI_ACR_N_44;
459*b843c749SSergey Zigachev 	uint8_t HDMI_ACR_CTS_48;
460*b843c749SSergey Zigachev 	uint8_t HDMI_ACR_N_48;
461*b843c749SSergey Zigachev 	uint8_t AFMT_60958_CS_CHANNEL_NUMBER_L;
462*b843c749SSergey Zigachev 	uint8_t AFMT_60958_CS_CLOCK_ACCURACY;
463*b843c749SSergey Zigachev 	uint8_t AFMT_60958_CS_CHANNEL_NUMBER_R;
464*b843c749SSergey Zigachev 	uint8_t AFMT_60958_CS_CHANNEL_NUMBER_2;
465*b843c749SSergey Zigachev 	uint8_t AFMT_60958_CS_CHANNEL_NUMBER_3;
466*b843c749SSergey Zigachev 	uint8_t AFMT_60958_CS_CHANNEL_NUMBER_4;
467*b843c749SSergey Zigachev 	uint8_t AFMT_60958_CS_CHANNEL_NUMBER_5;
468*b843c749SSergey Zigachev 	uint8_t AFMT_60958_CS_CHANNEL_NUMBER_6;
469*b843c749SSergey Zigachev 	uint8_t AFMT_60958_CS_CHANNEL_NUMBER_7;
470*b843c749SSergey Zigachev 	uint8_t DP_SEC_AUD_N;
471*b843c749SSergey Zigachev 	uint8_t DP_SEC_TIMESTAMP_MODE;
472*b843c749SSergey Zigachev 	uint8_t DP_SEC_ASP_ENABLE;
473*b843c749SSergey Zigachev 	uint8_t DP_SEC_ATP_ENABLE;
474*b843c749SSergey Zigachev 	uint8_t DP_SEC_AIP_ENABLE;
475*b843c749SSergey Zigachev 	uint8_t DP_SEC_ACM_ENABLE;
476*b843c749SSergey Zigachev 	uint8_t AFMT_AUDIO_SAMPLE_SEND;
477*b843c749SSergey Zigachev 	uint8_t AFMT_AUDIO_CLOCK_EN;
478*b843c749SSergey Zigachev 	uint8_t TMDS_PIXEL_ENCODING;
479*b843c749SSergey Zigachev 	uint8_t TMDS_COLOR_FORMAT;
480*b843c749SSergey Zigachev 	uint8_t DIG_STEREOSYNC_SELECT;
481*b843c749SSergey Zigachev 	uint8_t DIG_STEREOSYNC_GATE_EN;
482*b843c749SSergey Zigachev 	uint8_t DP_DB_DISABLE;
483*b843c749SSergey Zigachev 	uint8_t DP_MSA_MISC0;
484*b843c749SSergey Zigachev 	uint8_t DP_MSA_HTOTAL;
485*b843c749SSergey Zigachev 	uint8_t DP_MSA_VTOTAL;
486*b843c749SSergey Zigachev 	uint8_t DP_MSA_HSTART;
487*b843c749SSergey Zigachev 	uint8_t DP_MSA_VSTART;
488*b843c749SSergey Zigachev 	uint8_t DP_MSA_HSYNCWIDTH;
489*b843c749SSergey Zigachev 	uint8_t DP_MSA_HSYNCPOLARITY;
490*b843c749SSergey Zigachev 	uint8_t DP_MSA_VSYNCWIDTH;
491*b843c749SSergey Zigachev 	uint8_t DP_MSA_VSYNCPOLARITY;
492*b843c749SSergey Zigachev 	uint8_t DP_MSA_HWIDTH;
493*b843c749SSergey Zigachev 	uint8_t DP_MSA_VHEIGHT;
494*b843c749SSergey Zigachev 	uint8_t HDMI_DB_DISABLE;
495*b843c749SSergey Zigachev 	uint8_t DP_VID_N_MUL;
496*b843c749SSergey Zigachev 	uint8_t DP_VID_M_DOUBLE_VALUE_EN;
497*b843c749SSergey Zigachev };
498*b843c749SSergey Zigachev 
499*b843c749SSergey Zigachev struct dce_stream_encoder_mask {
500*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC_INDEX;
501*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC0_UPDATE;
502*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC2_UPDATE;
503*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC_HB0;
504*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC_HB1;
505*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC_HB2;
506*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC_HB3;
507*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC_LOCK_STATUS;
508*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC_CONFLICT;
509*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC_CONFLICT_CLR;
510*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC0_FRAME_UPDATE_PENDING;
511*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC1_FRAME_UPDATE_PENDING;
512*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC2_FRAME_UPDATE_PENDING;
513*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC3_FRAME_UPDATE_PENDING;
514*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC4_FRAME_UPDATE_PENDING;
515*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC5_FRAME_UPDATE_PENDING;
516*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC6_FRAME_UPDATE_PENDING;
517*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC7_FRAME_UPDATE_PENDING;
518*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC0_FRAME_UPDATE;
519*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC1_FRAME_UPDATE;
520*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC2_FRAME_UPDATE;
521*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC3_FRAME_UPDATE;
522*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC4_FRAME_UPDATE;
523*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC5_FRAME_UPDATE;
524*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC6_FRAME_UPDATE;
525*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC7_FRAME_UPDATE;
526*b843c749SSergey Zigachev 	uint32_t HDMI_GENERIC0_CONT;
527*b843c749SSergey Zigachev 	uint32_t HDMI_GENERIC0_SEND;
528*b843c749SSergey Zigachev 	uint32_t HDMI_GENERIC0_LINE;
529*b843c749SSergey Zigachev 	uint32_t HDMI_GENERIC1_CONT;
530*b843c749SSergey Zigachev 	uint32_t HDMI_GENERIC1_SEND;
531*b843c749SSergey Zigachev 	uint32_t HDMI_GENERIC1_LINE;
532*b843c749SSergey Zigachev 	uint32_t DP_PIXEL_ENCODING;
533*b843c749SSergey Zigachev 	uint32_t DP_COMPONENT_DEPTH;
534*b843c749SSergey Zigachev 	uint32_t DP_DYN_RANGE;
535*b843c749SSergey Zigachev 	uint32_t DP_YCBCR_RANGE;
536*b843c749SSergey Zigachev 	uint32_t HDMI_PACKET_GEN_VERSION;
537*b843c749SSergey Zigachev 	uint32_t HDMI_KEEPOUT_MODE;
538*b843c749SSergey Zigachev 	uint32_t HDMI_DEEP_COLOR_ENABLE;
539*b843c749SSergey Zigachev 	uint32_t HDMI_CLOCK_CHANNEL_RATE;
540*b843c749SSergey Zigachev 	uint32_t HDMI_DEEP_COLOR_DEPTH;
541*b843c749SSergey Zigachev 	uint32_t HDMI_GC_CONT;
542*b843c749SSergey Zigachev 	uint32_t HDMI_GC_SEND;
543*b843c749SSergey Zigachev 	uint32_t HDMI_NULL_SEND;
544*b843c749SSergey Zigachev 	uint32_t HDMI_DATA_SCRAMBLE_EN;
545*b843c749SSergey Zigachev 	uint32_t HDMI_AUDIO_INFO_SEND;
546*b843c749SSergey Zigachev 	uint32_t AFMT_AUDIO_INFO_UPDATE;
547*b843c749SSergey Zigachev 	uint32_t HDMI_AUDIO_INFO_LINE;
548*b843c749SSergey Zigachev 	uint32_t HDMI_GC_AVMUTE;
549*b843c749SSergey Zigachev 	uint32_t DP_MSE_RATE_X;
550*b843c749SSergey Zigachev 	uint32_t DP_MSE_RATE_Y;
551*b843c749SSergey Zigachev 	uint32_t DP_MSE_RATE_UPDATE_PENDING;
552*b843c749SSergey Zigachev 	uint32_t AFMT_AVI_INFO_VERSION;
553*b843c749SSergey Zigachev 	uint32_t HDMI_AVI_INFO_SEND;
554*b843c749SSergey Zigachev 	uint32_t HDMI_AVI_INFO_CONT;
555*b843c749SSergey Zigachev 	uint32_t HDMI_AVI_INFO_LINE;
556*b843c749SSergey Zigachev 	uint32_t DP_SEC_GSP0_ENABLE;
557*b843c749SSergey Zigachev 	uint32_t DP_SEC_STREAM_ENABLE;
558*b843c749SSergey Zigachev 	uint32_t DP_SEC_GSP1_ENABLE;
559*b843c749SSergey Zigachev 	uint32_t DP_SEC_GSP2_ENABLE;
560*b843c749SSergey Zigachev 	uint32_t DP_SEC_GSP3_ENABLE;
561*b843c749SSergey Zigachev 	uint32_t DP_SEC_GSP4_ENABLE;
562*b843c749SSergey Zigachev 	uint32_t DP_SEC_GSP5_ENABLE;
563*b843c749SSergey Zigachev 	uint32_t DP_SEC_GSP6_ENABLE;
564*b843c749SSergey Zigachev 	uint32_t DP_SEC_GSP7_ENABLE;
565*b843c749SSergey Zigachev 	uint32_t DP_SEC_AVI_ENABLE;
566*b843c749SSergey Zigachev 	uint32_t DP_SEC_MPG_ENABLE;
567*b843c749SSergey Zigachev 	uint32_t DP_VID_STREAM_DIS_DEFER;
568*b843c749SSergey Zigachev 	uint32_t DP_VID_STREAM_ENABLE;
569*b843c749SSergey Zigachev 	uint32_t DP_VID_STREAM_STATUS;
570*b843c749SSergey Zigachev 	uint32_t DP_STEER_FIFO_RESET;
571*b843c749SSergey Zigachev 	uint32_t DP_VID_M_N_GEN_EN;
572*b843c749SSergey Zigachev 	uint32_t DP_VID_N;
573*b843c749SSergey Zigachev 	uint32_t DP_VID_M;
574*b843c749SSergey Zigachev 	uint32_t DIG_START;
575*b843c749SSergey Zigachev 	uint32_t AFMT_AUDIO_SRC_SELECT;
576*b843c749SSergey Zigachev 	uint32_t AFMT_AUDIO_CHANNEL_ENABLE;
577*b843c749SSergey Zigachev 	uint32_t HDMI_AUDIO_PACKETS_PER_LINE;
578*b843c749SSergey Zigachev 	uint32_t HDMI_AUDIO_DELAY_EN;
579*b843c749SSergey Zigachev 	uint32_t AFMT_60958_CS_UPDATE;
580*b843c749SSergey Zigachev 	uint32_t AFMT_AUDIO_LAYOUT_OVRD;
581*b843c749SSergey Zigachev 	uint32_t AFMT_60958_OSF_OVRD;
582*b843c749SSergey Zigachev 	uint32_t HDMI_ACR_AUTO_SEND;
583*b843c749SSergey Zigachev 	uint32_t HDMI_ACR_SOURCE;
584*b843c749SSergey Zigachev 	uint32_t HDMI_ACR_AUDIO_PRIORITY;
585*b843c749SSergey Zigachev 	uint32_t HDMI_ACR_CTS_32;
586*b843c749SSergey Zigachev 	uint32_t HDMI_ACR_N_32;
587*b843c749SSergey Zigachev 	uint32_t HDMI_ACR_CTS_44;
588*b843c749SSergey Zigachev 	uint32_t HDMI_ACR_N_44;
589*b843c749SSergey Zigachev 	uint32_t HDMI_ACR_CTS_48;
590*b843c749SSergey Zigachev 	uint32_t HDMI_ACR_N_48;
591*b843c749SSergey Zigachev 	uint32_t AFMT_60958_CS_CHANNEL_NUMBER_L;
592*b843c749SSergey Zigachev 	uint32_t AFMT_60958_CS_CLOCK_ACCURACY;
593*b843c749SSergey Zigachev 	uint32_t AFMT_60958_CS_CHANNEL_NUMBER_R;
594*b843c749SSergey Zigachev 	uint32_t AFMT_60958_CS_CHANNEL_NUMBER_2;
595*b843c749SSergey Zigachev 	uint32_t AFMT_60958_CS_CHANNEL_NUMBER_3;
596*b843c749SSergey Zigachev 	uint32_t AFMT_60958_CS_CHANNEL_NUMBER_4;
597*b843c749SSergey Zigachev 	uint32_t AFMT_60958_CS_CHANNEL_NUMBER_5;
598*b843c749SSergey Zigachev 	uint32_t AFMT_60958_CS_CHANNEL_NUMBER_6;
599*b843c749SSergey Zigachev 	uint32_t AFMT_60958_CS_CHANNEL_NUMBER_7;
600*b843c749SSergey Zigachev 	uint32_t DP_SEC_AUD_N;
601*b843c749SSergey Zigachev 	uint32_t DP_SEC_TIMESTAMP_MODE;
602*b843c749SSergey Zigachev 	uint32_t DP_SEC_ASP_ENABLE;
603*b843c749SSergey Zigachev 	uint32_t DP_SEC_ATP_ENABLE;
604*b843c749SSergey Zigachev 	uint32_t DP_SEC_AIP_ENABLE;
605*b843c749SSergey Zigachev 	uint32_t DP_SEC_ACM_ENABLE;
606*b843c749SSergey Zigachev 	uint32_t AFMT_AUDIO_SAMPLE_SEND;
607*b843c749SSergey Zigachev 	uint32_t AFMT_AUDIO_CLOCK_EN;
608*b843c749SSergey Zigachev 	uint32_t TMDS_PIXEL_ENCODING;
609*b843c749SSergey Zigachev 	uint32_t DIG_STEREOSYNC_SELECT;
610*b843c749SSergey Zigachev 	uint32_t DIG_STEREOSYNC_GATE_EN;
611*b843c749SSergey Zigachev 	uint32_t TMDS_COLOR_FORMAT;
612*b843c749SSergey Zigachev 	uint32_t DP_DB_DISABLE;
613*b843c749SSergey Zigachev 	uint32_t DP_MSA_MISC0;
614*b843c749SSergey Zigachev 	uint32_t DP_MSA_HTOTAL;
615*b843c749SSergey Zigachev 	uint32_t DP_MSA_VTOTAL;
616*b843c749SSergey Zigachev 	uint32_t DP_MSA_HSTART;
617*b843c749SSergey Zigachev 	uint32_t DP_MSA_VSTART;
618*b843c749SSergey Zigachev 	uint32_t DP_MSA_HSYNCWIDTH;
619*b843c749SSergey Zigachev 	uint32_t DP_MSA_HSYNCPOLARITY;
620*b843c749SSergey Zigachev 	uint32_t DP_MSA_VSYNCWIDTH;
621*b843c749SSergey Zigachev 	uint32_t DP_MSA_VSYNCPOLARITY;
622*b843c749SSergey Zigachev 	uint32_t DP_MSA_HWIDTH;
623*b843c749SSergey Zigachev 	uint32_t DP_MSA_VHEIGHT;
624*b843c749SSergey Zigachev 	uint32_t HDMI_DB_DISABLE;
625*b843c749SSergey Zigachev 	uint32_t DP_VID_N_MUL;
626*b843c749SSergey Zigachev 	uint32_t DP_VID_M_DOUBLE_VALUE_EN;
627*b843c749SSergey Zigachev };
628*b843c749SSergey Zigachev 
629*b843c749SSergey Zigachev struct dce110_stream_enc_registers {
630*b843c749SSergey Zigachev 	uint32_t AFMT_CNTL;
631*b843c749SSergey Zigachev 	uint32_t AFMT_AVI_INFO0;
632*b843c749SSergey Zigachev 	uint32_t AFMT_AVI_INFO1;
633*b843c749SSergey Zigachev 	uint32_t AFMT_AVI_INFO2;
634*b843c749SSergey Zigachev 	uint32_t AFMT_AVI_INFO3;
635*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC_0;
636*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC_1;
637*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC_2;
638*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC_3;
639*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC_4;
640*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC_5;
641*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC_6;
642*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC_7;
643*b843c749SSergey Zigachev 	uint32_t AFMT_GENERIC_HDR;
644*b843c749SSergey Zigachev 	uint32_t AFMT_INFOFRAME_CONTROL0;
645*b843c749SSergey Zigachev 	uint32_t AFMT_VBI_PACKET_CONTROL;
646*b843c749SSergey Zigachev 	uint32_t AFMT_VBI_PACKET_CONTROL1;
647*b843c749SSergey Zigachev 	uint32_t AFMT_AUDIO_PACKET_CONTROL;
648*b843c749SSergey Zigachev 	uint32_t AFMT_AUDIO_PACKET_CONTROL2;
649*b843c749SSergey Zigachev 	uint32_t AFMT_AUDIO_SRC_CONTROL;
650*b843c749SSergey Zigachev 	uint32_t AFMT_60958_0;
651*b843c749SSergey Zigachev 	uint32_t AFMT_60958_1;
652*b843c749SSergey Zigachev 	uint32_t AFMT_60958_2;
653*b843c749SSergey Zigachev 	uint32_t DIG_FE_CNTL;
654*b843c749SSergey Zigachev 	uint32_t DP_MSE_RATE_CNTL;
655*b843c749SSergey Zigachev 	uint32_t DP_MSE_RATE_UPDATE;
656*b843c749SSergey Zigachev 	uint32_t DP_PIXEL_FORMAT;
657*b843c749SSergey Zigachev 	uint32_t DP_SEC_CNTL;
658*b843c749SSergey Zigachev 	uint32_t DP_STEER_FIFO;
659*b843c749SSergey Zigachev 	uint32_t DP_VID_M;
660*b843c749SSergey Zigachev 	uint32_t DP_VID_N;
661*b843c749SSergey Zigachev 	uint32_t DP_VID_STREAM_CNTL;
662*b843c749SSergey Zigachev 	uint32_t DP_VID_TIMING;
663*b843c749SSergey Zigachev 	uint32_t DP_SEC_AUD_N;
664*b843c749SSergey Zigachev 	uint32_t DP_SEC_TIMESTAMP;
665*b843c749SSergey Zigachev 	uint32_t HDMI_CONTROL;
666*b843c749SSergey Zigachev 	uint32_t HDMI_GC;
667*b843c749SSergey Zigachev 	uint32_t HDMI_GENERIC_PACKET_CONTROL0;
668*b843c749SSergey Zigachev 	uint32_t HDMI_GENERIC_PACKET_CONTROL1;
669*b843c749SSergey Zigachev 	uint32_t HDMI_GENERIC_PACKET_CONTROL2;
670*b843c749SSergey Zigachev 	uint32_t HDMI_GENERIC_PACKET_CONTROL3;
671*b843c749SSergey Zigachev 	uint32_t HDMI_INFOFRAME_CONTROL0;
672*b843c749SSergey Zigachev 	uint32_t HDMI_INFOFRAME_CONTROL1;
673*b843c749SSergey Zigachev 	uint32_t HDMI_VBI_PACKET_CONTROL;
674*b843c749SSergey Zigachev 	uint32_t HDMI_AUDIO_PACKET_CONTROL;
675*b843c749SSergey Zigachev 	uint32_t HDMI_ACR_PACKET_CONTROL;
676*b843c749SSergey Zigachev 	uint32_t HDMI_ACR_32_0;
677*b843c749SSergey Zigachev 	uint32_t HDMI_ACR_32_1;
678*b843c749SSergey Zigachev 	uint32_t HDMI_ACR_44_0;
679*b843c749SSergey Zigachev 	uint32_t HDMI_ACR_44_1;
680*b843c749SSergey Zigachev 	uint32_t HDMI_ACR_48_0;
681*b843c749SSergey Zigachev 	uint32_t HDMI_ACR_48_1;
682*b843c749SSergey Zigachev 	uint32_t TMDS_CNTL;
683*b843c749SSergey Zigachev 	uint32_t DP_DB_CNTL;
684*b843c749SSergey Zigachev 	uint32_t DP_MSA_MISC;
685*b843c749SSergey Zigachev 	uint32_t DP_MSA_COLORIMETRY;
686*b843c749SSergey Zigachev 	uint32_t DP_MSA_TIMING_PARAM1;
687*b843c749SSergey Zigachev 	uint32_t DP_MSA_TIMING_PARAM2;
688*b843c749SSergey Zigachev 	uint32_t DP_MSA_TIMING_PARAM3;
689*b843c749SSergey Zigachev 	uint32_t DP_MSA_TIMING_PARAM4;
690*b843c749SSergey Zigachev 	uint32_t HDMI_DB_CONTROL;
691*b843c749SSergey Zigachev };
692*b843c749SSergey Zigachev 
693*b843c749SSergey Zigachev struct dce110_stream_encoder {
694*b843c749SSergey Zigachev 	struct stream_encoder base;
695*b843c749SSergey Zigachev 	const struct dce110_stream_enc_registers *regs;
696*b843c749SSergey Zigachev 	const struct dce_stream_encoder_shift *se_shift;
697*b843c749SSergey Zigachev 	const struct dce_stream_encoder_mask *se_mask;
698*b843c749SSergey Zigachev };
699*b843c749SSergey Zigachev 
700*b843c749SSergey Zigachev void dce110_stream_encoder_construct(
701*b843c749SSergey Zigachev 	struct dce110_stream_encoder *enc110,
702*b843c749SSergey Zigachev 	struct dc_context *ctx,
703*b843c749SSergey Zigachev 	struct dc_bios *bp,
704*b843c749SSergey Zigachev 	enum engine_id eng_id,
705*b843c749SSergey Zigachev 	const struct dce110_stream_enc_registers *regs,
706*b843c749SSergey Zigachev 	const struct dce_stream_encoder_shift *se_shift,
707*b843c749SSergey Zigachev 	const struct dce_stream_encoder_mask *se_mask);
708*b843c749SSergey Zigachev 
709*b843c749SSergey Zigachev 
710*b843c749SSergey Zigachev void dce110_se_audio_mute_control(
711*b843c749SSergey Zigachev 	struct stream_encoder *enc, bool mute);
712*b843c749SSergey Zigachev 
713*b843c749SSergey Zigachev void dce110_se_dp_audio_setup(
714*b843c749SSergey Zigachev 	struct stream_encoder *enc,
715*b843c749SSergey Zigachev 	unsigned int az_inst,
716*b843c749SSergey Zigachev 	struct audio_info *info);
717*b843c749SSergey Zigachev 
718*b843c749SSergey Zigachev void dce110_se_dp_audio_enable(
719*b843c749SSergey Zigachev 		struct stream_encoder *enc);
720*b843c749SSergey Zigachev 
721*b843c749SSergey Zigachev void dce110_se_dp_audio_disable(
722*b843c749SSergey Zigachev 		struct stream_encoder *enc);
723*b843c749SSergey Zigachev 
724*b843c749SSergey Zigachev void dce110_se_hdmi_audio_setup(
725*b843c749SSergey Zigachev 	struct stream_encoder *enc,
726*b843c749SSergey Zigachev 	unsigned int az_inst,
727*b843c749SSergey Zigachev 	struct audio_info *info,
728*b843c749SSergey Zigachev 	struct audio_crtc_info *audio_crtc_info);
729*b843c749SSergey Zigachev 
730*b843c749SSergey Zigachev void dce110_se_hdmi_audio_disable(
731*b843c749SSergey Zigachev 	struct stream_encoder *enc);
732*b843c749SSergey Zigachev 
733*b843c749SSergey Zigachev #endif /* __DC_STREAM_ENCODER_DCE110_H__ */
734