1/* Copyright 2016 Advanced Micro Devices, Inc.
2 *
3 * Permission is hereby granted, free of charge, to any person obtaining a
4 * copy of this software and associated documentation files (the "Software"),
5 * to deal in the Software without restriction, including without limitation
6 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
7 * and/or sell copies of the Software, and to permit persons to whom the
8 * Software is furnished to do so, subject to the following conditions:
9 *
10 * The above copyright notice and this permission notice shall be included in
11 * all copies or substantial portions of the Software.
12 *
13 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
16 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
17 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
18 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
19 * OTHER DEALINGS IN THE SOFTWARE.
20 *
21 * Authors: AMD
22 *
23 */
24
25#ifndef __DAL_DPP_DCN10_H__
26#define __DAL_DPP_DCN10_H__
27
28#include "dpp.h"
29
30#define TO_DCN10_DPP(dpp)\
31	container_of(dpp, struct dcn10_dpp, base)
32
33/* TODO: Use correct number of taps. Using polaris values for now */
34#define LB_TOTAL_NUMBER_OF_ENTRIES 5124
35#define LB_BITS_PER_ENTRY 144
36
37#define TF_SF(reg_name, field_name, post_fix)\
38	.field_name = reg_name ## __ ## field_name ## post_fix
39
40//Used to resolve corner case
41#define TF2_SF(reg_name, field_name, post_fix)\
42	.field_name = reg_name ## _ ## field_name ## post_fix
43
44#define TF_REG_LIST_DCN(id) \
45	SRI(CM_GAMUT_REMAP_CONTROL, CM, id),\
46	SRI(CM_GAMUT_REMAP_C11_C12, CM, id),\
47	SRI(CM_GAMUT_REMAP_C13_C14, CM, id),\
48	SRI(CM_GAMUT_REMAP_C21_C22, CM, id),\
49	SRI(CM_GAMUT_REMAP_C23_C24, CM, id),\
50	SRI(CM_GAMUT_REMAP_C31_C32, CM, id),\
51	SRI(CM_GAMUT_REMAP_C33_C34, CM, id),\
52	SRI(DSCL_EXT_OVERSCAN_LEFT_RIGHT, DSCL, id), \
53	SRI(DSCL_EXT_OVERSCAN_TOP_BOTTOM, DSCL, id), \
54	SRI(DSCL_MEM_PWR_STATUS, DSCL, id), \
55	SRI(DSCL_MEM_PWR_CTRL, DSCL, id), \
56	SRI(OTG_H_BLANK, DSCL, id), \
57	SRI(OTG_V_BLANK, DSCL, id), \
58	SRI(SCL_MODE, DSCL, id), \
59	SRI(LB_DATA_FORMAT, DSCL, id), \
60	SRI(LB_MEMORY_CTRL, DSCL, id), \
61	SRI(DSCL_AUTOCAL, DSCL, id), \
62	SRI(DSCL_CONTROL, DSCL, id), \
63	SRI(SCL_BLACK_OFFSET, DSCL, id), \
64	SRI(SCL_TAP_CONTROL, DSCL, id), \
65	SRI(SCL_COEF_RAM_TAP_SELECT, DSCL, id), \
66	SRI(SCL_COEF_RAM_TAP_DATA, DSCL, id), \
67	SRI(DSCL_2TAP_CONTROL, DSCL, id), \
68	SRI(MPC_SIZE, DSCL, id), \
69	SRI(SCL_HORZ_FILTER_SCALE_RATIO, DSCL, id), \
70	SRI(SCL_VERT_FILTER_SCALE_RATIO, DSCL, id), \
71	SRI(SCL_HORZ_FILTER_SCALE_RATIO_C, DSCL, id), \
72	SRI(SCL_VERT_FILTER_SCALE_RATIO_C, DSCL, id), \
73	SRI(SCL_HORZ_FILTER_INIT, DSCL, id), \
74	SRI(SCL_HORZ_FILTER_INIT_C, DSCL, id), \
75	SRI(SCL_VERT_FILTER_INIT, DSCL, id), \
76	SRI(SCL_VERT_FILTER_INIT_BOT, DSCL, id), \
77	SRI(SCL_VERT_FILTER_INIT_C, DSCL, id), \
78	SRI(SCL_VERT_FILTER_INIT_BOT_C, DSCL, id), \
79	SRI(RECOUT_START, DSCL, id), \
80	SRI(RECOUT_SIZE, DSCL, id), \
81	SRI(CM_ICSC_CONTROL, CM, id), \
82	SRI(CM_ICSC_C11_C12, CM, id), \
83	SRI(CM_ICSC_C33_C34, CM, id), \
84	SRI(CM_DGAM_RAMB_START_CNTL_B, CM, id), \
85	SRI(CM_DGAM_RAMB_START_CNTL_G, CM, id), \
86	SRI(CM_DGAM_RAMB_START_CNTL_R, CM, id), \
87	SRI(CM_DGAM_RAMB_SLOPE_CNTL_B, CM, id), \
88	SRI(CM_DGAM_RAMB_SLOPE_CNTL_G, CM, id), \
89	SRI(CM_DGAM_RAMB_SLOPE_CNTL_R, CM, id), \
90	SRI(CM_DGAM_RAMB_END_CNTL1_B, CM, id), \
91	SRI(CM_DGAM_RAMB_END_CNTL2_B, CM, id), \
92	SRI(CM_DGAM_RAMB_END_CNTL1_G, CM, id), \
93	SRI(CM_DGAM_RAMB_END_CNTL2_G, CM, id), \
94	SRI(CM_DGAM_RAMB_END_CNTL1_R, CM, id), \
95	SRI(CM_DGAM_RAMB_END_CNTL2_R, CM, id), \
96	SRI(CM_DGAM_RAMB_REGION_0_1, CM, id), \
97	SRI(CM_DGAM_RAMB_REGION_14_15, CM, id), \
98	SRI(CM_DGAM_RAMA_START_CNTL_B, CM, id), \
99	SRI(CM_DGAM_RAMA_START_CNTL_G, CM, id), \
100	SRI(CM_DGAM_RAMA_START_CNTL_R, CM, id), \
101	SRI(CM_DGAM_RAMA_SLOPE_CNTL_B, CM, id), \
102	SRI(CM_DGAM_RAMA_SLOPE_CNTL_G, CM, id), \
103	SRI(CM_DGAM_RAMA_SLOPE_CNTL_R, CM, id), \
104	SRI(CM_DGAM_RAMA_END_CNTL1_B, CM, id), \
105	SRI(CM_DGAM_RAMA_END_CNTL2_B, CM, id), \
106	SRI(CM_DGAM_RAMA_END_CNTL1_G, CM, id), \
107	SRI(CM_DGAM_RAMA_END_CNTL2_G, CM, id), \
108	SRI(CM_DGAM_RAMA_END_CNTL1_R, CM, id), \
109	SRI(CM_DGAM_RAMA_END_CNTL2_R, CM, id), \
110	SRI(CM_DGAM_RAMA_REGION_0_1, CM, id), \
111	SRI(CM_DGAM_RAMA_REGION_14_15, CM, id), \
112	SRI(CM_MEM_PWR_CTRL, CM, id), \
113	SRI(CM_DGAM_LUT_WRITE_EN_MASK, CM, id), \
114	SRI(CM_DGAM_LUT_INDEX, CM, id), \
115	SRI(CM_DGAM_LUT_DATA, CM, id), \
116	SRI(CM_CONTROL, CM, id), \
117	SRI(CM_DGAM_CONTROL, CM, id), \
118	SRI(CM_TEST_DEBUG_INDEX, CM, id), \
119	SRI(CM_TEST_DEBUG_DATA, CM, id), \
120	SRI(FORMAT_CONTROL, CNVC_CFG, id), \
121	SRI(CNVC_SURFACE_PIXEL_FORMAT, CNVC_CFG, id), \
122	SRI(CURSOR0_CONTROL, CNVC_CUR, id), \
123	SRI(CURSOR0_COLOR0, CNVC_CUR, id), \
124	SRI(CURSOR0_COLOR1, CNVC_CUR, id), \
125	SRI(CURSOR0_FP_SCALE_BIAS, CNVC_CUR, id), \
126	SRI(DPP_CONTROL, DPP_TOP, id), \
127	SRI(CM_HDR_MULT_COEF, CM, id)
128
129
130
131#define TF_REG_LIST_DCN10(id) \
132	TF_REG_LIST_DCN(id), \
133	SRI(CM_COMA_C11_C12, CM, id),\
134	SRI(CM_COMA_C33_C34, CM, id),\
135	SRI(CM_COMB_C11_C12, CM, id),\
136	SRI(CM_COMB_C33_C34, CM, id),\
137	SRI(CM_OCSC_CONTROL, CM, id), \
138	SRI(CM_OCSC_C11_C12, CM, id), \
139	SRI(CM_OCSC_C33_C34, CM, id), \
140	SRI(CM_BNS_VALUES_R, CM, id), \
141	SRI(CM_BNS_VALUES_G, CM, id), \
142	SRI(CM_BNS_VALUES_B, CM, id), \
143	SRI(CM_MEM_PWR_CTRL, CM, id), \
144	SRI(CM_RGAM_LUT_DATA, CM, id), \
145	SRI(CM_RGAM_LUT_WRITE_EN_MASK, CM, id),\
146	SRI(CM_RGAM_LUT_INDEX, CM, id), \
147	SRI(CM_RGAM_RAMB_START_CNTL_B, CM, id), \
148	SRI(CM_RGAM_RAMB_START_CNTL_G, CM, id), \
149	SRI(CM_RGAM_RAMB_START_CNTL_R, CM, id), \
150	SRI(CM_RGAM_RAMB_SLOPE_CNTL_B, CM, id), \
151	SRI(CM_RGAM_RAMB_SLOPE_CNTL_G, CM, id), \
152	SRI(CM_RGAM_RAMB_SLOPE_CNTL_R, CM, id), \
153	SRI(CM_RGAM_RAMB_END_CNTL1_B, CM, id), \
154	SRI(CM_RGAM_RAMB_END_CNTL2_B, CM, id), \
155	SRI(CM_RGAM_RAMB_END_CNTL1_G, CM, id), \
156	SRI(CM_RGAM_RAMB_END_CNTL2_G, CM, id), \
157	SRI(CM_RGAM_RAMB_END_CNTL1_R, CM, id), \
158	SRI(CM_RGAM_RAMB_END_CNTL2_R, CM, id), \
159	SRI(CM_RGAM_RAMB_REGION_0_1, CM, id), \
160	SRI(CM_RGAM_RAMB_REGION_32_33, CM, id), \
161	SRI(CM_RGAM_RAMA_START_CNTL_B, CM, id), \
162	SRI(CM_RGAM_RAMA_START_CNTL_G, CM, id), \
163	SRI(CM_RGAM_RAMA_START_CNTL_R, CM, id), \
164	SRI(CM_RGAM_RAMA_SLOPE_CNTL_B, CM, id), \
165	SRI(CM_RGAM_RAMA_SLOPE_CNTL_G, CM, id), \
166	SRI(CM_RGAM_RAMA_SLOPE_CNTL_R, CM, id), \
167	SRI(CM_RGAM_RAMA_END_CNTL1_B, CM, id), \
168	SRI(CM_RGAM_RAMA_END_CNTL2_B, CM, id), \
169	SRI(CM_RGAM_RAMA_END_CNTL1_G, CM, id), \
170	SRI(CM_RGAM_RAMA_END_CNTL2_G, CM, id), \
171	SRI(CM_RGAM_RAMA_END_CNTL1_R, CM, id), \
172	SRI(CM_RGAM_RAMA_END_CNTL2_R, CM, id), \
173	SRI(CM_RGAM_RAMA_REGION_0_1, CM, id), \
174	SRI(CM_RGAM_RAMA_REGION_32_33, CM, id), \
175	SRI(CM_RGAM_CONTROL, CM, id), \
176	SRI(CM_IGAM_CONTROL, CM, id), \
177	SRI(CM_IGAM_LUT_RW_CONTROL, CM, id), \
178	SRI(CM_IGAM_LUT_RW_INDEX, CM, id), \
179	SRI(CM_IGAM_LUT_SEQ_COLOR, CM, id), \
180	SRI(CURSOR_CONTROL, CURSOR, id), \
181	SRI(CM_CMOUT_CONTROL, CM, id)
182
183
184#define TF_REG_LIST_SH_MASK_DCN(mask_sh)\
185	TF_SF(CM0_CM_GAMUT_REMAP_CONTROL, CM_GAMUT_REMAP_MODE, mask_sh),\
186	TF_SF(CM0_CM_GAMUT_REMAP_C11_C12, CM_GAMUT_REMAP_C11, mask_sh),\
187	TF_SF(CM0_CM_GAMUT_REMAP_C11_C12, CM_GAMUT_REMAP_C12, mask_sh),\
188	TF_SF(CM0_CM_GAMUT_REMAP_C13_C14, CM_GAMUT_REMAP_C13, mask_sh),\
189	TF_SF(CM0_CM_GAMUT_REMAP_C13_C14, CM_GAMUT_REMAP_C14, mask_sh),\
190	TF_SF(CM0_CM_GAMUT_REMAP_C21_C22, CM_GAMUT_REMAP_C21, mask_sh),\
191	TF_SF(CM0_CM_GAMUT_REMAP_C21_C22, CM_GAMUT_REMAP_C22, mask_sh),\
192	TF_SF(CM0_CM_GAMUT_REMAP_C23_C24, CM_GAMUT_REMAP_C23, mask_sh),\
193	TF_SF(CM0_CM_GAMUT_REMAP_C23_C24, CM_GAMUT_REMAP_C24, mask_sh),\
194	TF_SF(CM0_CM_GAMUT_REMAP_C31_C32, CM_GAMUT_REMAP_C31, mask_sh),\
195	TF_SF(CM0_CM_GAMUT_REMAP_C31_C32, CM_GAMUT_REMAP_C32, mask_sh),\
196	TF_SF(CM0_CM_GAMUT_REMAP_C33_C34, CM_GAMUT_REMAP_C33, mask_sh),\
197	TF_SF(CM0_CM_GAMUT_REMAP_C33_C34, CM_GAMUT_REMAP_C34, mask_sh),\
198	TF_SF(DSCL0_DSCL_EXT_OVERSCAN_LEFT_RIGHT, EXT_OVERSCAN_LEFT, mask_sh),\
199	TF_SF(DSCL0_DSCL_EXT_OVERSCAN_LEFT_RIGHT, EXT_OVERSCAN_RIGHT, mask_sh),\
200	TF_SF(DSCL0_DSCL_EXT_OVERSCAN_TOP_BOTTOM, EXT_OVERSCAN_BOTTOM, mask_sh),\
201	TF_SF(DSCL0_DSCL_EXT_OVERSCAN_TOP_BOTTOM, EXT_OVERSCAN_TOP, mask_sh),\
202	TF_SF(DSCL0_OTG_H_BLANK, OTG_H_BLANK_START, mask_sh),\
203	TF_SF(DSCL0_OTG_H_BLANK, OTG_H_BLANK_END, mask_sh),\
204	TF_SF(DSCL0_OTG_V_BLANK, OTG_V_BLANK_START, mask_sh),\
205	TF_SF(DSCL0_OTG_V_BLANK, OTG_V_BLANK_END, mask_sh),\
206	TF_SF(DSCL0_LB_DATA_FORMAT, INTERLEAVE_EN, mask_sh),\
207	TF2_SF(DSCL0, LB_DATA_FORMAT__ALPHA_EN, mask_sh),\
208	TF_SF(DSCL0_LB_MEMORY_CTRL, MEMORY_CONFIG, mask_sh),\
209	TF_SF(DSCL0_LB_MEMORY_CTRL, LB_MAX_PARTITIONS, mask_sh),\
210	TF_SF(DSCL0_DSCL_AUTOCAL, AUTOCAL_MODE, mask_sh),\
211	TF_SF(DSCL0_DSCL_AUTOCAL, AUTOCAL_NUM_PIPE, mask_sh),\
212	TF_SF(DSCL0_DSCL_AUTOCAL, AUTOCAL_PIPE_ID, mask_sh),\
213	TF_SF(DSCL0_DSCL_CONTROL, SCL_BOUNDARY_MODE, mask_sh),\
214	TF_SF(DSCL0_SCL_BLACK_OFFSET, SCL_BLACK_OFFSET_RGB_Y, mask_sh),\
215	TF_SF(DSCL0_SCL_BLACK_OFFSET, SCL_BLACK_OFFSET_CBCR, mask_sh),\
216	TF_SF(DSCL0_SCL_TAP_CONTROL, SCL_V_NUM_TAPS, mask_sh),\
217	TF_SF(DSCL0_SCL_TAP_CONTROL, SCL_H_NUM_TAPS, mask_sh),\
218	TF_SF(DSCL0_SCL_TAP_CONTROL, SCL_V_NUM_TAPS_C, mask_sh),\
219	TF_SF(DSCL0_SCL_TAP_CONTROL, SCL_H_NUM_TAPS_C, mask_sh),\
220	TF_SF(DSCL0_SCL_COEF_RAM_TAP_SELECT, SCL_COEF_RAM_TAP_PAIR_IDX, mask_sh),\
221	TF_SF(DSCL0_SCL_COEF_RAM_TAP_SELECT, SCL_COEF_RAM_PHASE, mask_sh),\
222	TF_SF(DSCL0_SCL_COEF_RAM_TAP_SELECT, SCL_COEF_RAM_FILTER_TYPE, mask_sh),\
223	TF_SF(DSCL0_SCL_COEF_RAM_TAP_DATA, SCL_COEF_RAM_EVEN_TAP_COEF, mask_sh),\
224	TF_SF(DSCL0_SCL_COEF_RAM_TAP_DATA, SCL_COEF_RAM_EVEN_TAP_COEF_EN, mask_sh),\
225	TF_SF(DSCL0_SCL_COEF_RAM_TAP_DATA, SCL_COEF_RAM_ODD_TAP_COEF, mask_sh),\
226	TF_SF(DSCL0_SCL_COEF_RAM_TAP_DATA, SCL_COEF_RAM_ODD_TAP_COEF_EN, mask_sh),\
227	TF_SF(DSCL0_DSCL_2TAP_CONTROL, SCL_H_2TAP_HARDCODE_COEF_EN, mask_sh),\
228	TF_SF(DSCL0_DSCL_2TAP_CONTROL, SCL_H_2TAP_SHARP_EN, mask_sh),\
229	TF_SF(DSCL0_DSCL_2TAP_CONTROL, SCL_H_2TAP_SHARP_FACTOR, mask_sh),\
230	TF_SF(DSCL0_DSCL_2TAP_CONTROL, SCL_V_2TAP_HARDCODE_COEF_EN, mask_sh),\
231	TF_SF(DSCL0_DSCL_2TAP_CONTROL, SCL_V_2TAP_SHARP_EN, mask_sh),\
232	TF_SF(DSCL0_DSCL_2TAP_CONTROL, SCL_V_2TAP_SHARP_FACTOR, mask_sh),\
233	TF_SF(DSCL0_SCL_MODE, SCL_COEF_RAM_SELECT, mask_sh),\
234	TF_SF(DSCL0_SCL_MODE, DSCL_MODE, mask_sh),\
235	TF_SF(DSCL0_RECOUT_START, RECOUT_START_X, mask_sh),\
236	TF_SF(DSCL0_RECOUT_START, RECOUT_START_Y, mask_sh),\
237	TF_SF(DSCL0_RECOUT_SIZE, RECOUT_WIDTH, mask_sh),\
238	TF_SF(DSCL0_RECOUT_SIZE, RECOUT_HEIGHT, mask_sh),\
239	TF_SF(DSCL0_MPC_SIZE, MPC_WIDTH, mask_sh),\
240	TF_SF(DSCL0_MPC_SIZE, MPC_HEIGHT, mask_sh),\
241	TF_SF(DSCL0_SCL_HORZ_FILTER_SCALE_RATIO, SCL_H_SCALE_RATIO, mask_sh),\
242	TF_SF(DSCL0_SCL_VERT_FILTER_SCALE_RATIO, SCL_V_SCALE_RATIO, mask_sh),\
243	TF_SF(DSCL0_SCL_HORZ_FILTER_SCALE_RATIO_C, SCL_H_SCALE_RATIO_C, mask_sh),\
244	TF_SF(DSCL0_SCL_VERT_FILTER_SCALE_RATIO_C, SCL_V_SCALE_RATIO_C, mask_sh),\
245	TF_SF(DSCL0_SCL_HORZ_FILTER_INIT, SCL_H_INIT_FRAC, mask_sh),\
246	TF_SF(DSCL0_SCL_HORZ_FILTER_INIT, SCL_H_INIT_INT, mask_sh),\
247	TF_SF(DSCL0_SCL_HORZ_FILTER_INIT_C, SCL_H_INIT_FRAC_C, mask_sh),\
248	TF_SF(DSCL0_SCL_HORZ_FILTER_INIT_C, SCL_H_INIT_INT_C, mask_sh),\
249	TF_SF(DSCL0_SCL_VERT_FILTER_INIT, SCL_V_INIT_FRAC, mask_sh),\
250	TF_SF(DSCL0_SCL_VERT_FILTER_INIT, SCL_V_INIT_INT, mask_sh),\
251	TF_SF(DSCL0_SCL_VERT_FILTER_INIT_BOT, SCL_V_INIT_FRAC_BOT, mask_sh),\
252	TF_SF(DSCL0_SCL_VERT_FILTER_INIT_BOT, SCL_V_INIT_INT_BOT, mask_sh),\
253	TF_SF(DSCL0_SCL_VERT_FILTER_INIT_C, SCL_V_INIT_FRAC_C, mask_sh),\
254	TF_SF(DSCL0_SCL_VERT_FILTER_INIT_C, SCL_V_INIT_INT_C, mask_sh),\
255	TF_SF(DSCL0_SCL_VERT_FILTER_INIT_BOT_C, SCL_V_INIT_FRAC_BOT_C, mask_sh),\
256	TF_SF(DSCL0_SCL_VERT_FILTER_INIT_BOT_C, SCL_V_INIT_INT_BOT_C, mask_sh),\
257	TF_SF(DSCL0_SCL_MODE, SCL_CHROMA_COEF_MODE, mask_sh),\
258	TF_SF(DSCL0_SCL_MODE, SCL_COEF_RAM_SELECT_CURRENT, mask_sh), \
259	TF_SF(DSCL0_DSCL_MEM_PWR_CTRL, LUT_MEM_PWR_FORCE, mask_sh), \
260	TF_SF(DSCL0_DSCL_MEM_PWR_STATUS, LUT_MEM_PWR_STATE, mask_sh), \
261	TF_SF(CM0_CM_ICSC_CONTROL, CM_ICSC_MODE, mask_sh), \
262	TF_SF(CM0_CM_ICSC_C11_C12, CM_ICSC_C11, mask_sh), \
263	TF_SF(CM0_CM_ICSC_C11_C12, CM_ICSC_C12, mask_sh), \
264	TF_SF(CM0_CM_ICSC_C33_C34, CM_ICSC_C33, mask_sh), \
265	TF_SF(CM0_CM_ICSC_C33_C34, CM_ICSC_C34, mask_sh), \
266	TF_SF(CM0_CM_DGAM_RAMB_START_CNTL_B, CM_DGAM_RAMB_EXP_REGION_START_B, mask_sh), \
267	TF_SF(CM0_CM_DGAM_RAMB_START_CNTL_B, CM_DGAM_RAMB_EXP_REGION_START_SEGMENT_B, mask_sh), \
268	TF_SF(CM0_CM_DGAM_RAMB_START_CNTL_G, CM_DGAM_RAMB_EXP_REGION_START_G, mask_sh), \
269	TF_SF(CM0_CM_DGAM_RAMB_START_CNTL_G, CM_DGAM_RAMB_EXP_REGION_START_SEGMENT_G, mask_sh), \
270	TF_SF(CM0_CM_DGAM_RAMB_START_CNTL_R, CM_DGAM_RAMB_EXP_REGION_START_R, mask_sh), \
271	TF_SF(CM0_CM_DGAM_RAMB_START_CNTL_R, CM_DGAM_RAMB_EXP_REGION_START_SEGMENT_R, mask_sh), \
272	TF_SF(CM0_CM_DGAM_RAMB_SLOPE_CNTL_B, CM_DGAM_RAMB_EXP_REGION_LINEAR_SLOPE_B, mask_sh), \
273	TF_SF(CM0_CM_DGAM_RAMB_SLOPE_CNTL_G, CM_DGAM_RAMB_EXP_REGION_LINEAR_SLOPE_G, mask_sh), \
274	TF_SF(CM0_CM_DGAM_RAMB_SLOPE_CNTL_R, CM_DGAM_RAMB_EXP_REGION_LINEAR_SLOPE_R, mask_sh), \
275	TF_SF(CM0_CM_DGAM_RAMB_END_CNTL1_B, CM_DGAM_RAMB_EXP_REGION_END_B, mask_sh), \
276	TF_SF(CM0_CM_DGAM_RAMB_END_CNTL2_B, CM_DGAM_RAMB_EXP_REGION_END_SLOPE_B, mask_sh), \
277	TF_SF(CM0_CM_DGAM_RAMB_END_CNTL2_B, CM_DGAM_RAMB_EXP_REGION_END_BASE_B, mask_sh), \
278	TF_SF(CM0_CM_DGAM_RAMB_END_CNTL1_G, CM_DGAM_RAMB_EXP_REGION_END_G, mask_sh), \
279	TF_SF(CM0_CM_DGAM_RAMB_END_CNTL2_G, CM_DGAM_RAMB_EXP_REGION_END_SLOPE_G, mask_sh), \
280	TF_SF(CM0_CM_DGAM_RAMB_END_CNTL2_G, CM_DGAM_RAMB_EXP_REGION_END_BASE_G, mask_sh), \
281	TF_SF(CM0_CM_DGAM_RAMB_END_CNTL1_R, CM_DGAM_RAMB_EXP_REGION_END_R, mask_sh), \
282	TF_SF(CM0_CM_DGAM_RAMB_END_CNTL2_R, CM_DGAM_RAMB_EXP_REGION_END_SLOPE_R, mask_sh), \
283	TF_SF(CM0_CM_DGAM_RAMB_END_CNTL2_R, CM_DGAM_RAMB_EXP_REGION_END_BASE_R, mask_sh), \
284	TF_SF(CM0_CM_DGAM_RAMB_REGION_0_1, CM_DGAM_RAMB_EXP_REGION0_LUT_OFFSET, mask_sh), \
285	TF_SF(CM0_CM_DGAM_RAMB_REGION_0_1, CM_DGAM_RAMB_EXP_REGION0_NUM_SEGMENTS, mask_sh), \
286	TF_SF(CM0_CM_DGAM_RAMB_REGION_0_1, CM_DGAM_RAMB_EXP_REGION1_LUT_OFFSET, mask_sh), \
287	TF_SF(CM0_CM_DGAM_RAMB_REGION_0_1, CM_DGAM_RAMB_EXP_REGION1_NUM_SEGMENTS, mask_sh), \
288	TF_SF(CM0_CM_DGAM_RAMB_REGION_14_15, CM_DGAM_RAMB_EXP_REGION14_LUT_OFFSET, mask_sh), \
289	TF_SF(CM0_CM_DGAM_RAMB_REGION_14_15, CM_DGAM_RAMB_EXP_REGION14_NUM_SEGMENTS, mask_sh), \
290	TF_SF(CM0_CM_DGAM_RAMB_REGION_14_15, CM_DGAM_RAMB_EXP_REGION15_LUT_OFFSET, mask_sh), \
291	TF_SF(CM0_CM_DGAM_RAMB_REGION_14_15, CM_DGAM_RAMB_EXP_REGION15_NUM_SEGMENTS, mask_sh), \
292	TF_SF(CM0_CM_DGAM_RAMA_START_CNTL_B, CM_DGAM_RAMA_EXP_REGION_START_B, mask_sh), \
293	TF_SF(CM0_CM_DGAM_RAMA_START_CNTL_B, CM_DGAM_RAMA_EXP_REGION_START_SEGMENT_B, mask_sh), \
294	TF_SF(CM0_CM_DGAM_RAMA_START_CNTL_G, CM_DGAM_RAMA_EXP_REGION_START_G, mask_sh), \
295	TF_SF(CM0_CM_DGAM_RAMA_START_CNTL_G, CM_DGAM_RAMA_EXP_REGION_START_SEGMENT_G, mask_sh), \
296	TF_SF(CM0_CM_DGAM_RAMA_START_CNTL_R, CM_DGAM_RAMA_EXP_REGION_START_R, mask_sh), \
297	TF_SF(CM0_CM_DGAM_RAMA_START_CNTL_R, CM_DGAM_RAMA_EXP_REGION_START_SEGMENT_R, mask_sh), \
298	TF_SF(CM0_CM_DGAM_RAMA_SLOPE_CNTL_B, CM_DGAM_RAMA_EXP_REGION_LINEAR_SLOPE_B, mask_sh), \
299	TF_SF(CM0_CM_DGAM_RAMA_SLOPE_CNTL_G, CM_DGAM_RAMA_EXP_REGION_LINEAR_SLOPE_G, mask_sh), \
300	TF_SF(CM0_CM_DGAM_RAMA_SLOPE_CNTL_R, CM_DGAM_RAMA_EXP_REGION_LINEAR_SLOPE_R, mask_sh), \
301	TF_SF(CM0_CM_DGAM_RAMA_END_CNTL1_B, CM_DGAM_RAMA_EXP_REGION_END_B, mask_sh), \
302	TF_SF(CM0_CM_DGAM_RAMA_END_CNTL2_B, CM_DGAM_RAMA_EXP_REGION_END_SLOPE_B, mask_sh), \
303	TF_SF(CM0_CM_DGAM_RAMA_END_CNTL2_B, CM_DGAM_RAMA_EXP_REGION_END_BASE_B, mask_sh), \
304	TF_SF(CM0_CM_DGAM_RAMA_END_CNTL1_G, CM_DGAM_RAMA_EXP_REGION_END_G, mask_sh), \
305	TF_SF(CM0_CM_DGAM_RAMA_END_CNTL2_G, CM_DGAM_RAMA_EXP_REGION_END_SLOPE_G, mask_sh), \
306	TF_SF(CM0_CM_DGAM_RAMA_END_CNTL2_G, CM_DGAM_RAMA_EXP_REGION_END_BASE_G, mask_sh), \
307	TF_SF(CM0_CM_DGAM_RAMA_END_CNTL1_R, CM_DGAM_RAMA_EXP_REGION_END_R, mask_sh), \
308	TF_SF(CM0_CM_DGAM_RAMA_END_CNTL2_R, CM_DGAM_RAMA_EXP_REGION_END_SLOPE_R, mask_sh), \
309	TF_SF(CM0_CM_DGAM_RAMA_END_CNTL2_R, CM_DGAM_RAMA_EXP_REGION_END_BASE_R, mask_sh), \
310	TF_SF(CM0_CM_DGAM_RAMA_REGION_0_1, CM_DGAM_RAMA_EXP_REGION0_LUT_OFFSET, mask_sh), \
311	TF_SF(CM0_CM_DGAM_RAMA_REGION_0_1, CM_DGAM_RAMA_EXP_REGION0_NUM_SEGMENTS, mask_sh), \
312	TF_SF(CM0_CM_DGAM_RAMA_REGION_0_1, CM_DGAM_RAMA_EXP_REGION1_LUT_OFFSET, mask_sh), \
313	TF_SF(CM0_CM_DGAM_RAMA_REGION_0_1, CM_DGAM_RAMA_EXP_REGION1_NUM_SEGMENTS, mask_sh), \
314	TF_SF(CM0_CM_DGAM_RAMA_REGION_14_15, CM_DGAM_RAMA_EXP_REGION14_LUT_OFFSET, mask_sh), \
315	TF_SF(CM0_CM_DGAM_RAMA_REGION_14_15, CM_DGAM_RAMA_EXP_REGION14_NUM_SEGMENTS, mask_sh), \
316	TF_SF(CM0_CM_DGAM_RAMA_REGION_14_15, CM_DGAM_RAMA_EXP_REGION15_LUT_OFFSET, mask_sh), \
317	TF_SF(CM0_CM_DGAM_RAMA_REGION_14_15, CM_DGAM_RAMA_EXP_REGION15_NUM_SEGMENTS, mask_sh), \
318	TF_SF(CM0_CM_MEM_PWR_CTRL, SHARED_MEM_PWR_DIS, mask_sh), \
319	TF_SF(CM0_CM_DGAM_LUT_WRITE_EN_MASK, CM_DGAM_LUT_WRITE_EN_MASK, mask_sh), \
320	TF_SF(CM0_CM_DGAM_LUT_WRITE_EN_MASK, CM_DGAM_LUT_WRITE_SEL, mask_sh), \
321	TF_SF(CM0_CM_DGAM_LUT_INDEX, CM_DGAM_LUT_INDEX, mask_sh), \
322	TF_SF(CM0_CM_DGAM_LUT_DATA, CM_DGAM_LUT_DATA, mask_sh), \
323	TF_SF(CM0_CM_DGAM_CONTROL, CM_DGAM_LUT_MODE, mask_sh), \
324	TF_SF(CM0_CM_TEST_DEBUG_INDEX, CM_TEST_DEBUG_INDEX, mask_sh), \
325	TF_SF(CNVC_CFG0_FORMAT_CONTROL, CNVC_BYPASS, mask_sh), \
326	TF2_SF(CNVC_CFG0, FORMAT_CONTROL__ALPHA_EN, mask_sh), \
327	TF_SF(CNVC_CFG0_FORMAT_CONTROL, FORMAT_EXPANSION_MODE, mask_sh), \
328	TF_SF(CNVC_CFG0_CNVC_SURFACE_PIXEL_FORMAT, CNVC_SURFACE_PIXEL_FORMAT, mask_sh), \
329	TF_SF(CNVC_CUR0_CURSOR0_CONTROL, CUR0_MODE, mask_sh), \
330	TF_SF(CNVC_CUR0_CURSOR0_CONTROL, CUR0_EXPANSION_MODE, mask_sh), \
331	TF_SF(CNVC_CUR0_CURSOR0_CONTROL, CUR0_ENABLE, mask_sh), \
332	TF_SF(CNVC_CUR0_CURSOR0_COLOR0, CUR0_COLOR0, mask_sh), \
333	TF_SF(CNVC_CUR0_CURSOR0_COLOR1, CUR0_COLOR1, mask_sh), \
334	TF_SF(CNVC_CUR0_CURSOR0_FP_SCALE_BIAS, CUR0_FP_BIAS, mask_sh), \
335	TF_SF(CNVC_CUR0_CURSOR0_FP_SCALE_BIAS, CUR0_FP_SCALE, mask_sh), \
336	TF_SF(DPP_TOP0_DPP_CONTROL, DPP_CLOCK_ENABLE, mask_sh), \
337	TF_SF(CM0_CM_HDR_MULT_COEF, CM_HDR_MULT_COEF, mask_sh)
338
339#define TF_REG_LIST_SH_MASK_DCN10(mask_sh)\
340	TF_REG_LIST_SH_MASK_DCN(mask_sh),\
341	TF_SF(DSCL0_LB_DATA_FORMAT, PIXEL_DEPTH, mask_sh),\
342	TF_SF(DSCL0_LB_DATA_FORMAT, PIXEL_EXPAN_MODE, mask_sh),\
343	TF_SF(DSCL0_LB_DATA_FORMAT, PIXEL_REDUCE_MODE, mask_sh),\
344	TF_SF(DSCL0_LB_DATA_FORMAT, DYNAMIC_PIXEL_DEPTH, mask_sh),\
345	TF_SF(DSCL0_LB_DATA_FORMAT, DITHER_EN, mask_sh),\
346	TF_SF(CM0_CM_COMA_C11_C12, CM_COMA_C11, mask_sh),\
347	TF_SF(CM0_CM_COMA_C11_C12, CM_COMA_C12, mask_sh),\
348	TF_SF(CM0_CM_COMA_C33_C34, CM_COMA_C33, mask_sh),\
349	TF_SF(CM0_CM_COMA_C33_C34, CM_COMA_C34, mask_sh),\
350	TF_SF(CM0_CM_COMB_C11_C12, CM_COMB_C11, mask_sh),\
351	TF_SF(CM0_CM_COMB_C11_C12, CM_COMB_C12, mask_sh),\
352	TF_SF(CM0_CM_COMB_C33_C34, CM_COMB_C33, mask_sh),\
353	TF_SF(CM0_CM_COMB_C33_C34, CM_COMB_C34, mask_sh),\
354	TF_SF(CM0_CM_OCSC_CONTROL, CM_OCSC_MODE, mask_sh), \
355	TF_SF(CM0_CM_OCSC_C11_C12, CM_OCSC_C11, mask_sh), \
356	TF_SF(CM0_CM_OCSC_C11_C12, CM_OCSC_C12, mask_sh), \
357	TF_SF(CM0_CM_OCSC_C33_C34, CM_OCSC_C33, mask_sh), \
358	TF_SF(CM0_CM_OCSC_C33_C34, CM_OCSC_C34, mask_sh), \
359	TF_SF(CM0_CM_BNS_VALUES_R, CM_BNS_BIAS_R, mask_sh), \
360	TF_SF(CM0_CM_BNS_VALUES_G, CM_BNS_BIAS_G, mask_sh), \
361	TF_SF(CM0_CM_BNS_VALUES_B, CM_BNS_BIAS_B, mask_sh), \
362	TF_SF(CM0_CM_BNS_VALUES_R, CM_BNS_SCALE_R, mask_sh), \
363	TF_SF(CM0_CM_BNS_VALUES_G, CM_BNS_SCALE_G, mask_sh), \
364	TF_SF(CM0_CM_BNS_VALUES_B, CM_BNS_SCALE_B, mask_sh), \
365	TF_SF(CM0_CM_MEM_PWR_CTRL, RGAM_MEM_PWR_FORCE, mask_sh), \
366	TF_SF(CM0_CM_RGAM_LUT_DATA, CM_RGAM_LUT_DATA, mask_sh), \
367	TF_SF(CM0_CM_RGAM_LUT_WRITE_EN_MASK, CM_RGAM_LUT_WRITE_EN_MASK, mask_sh), \
368	TF_SF(CM0_CM_RGAM_LUT_WRITE_EN_MASK, CM_RGAM_LUT_WRITE_SEL, mask_sh), \
369	TF_SF(CM0_CM_RGAM_LUT_INDEX, CM_RGAM_LUT_INDEX, mask_sh), \
370	TF_SF(CM0_CM_RGAM_RAMB_START_CNTL_B, CM_RGAM_RAMB_EXP_REGION_START_B, mask_sh), \
371	TF_SF(CM0_CM_RGAM_RAMB_START_CNTL_B, CM_RGAM_RAMB_EXP_REGION_START_SEGMENT_B, mask_sh), \
372	TF_SF(CM0_CM_RGAM_RAMB_START_CNTL_G, CM_RGAM_RAMB_EXP_REGION_START_G, mask_sh), \
373	TF_SF(CM0_CM_RGAM_RAMB_START_CNTL_G, CM_RGAM_RAMB_EXP_REGION_START_SEGMENT_G, mask_sh), \
374	TF_SF(CM0_CM_RGAM_RAMB_START_CNTL_R, CM_RGAM_RAMB_EXP_REGION_START_R, mask_sh), \
375	TF_SF(CM0_CM_RGAM_RAMB_START_CNTL_R, CM_RGAM_RAMB_EXP_REGION_START_SEGMENT_R, mask_sh), \
376	TF_SF(CM0_CM_RGAM_RAMB_SLOPE_CNTL_B, CM_RGAM_RAMB_EXP_REGION_LINEAR_SLOPE_B, mask_sh), \
377	TF_SF(CM0_CM_RGAM_RAMB_SLOPE_CNTL_G, CM_RGAM_RAMB_EXP_REGION_LINEAR_SLOPE_G, mask_sh), \
378	TF_SF(CM0_CM_RGAM_RAMB_SLOPE_CNTL_R, CM_RGAM_RAMB_EXP_REGION_LINEAR_SLOPE_R, mask_sh), \
379	TF_SF(CM0_CM_RGAM_RAMB_END_CNTL1_B, CM_RGAM_RAMB_EXP_REGION_END_B, mask_sh), \
380	TF_SF(CM0_CM_RGAM_RAMB_END_CNTL2_B, CM_RGAM_RAMB_EXP_REGION_END_SLOPE_B, mask_sh), \
381	TF_SF(CM0_CM_RGAM_RAMB_END_CNTL2_B, CM_RGAM_RAMB_EXP_REGION_END_BASE_B, mask_sh), \
382	TF_SF(CM0_CM_RGAM_RAMB_END_CNTL1_G, CM_RGAM_RAMB_EXP_REGION_END_G, mask_sh), \
383	TF_SF(CM0_CM_RGAM_RAMB_END_CNTL2_G, CM_RGAM_RAMB_EXP_REGION_END_SLOPE_G, mask_sh), \
384	TF_SF(CM0_CM_RGAM_RAMB_END_CNTL2_G, CM_RGAM_RAMB_EXP_REGION_END_BASE_G, mask_sh), \
385	TF_SF(CM0_CM_RGAM_RAMB_END_CNTL1_R, CM_RGAM_RAMB_EXP_REGION_END_R, mask_sh), \
386	TF_SF(CM0_CM_RGAM_RAMB_END_CNTL2_R, CM_RGAM_RAMB_EXP_REGION_END_SLOPE_R, mask_sh), \
387	TF_SF(CM0_CM_RGAM_RAMB_END_CNTL2_R, CM_RGAM_RAMB_EXP_REGION_END_BASE_R, mask_sh), \
388	TF_SF(CM0_CM_RGAM_RAMB_REGION_0_1, CM_RGAM_RAMB_EXP_REGION0_LUT_OFFSET, mask_sh), \
389	TF_SF(CM0_CM_RGAM_RAMB_REGION_0_1, CM_RGAM_RAMB_EXP_REGION0_NUM_SEGMENTS, mask_sh), \
390	TF_SF(CM0_CM_RGAM_RAMB_REGION_0_1, CM_RGAM_RAMB_EXP_REGION1_LUT_OFFSET, mask_sh), \
391	TF_SF(CM0_CM_RGAM_RAMB_REGION_0_1, CM_RGAM_RAMB_EXP_REGION1_NUM_SEGMENTS, mask_sh), \
392	TF_SF(CM0_CM_RGAM_RAMB_REGION_32_33, CM_RGAM_RAMB_EXP_REGION32_LUT_OFFSET, mask_sh), \
393	TF_SF(CM0_CM_RGAM_RAMB_REGION_32_33, CM_RGAM_RAMB_EXP_REGION32_NUM_SEGMENTS, mask_sh), \
394	TF_SF(CM0_CM_RGAM_RAMB_REGION_32_33, CM_RGAM_RAMB_EXP_REGION33_LUT_OFFSET, mask_sh), \
395	TF_SF(CM0_CM_RGAM_RAMB_REGION_32_33, CM_RGAM_RAMB_EXP_REGION33_NUM_SEGMENTS, mask_sh), \
396	TF_SF(CM0_CM_RGAM_RAMA_START_CNTL_B, CM_RGAM_RAMA_EXP_REGION_START_B, mask_sh), \
397	TF_SF(CM0_CM_RGAM_RAMA_START_CNTL_B, CM_RGAM_RAMA_EXP_REGION_START_SEGMENT_B, mask_sh), \
398	TF_SF(CM0_CM_RGAM_RAMA_START_CNTL_G, CM_RGAM_RAMA_EXP_REGION_START_G, mask_sh), \
399	TF_SF(CM0_CM_RGAM_RAMA_START_CNTL_G, CM_RGAM_RAMA_EXP_REGION_START_SEGMENT_G, mask_sh), \
400	TF_SF(CM0_CM_RGAM_RAMA_START_CNTL_R, CM_RGAM_RAMA_EXP_REGION_START_R, mask_sh), \
401	TF_SF(CM0_CM_RGAM_RAMA_START_CNTL_R, CM_RGAM_RAMA_EXP_REGION_START_SEGMENT_R, mask_sh), \
402	TF_SF(CM0_CM_RGAM_RAMA_SLOPE_CNTL_B, CM_RGAM_RAMA_EXP_REGION_LINEAR_SLOPE_B, mask_sh), \
403	TF_SF(CM0_CM_RGAM_RAMA_SLOPE_CNTL_G, CM_RGAM_RAMA_EXP_REGION_LINEAR_SLOPE_G, mask_sh), \
404	TF_SF(CM0_CM_RGAM_RAMA_SLOPE_CNTL_R, CM_RGAM_RAMA_EXP_REGION_LINEAR_SLOPE_R, mask_sh), \
405	TF_SF(CM0_CM_RGAM_RAMA_END_CNTL1_B, CM_RGAM_RAMA_EXP_REGION_END_B, mask_sh), \
406	TF_SF(CM0_CM_RGAM_RAMA_END_CNTL2_B, CM_RGAM_RAMA_EXP_REGION_END_SLOPE_B, mask_sh), \
407	TF_SF(CM0_CM_RGAM_RAMA_END_CNTL2_B, CM_RGAM_RAMA_EXP_REGION_END_BASE_B, mask_sh), \
408	TF_SF(CM0_CM_RGAM_RAMA_END_CNTL1_G, CM_RGAM_RAMA_EXP_REGION_END_G, mask_sh), \
409	TF_SF(CM0_CM_RGAM_RAMA_END_CNTL2_G, CM_RGAM_RAMA_EXP_REGION_END_SLOPE_G, mask_sh), \
410	TF_SF(CM0_CM_RGAM_RAMA_END_CNTL2_G, CM_RGAM_RAMA_EXP_REGION_END_BASE_G, mask_sh), \
411	TF_SF(CM0_CM_RGAM_RAMA_END_CNTL1_R, CM_RGAM_RAMA_EXP_REGION_END_R, mask_sh), \
412	TF_SF(CM0_CM_RGAM_RAMA_END_CNTL2_R, CM_RGAM_RAMA_EXP_REGION_END_SLOPE_R, mask_sh), \
413	TF_SF(CM0_CM_RGAM_RAMA_END_CNTL2_R, CM_RGAM_RAMA_EXP_REGION_END_BASE_R, mask_sh), \
414	TF_SF(CM0_CM_RGAM_RAMA_REGION_0_1, CM_RGAM_RAMA_EXP_REGION0_LUT_OFFSET, mask_sh), \
415	TF_SF(CM0_CM_RGAM_RAMA_REGION_0_1, CM_RGAM_RAMA_EXP_REGION0_NUM_SEGMENTS, mask_sh), \
416	TF_SF(CM0_CM_RGAM_RAMA_REGION_0_1, CM_RGAM_RAMA_EXP_REGION1_LUT_OFFSET, mask_sh), \
417	TF_SF(CM0_CM_RGAM_RAMA_REGION_0_1, CM_RGAM_RAMA_EXP_REGION1_NUM_SEGMENTS, mask_sh), \
418	TF_SF(CM0_CM_RGAM_RAMA_REGION_32_33, CM_RGAM_RAMA_EXP_REGION32_LUT_OFFSET, mask_sh), \
419	TF_SF(CM0_CM_RGAM_RAMA_REGION_32_33, CM_RGAM_RAMA_EXP_REGION32_NUM_SEGMENTS, mask_sh), \
420	TF_SF(CM0_CM_RGAM_RAMA_REGION_32_33, CM_RGAM_RAMA_EXP_REGION33_LUT_OFFSET, mask_sh), \
421	TF_SF(CM0_CM_RGAM_RAMA_REGION_32_33, CM_RGAM_RAMA_EXP_REGION33_NUM_SEGMENTS, mask_sh), \
422	TF_SF(CM0_CM_RGAM_CONTROL, CM_RGAM_LUT_MODE, mask_sh), \
423	TF_SF(CM0_CM_IGAM_CONTROL, CM_IGAM_LUT_MODE, mask_sh), \
424	TF_SF(CM0_CM_IGAM_CONTROL, CM_IGAM_LUT_FORMAT_R, mask_sh), \
425	TF_SF(CM0_CM_IGAM_CONTROL, CM_IGAM_LUT_FORMAT_G, mask_sh), \
426	TF_SF(CM0_CM_IGAM_CONTROL, CM_IGAM_LUT_FORMAT_B, mask_sh), \
427	TF_SF(CM0_CM_IGAM_CONTROL, CM_IGAM_INPUT_FORMAT, mask_sh), \
428	TF_SF(CM0_CM_IGAM_LUT_RW_CONTROL, CM_IGAM_DGAM_CONFIG_STATUS, mask_sh), \
429	TF_SF(CM0_CM_IGAM_LUT_RW_CONTROL, CM_IGAM_LUT_HOST_EN, mask_sh), \
430	TF_SF(CM0_CM_IGAM_LUT_RW_CONTROL, CM_IGAM_LUT_RW_MODE, mask_sh), \
431	TF_SF(CM0_CM_IGAM_LUT_RW_CONTROL, CM_IGAM_LUT_SEL, mask_sh), \
432	TF_SF(CM0_CM_IGAM_LUT_RW_CONTROL, CM_IGAM_LUT_WRITE_EN_MASK, mask_sh), \
433	TF_SF(CM0_CM_IGAM_LUT_RW_INDEX, CM_IGAM_LUT_RW_INDEX, mask_sh), \
434	TF_SF(CM0_CM_CONTROL, CM_BYPASS_EN, mask_sh), \
435	TF_SF(CM0_CM_IGAM_LUT_SEQ_COLOR, CM_IGAM_LUT_SEQ_COLOR, mask_sh), \
436	TF_SF(CNVC_CFG0_FORMAT_CONTROL, OUTPUT_FP, mask_sh), \
437	TF_SF(CM0_CM_CMOUT_CONTROL, CM_CMOUT_ROUND_TRUNC_MODE, mask_sh), \
438	TF_SF(CURSOR0_CURSOR_CONTROL, CURSOR_MODE, mask_sh), \
439	TF_SF(CURSOR0_CURSOR_CONTROL, CURSOR_PITCH, mask_sh), \
440	TF_SF(CURSOR0_CURSOR_CONTROL, CURSOR_LINES_PER_CHUNK, mask_sh), \
441	TF_SF(CURSOR0_CURSOR_CONTROL, CURSOR_ENABLE, mask_sh), \
442	TF_SF(DPP_TOP0_DPP_CONTROL, DPPCLK_RATE_CONTROL, mask_sh)
443
444/*
445 *
446	DCN1 CM debug status register definition
447
448	register :ID9_CM_STATUS do
449	implement_ref :cm
450	map to:  :cmdebugind, at: j
451	width 32
452	disclosure   NEVER
453
454		field :ID9_VUPDATE_CFG, [0], R
455		field :ID9_IGAM_LUT_MODE, [2..1], R
456		field :ID9_BNS_BYPASS, [3], R
457		field :ID9_ICSC_MODE, [5..4], R
458		field :ID9_DGAM_LUT_MODE, [8..6], R
459		field :ID9_HDR_BYPASS, [9], R
460		field :ID9_GAMUT_REMAP_MODE, [11..10], R
461		field :ID9_RGAM_LUT_MODE, [14..12], R
462		#1 free bit
463		field :ID9_OCSC_MODE, [18..16], R
464		field :ID9_DENORM_MODE, [21..19], R
465		field :ID9_ROUND_TRUNC_MODE, [25..22], R
466		field :ID9_DITHER_EN, [26], R
467		field :ID9_DITHER_MODE, [28..27], R
468	end
469*/
470
471#define TF_DEBUG_REG_LIST_SH_DCN10 \
472	.CM_TEST_DEBUG_DATA_ID9_ICSC_MODE = 4, \
473	.CM_TEST_DEBUG_DATA_ID9_OCSC_MODE = 16
474
475#define TF_DEBUG_REG_LIST_MASK_DCN10 \
476	.CM_TEST_DEBUG_DATA_ID9_ICSC_MODE = 0x30, \
477	.CM_TEST_DEBUG_DATA_ID9_OCSC_MODE = 0x70000
478
479#define TF_REG_FIELD_LIST(type) \
480	type EXT_OVERSCAN_LEFT; \
481	type EXT_OVERSCAN_RIGHT; \
482	type EXT_OVERSCAN_BOTTOM; \
483	type EXT_OVERSCAN_TOP; \
484	type OTG_H_BLANK_START; \
485	type OTG_H_BLANK_END; \
486	type OTG_V_BLANK_START; \
487	type OTG_V_BLANK_END; \
488	type PIXEL_DEPTH; \
489	type PIXEL_EXPAN_MODE; \
490	type PIXEL_REDUCE_MODE; \
491	type DYNAMIC_PIXEL_DEPTH; \
492	type DITHER_EN; \
493	type INTERLEAVE_EN; \
494	type LB_DATA_FORMAT__ALPHA_EN; \
495	type MEMORY_CONFIG; \
496	type LB_MAX_PARTITIONS; \
497	type AUTOCAL_MODE; \
498	type AUTOCAL_NUM_PIPE; \
499	type AUTOCAL_PIPE_ID; \
500	type SCL_BOUNDARY_MODE; \
501	type SCL_BLACK_OFFSET_RGB_Y; \
502	type SCL_BLACK_OFFSET_CBCR; \
503	type SCL_V_NUM_TAPS; \
504	type SCL_H_NUM_TAPS; \
505	type SCL_V_NUM_TAPS_C; \
506	type SCL_H_NUM_TAPS_C; \
507	type SCL_COEF_RAM_TAP_PAIR_IDX; \
508	type SCL_COEF_RAM_PHASE; \
509	type SCL_COEF_RAM_FILTER_TYPE; \
510	type SCL_COEF_RAM_EVEN_TAP_COEF; \
511	type SCL_COEF_RAM_EVEN_TAP_COEF_EN; \
512	type SCL_COEF_RAM_ODD_TAP_COEF; \
513	type SCL_COEF_RAM_ODD_TAP_COEF_EN; \
514	type SCL_H_2TAP_HARDCODE_COEF_EN; \
515	type SCL_H_2TAP_SHARP_EN; \
516	type SCL_H_2TAP_SHARP_FACTOR; \
517	type SCL_V_2TAP_HARDCODE_COEF_EN; \
518	type SCL_V_2TAP_SHARP_EN; \
519	type SCL_V_2TAP_SHARP_FACTOR; \
520	type SCL_COEF_RAM_SELECT; \
521	type DSCL_MODE; \
522	type RECOUT_START_X; \
523	type RECOUT_START_Y; \
524	type RECOUT_WIDTH; \
525	type RECOUT_HEIGHT; \
526	type MPC_WIDTH; \
527	type MPC_HEIGHT; \
528	type SCL_H_SCALE_RATIO; \
529	type SCL_V_SCALE_RATIO; \
530	type SCL_H_SCALE_RATIO_C; \
531	type SCL_V_SCALE_RATIO_C; \
532	type SCL_H_INIT_FRAC; \
533	type SCL_H_INIT_INT; \
534	type SCL_H_INIT_FRAC_C; \
535	type SCL_H_INIT_INT_C; \
536	type SCL_V_INIT_FRAC; \
537	type SCL_V_INIT_INT; \
538	type SCL_V_INIT_FRAC_BOT; \
539	type SCL_V_INIT_INT_BOT; \
540	type SCL_V_INIT_FRAC_C; \
541	type SCL_V_INIT_INT_C; \
542	type SCL_V_INIT_FRAC_BOT_C; \
543	type SCL_V_INIT_INT_BOT_C; \
544	type SCL_CHROMA_COEF_MODE; \
545	type SCL_COEF_RAM_SELECT_CURRENT; \
546	type LUT_MEM_PWR_FORCE; \
547	type LUT_MEM_PWR_STATE; \
548	type CM_GAMUT_REMAP_MODE; \
549	type CM_GAMUT_REMAP_C11; \
550	type CM_GAMUT_REMAP_C12; \
551	type CM_GAMUT_REMAP_C13; \
552	type CM_GAMUT_REMAP_C14; \
553	type CM_GAMUT_REMAP_C21; \
554	type CM_GAMUT_REMAP_C22; \
555	type CM_GAMUT_REMAP_C23; \
556	type CM_GAMUT_REMAP_C24; \
557	type CM_GAMUT_REMAP_C31; \
558	type CM_GAMUT_REMAP_C32; \
559	type CM_GAMUT_REMAP_C33; \
560	type CM_GAMUT_REMAP_C34; \
561	type CM_COMA_C11; \
562	type CM_COMA_C12; \
563	type CM_COMA_C33; \
564	type CM_COMA_C34; \
565	type CM_COMB_C11; \
566	type CM_COMB_C12; \
567	type CM_COMB_C33; \
568	type CM_COMB_C34; \
569	type CM_OCSC_MODE; \
570	type CM_OCSC_C11; \
571	type CM_OCSC_C12; \
572	type CM_OCSC_C33; \
573	type CM_OCSC_C34; \
574	type RGAM_MEM_PWR_FORCE; \
575	type CM_RGAM_LUT_DATA; \
576	type CM_RGAM_LUT_WRITE_EN_MASK; \
577	type CM_RGAM_LUT_WRITE_SEL; \
578	type CM_RGAM_LUT_INDEX; \
579	type CM_RGAM_RAMB_EXP_REGION_START_B; \
580	type CM_RGAM_RAMB_EXP_REGION_START_SEGMENT_B; \
581	type CM_RGAM_RAMB_EXP_REGION_START_G; \
582	type CM_RGAM_RAMB_EXP_REGION_START_SEGMENT_G; \
583	type CM_RGAM_RAMB_EXP_REGION_START_R; \
584	type CM_RGAM_RAMB_EXP_REGION_START_SEGMENT_R; \
585	type CM_RGAM_RAMB_EXP_REGION_LINEAR_SLOPE_B; \
586	type CM_RGAM_RAMB_EXP_REGION_LINEAR_SLOPE_G; \
587	type CM_RGAM_RAMB_EXP_REGION_LINEAR_SLOPE_R; \
588	type CM_RGAM_RAMB_EXP_REGION_END_B; \
589	type CM_RGAM_RAMB_EXP_REGION_END_SLOPE_B; \
590	type CM_RGAM_RAMB_EXP_REGION_END_BASE_B; \
591	type CM_RGAM_RAMB_EXP_REGION_END_G; \
592	type CM_RGAM_RAMB_EXP_REGION_END_SLOPE_G; \
593	type CM_RGAM_RAMB_EXP_REGION_END_BASE_G; \
594	type CM_RGAM_RAMB_EXP_REGION_END_R; \
595	type CM_RGAM_RAMB_EXP_REGION_END_SLOPE_R; \
596	type CM_RGAM_RAMB_EXP_REGION_END_BASE_R; \
597	type CM_RGAM_RAMB_EXP_REGION0_LUT_OFFSET; \
598	type CM_RGAM_RAMB_EXP_REGION0_NUM_SEGMENTS; \
599	type CM_RGAM_RAMB_EXP_REGION1_LUT_OFFSET; \
600	type CM_RGAM_RAMB_EXP_REGION1_NUM_SEGMENTS; \
601	type CM_RGAM_RAMB_EXP_REGION32_LUT_OFFSET; \
602	type CM_RGAM_RAMB_EXP_REGION32_NUM_SEGMENTS; \
603	type CM_RGAM_RAMB_EXP_REGION33_LUT_OFFSET; \
604	type CM_RGAM_RAMB_EXP_REGION33_NUM_SEGMENTS; \
605	type CM_RGAM_RAMA_EXP_REGION_START_B; \
606	type CM_RGAM_RAMA_EXP_REGION_START_SEGMENT_B; \
607	type CM_RGAM_RAMA_EXP_REGION_START_G; \
608	type CM_RGAM_RAMA_EXP_REGION_START_SEGMENT_G; \
609	type CM_RGAM_RAMA_EXP_REGION_START_R; \
610	type CM_RGAM_RAMA_EXP_REGION_START_SEGMENT_R; \
611	type CM_RGAM_RAMA_EXP_REGION_LINEAR_SLOPE_B; \
612	type CM_RGAM_RAMA_EXP_REGION_LINEAR_SLOPE_G; \
613	type CM_RGAM_RAMA_EXP_REGION_LINEAR_SLOPE_R; \
614	type CM_RGAM_RAMA_EXP_REGION_END_B; \
615	type CM_RGAM_RAMA_EXP_REGION_END_SLOPE_B; \
616	type CM_RGAM_RAMA_EXP_REGION_END_BASE_B; \
617	type CM_RGAM_RAMA_EXP_REGION_END_G; \
618	type CM_RGAM_RAMA_EXP_REGION_END_SLOPE_G; \
619	type CM_RGAM_RAMA_EXP_REGION_END_BASE_G; \
620	type CM_RGAM_RAMA_EXP_REGION_END_R; \
621	type CM_RGAM_RAMA_EXP_REGION_END_SLOPE_R; \
622	type CM_RGAM_RAMA_EXP_REGION_END_BASE_R; \
623	type CM_RGAM_RAMA_EXP_REGION0_LUT_OFFSET; \
624	type CM_RGAM_RAMA_EXP_REGION0_NUM_SEGMENTS; \
625	type CM_RGAM_RAMA_EXP_REGION1_LUT_OFFSET; \
626	type CM_RGAM_RAMA_EXP_REGION1_NUM_SEGMENTS; \
627	type CM_RGAM_RAMA_EXP_REGION32_LUT_OFFSET; \
628	type CM_RGAM_RAMA_EXP_REGION32_NUM_SEGMENTS; \
629	type CM_RGAM_RAMA_EXP_REGION33_LUT_OFFSET; \
630	type CM_RGAM_RAMA_EXP_REGION33_NUM_SEGMENTS; \
631	type CM_RGAM_LUT_MODE; \
632	type CM_CMOUT_ROUND_TRUNC_MODE; \
633	type CM_BLNDGAM_LUT_MODE; \
634	type CM_BLNDGAM_RAMB_EXP_REGION_START_B; \
635	type CM_BLNDGAM_RAMB_EXP_REGION_START_SEGMENT_B; \
636	type CM_BLNDGAM_RAMB_EXP_REGION_START_G; \
637	type CM_BLNDGAM_RAMB_EXP_REGION_START_SEGMENT_G; \
638	type CM_BLNDGAM_RAMB_EXP_REGION_START_R; \
639	type CM_BLNDGAM_RAMB_EXP_REGION_START_SEGMENT_R; \
640	type CM_BLNDGAM_RAMB_EXP_REGION_LINEAR_SLOPE_B; \
641	type CM_BLNDGAM_RAMB_EXP_REGION_LINEAR_SLOPE_G; \
642	type CM_BLNDGAM_RAMB_EXP_REGION_LINEAR_SLOPE_R; \
643	type CM_BLNDGAM_RAMB_EXP_REGION_END_B; \
644	type CM_BLNDGAM_RAMB_EXP_REGION_END_SLOPE_B; \
645	type CM_BLNDGAM_RAMB_EXP_REGION_END_BASE_B; \
646	type CM_BLNDGAM_RAMB_EXP_REGION_END_G; \
647	type CM_BLNDGAM_RAMB_EXP_REGION_END_SLOPE_G; \
648	type CM_BLNDGAM_RAMB_EXP_REGION_END_BASE_G; \
649	type CM_BLNDGAM_RAMB_EXP_REGION_END_R; \
650	type CM_BLNDGAM_RAMB_EXP_REGION_END_SLOPE_R; \
651	type CM_BLNDGAM_RAMB_EXP_REGION_END_BASE_R; \
652	type CM_BLNDGAM_RAMB_EXP_REGION0_LUT_OFFSET; \
653	type CM_BLNDGAM_RAMB_EXP_REGION0_NUM_SEGMENTS; \
654	type CM_BLNDGAM_RAMB_EXP_REGION1_LUT_OFFSET; \
655	type CM_BLNDGAM_RAMB_EXP_REGION1_NUM_SEGMENTS; \
656	type CM_BLNDGAM_RAMB_EXP_REGION2_LUT_OFFSET; \
657	type CM_BLNDGAM_RAMB_EXP_REGION2_NUM_SEGMENTS; \
658	type CM_BLNDGAM_RAMB_EXP_REGION3_LUT_OFFSET; \
659	type CM_BLNDGAM_RAMB_EXP_REGION3_NUM_SEGMENTS; \
660	type CM_BLNDGAM_RAMB_EXP_REGION4_LUT_OFFSET; \
661	type CM_BLNDGAM_RAMB_EXP_REGION4_NUM_SEGMENTS; \
662	type CM_BLNDGAM_RAMB_EXP_REGION5_LUT_OFFSET; \
663	type CM_BLNDGAM_RAMB_EXP_REGION5_NUM_SEGMENTS; \
664	type CM_BLNDGAM_RAMB_EXP_REGION6_LUT_OFFSET; \
665	type CM_BLNDGAM_RAMB_EXP_REGION6_NUM_SEGMENTS; \
666	type CM_BLNDGAM_RAMB_EXP_REGION7_LUT_OFFSET; \
667	type CM_BLNDGAM_RAMB_EXP_REGION7_NUM_SEGMENTS; \
668	type CM_BLNDGAM_RAMB_EXP_REGION8_LUT_OFFSET; \
669	type CM_BLNDGAM_RAMB_EXP_REGION8_NUM_SEGMENTS; \
670	type CM_BLNDGAM_RAMB_EXP_REGION9_LUT_OFFSET; \
671	type CM_BLNDGAM_RAMB_EXP_REGION9_NUM_SEGMENTS; \
672	type CM_BLNDGAM_RAMB_EXP_REGION10_LUT_OFFSET; \
673	type CM_BLNDGAM_RAMB_EXP_REGION10_NUM_SEGMENTS; \
674	type CM_BLNDGAM_RAMB_EXP_REGION11_LUT_OFFSET; \
675	type CM_BLNDGAM_RAMB_EXP_REGION11_NUM_SEGMENTS; \
676	type CM_BLNDGAM_RAMB_EXP_REGION12_LUT_OFFSET; \
677	type CM_BLNDGAM_RAMB_EXP_REGION12_NUM_SEGMENTS; \
678	type CM_BLNDGAM_RAMB_EXP_REGION13_LUT_OFFSET; \
679	type CM_BLNDGAM_RAMB_EXP_REGION13_NUM_SEGMENTS; \
680	type CM_BLNDGAM_RAMB_EXP_REGION14_LUT_OFFSET; \
681	type CM_BLNDGAM_RAMB_EXP_REGION14_NUM_SEGMENTS; \
682	type CM_BLNDGAM_RAMB_EXP_REGION15_LUT_OFFSET; \
683	type CM_BLNDGAM_RAMB_EXP_REGION15_NUM_SEGMENTS; \
684	type CM_BLNDGAM_RAMB_EXP_REGION16_LUT_OFFSET; \
685	type CM_BLNDGAM_RAMB_EXP_REGION16_NUM_SEGMENTS; \
686	type CM_BLNDGAM_RAMB_EXP_REGION17_LUT_OFFSET; \
687	type CM_BLNDGAM_RAMB_EXP_REGION17_NUM_SEGMENTS; \
688	type CM_BLNDGAM_RAMB_EXP_REGION18_LUT_OFFSET; \
689	type CM_BLNDGAM_RAMB_EXP_REGION18_NUM_SEGMENTS; \
690	type CM_BLNDGAM_RAMB_EXP_REGION19_LUT_OFFSET; \
691	type CM_BLNDGAM_RAMB_EXP_REGION19_NUM_SEGMENTS; \
692	type CM_BLNDGAM_RAMB_EXP_REGION20_LUT_OFFSET; \
693	type CM_BLNDGAM_RAMB_EXP_REGION20_NUM_SEGMENTS; \
694	type CM_BLNDGAM_RAMB_EXP_REGION21_LUT_OFFSET; \
695	type CM_BLNDGAM_RAMB_EXP_REGION21_NUM_SEGMENTS; \
696	type CM_BLNDGAM_RAMB_EXP_REGION22_LUT_OFFSET; \
697	type CM_BLNDGAM_RAMB_EXP_REGION22_NUM_SEGMENTS; \
698	type CM_BLNDGAM_RAMB_EXP_REGION23_LUT_OFFSET; \
699	type CM_BLNDGAM_RAMB_EXP_REGION23_NUM_SEGMENTS; \
700	type CM_BLNDGAM_RAMB_EXP_REGION24_LUT_OFFSET; \
701	type CM_BLNDGAM_RAMB_EXP_REGION24_NUM_SEGMENTS; \
702	type CM_BLNDGAM_RAMB_EXP_REGION25_LUT_OFFSET; \
703	type CM_BLNDGAM_RAMB_EXP_REGION25_NUM_SEGMENTS; \
704	type CM_BLNDGAM_RAMB_EXP_REGION26_LUT_OFFSET; \
705	type CM_BLNDGAM_RAMB_EXP_REGION26_NUM_SEGMENTS; \
706	type CM_BLNDGAM_RAMB_EXP_REGION27_LUT_OFFSET; \
707	type CM_BLNDGAM_RAMB_EXP_REGION27_NUM_SEGMENTS; \
708	type CM_BLNDGAM_RAMB_EXP_REGION28_LUT_OFFSET; \
709	type CM_BLNDGAM_RAMB_EXP_REGION28_NUM_SEGMENTS; \
710	type CM_BLNDGAM_RAMB_EXP_REGION29_LUT_OFFSET; \
711	type CM_BLNDGAM_RAMB_EXP_REGION29_NUM_SEGMENTS; \
712	type CM_BLNDGAM_RAMB_EXP_REGION30_LUT_OFFSET; \
713	type CM_BLNDGAM_RAMB_EXP_REGION30_NUM_SEGMENTS; \
714	type CM_BLNDGAM_RAMB_EXP_REGION31_LUT_OFFSET; \
715	type CM_BLNDGAM_RAMB_EXP_REGION31_NUM_SEGMENTS; \
716	type CM_BLNDGAM_RAMB_EXP_REGION32_LUT_OFFSET; \
717	type CM_BLNDGAM_RAMB_EXP_REGION32_NUM_SEGMENTS; \
718	type CM_BLNDGAM_RAMB_EXP_REGION33_LUT_OFFSET; \
719	type CM_BLNDGAM_RAMB_EXP_REGION33_NUM_SEGMENTS; \
720	type CM_BLNDGAM_RAMA_EXP_REGION_START_B; \
721	type CM_BLNDGAM_RAMA_EXP_REGION_START_SEGMENT_B; \
722	type CM_BLNDGAM_RAMA_EXP_REGION_START_G; \
723	type CM_BLNDGAM_RAMA_EXP_REGION_START_SEGMENT_G; \
724	type CM_BLNDGAM_RAMA_EXP_REGION_START_R; \
725	type CM_BLNDGAM_RAMA_EXP_REGION_START_SEGMENT_R; \
726	type CM_BLNDGAM_RAMA_EXP_REGION_LINEAR_SLOPE_B; \
727	type CM_BLNDGAM_RAMA_EXP_REGION_LINEAR_SLOPE_G; \
728	type CM_BLNDGAM_RAMA_EXP_REGION_LINEAR_SLOPE_R; \
729	type CM_BLNDGAM_RAMA_EXP_REGION_END_B; \
730	type CM_BLNDGAM_RAMA_EXP_REGION_END_SLOPE_B; \
731	type CM_BLNDGAM_RAMA_EXP_REGION_END_BASE_B; \
732	type CM_BLNDGAM_RAMA_EXP_REGION_END_G; \
733	type CM_BLNDGAM_RAMA_EXP_REGION_END_SLOPE_G; \
734	type CM_BLNDGAM_RAMA_EXP_REGION_END_BASE_G; \
735	type CM_BLNDGAM_RAMA_EXP_REGION_END_R; \
736	type CM_BLNDGAM_RAMA_EXP_REGION_END_SLOPE_R; \
737	type CM_BLNDGAM_RAMA_EXP_REGION_END_BASE_R; \
738	type CM_BLNDGAM_RAMA_EXP_REGION0_LUT_OFFSET; \
739	type CM_BLNDGAM_RAMA_EXP_REGION0_NUM_SEGMENTS; \
740	type CM_BLNDGAM_RAMA_EXP_REGION1_LUT_OFFSET; \
741	type CM_BLNDGAM_RAMA_EXP_REGION1_NUM_SEGMENTS; \
742	type CM_BLNDGAM_RAMA_EXP_REGION2_LUT_OFFSET; \
743	type CM_BLNDGAM_RAMA_EXP_REGION2_NUM_SEGMENTS; \
744	type CM_BLNDGAM_RAMA_EXP_REGION3_LUT_OFFSET; \
745	type CM_BLNDGAM_RAMA_EXP_REGION3_NUM_SEGMENTS; \
746	type CM_BLNDGAM_RAMA_EXP_REGION4_LUT_OFFSET; \
747	type CM_BLNDGAM_RAMA_EXP_REGION4_NUM_SEGMENTS; \
748	type CM_BLNDGAM_RAMA_EXP_REGION5_LUT_OFFSET; \
749	type CM_BLNDGAM_RAMA_EXP_REGION5_NUM_SEGMENTS; \
750	type CM_BLNDGAM_RAMA_EXP_REGION6_LUT_OFFSET; \
751	type CM_BLNDGAM_RAMA_EXP_REGION6_NUM_SEGMENTS; \
752	type CM_BLNDGAM_RAMA_EXP_REGION7_LUT_OFFSET; \
753	type CM_BLNDGAM_RAMA_EXP_REGION7_NUM_SEGMENTS; \
754	type CM_BLNDGAM_RAMA_EXP_REGION8_LUT_OFFSET; \
755	type CM_BLNDGAM_RAMA_EXP_REGION8_NUM_SEGMENTS; \
756	type CM_BLNDGAM_RAMA_EXP_REGION9_LUT_OFFSET; \
757	type CM_BLNDGAM_RAMA_EXP_REGION9_NUM_SEGMENTS; \
758	type CM_BLNDGAM_RAMA_EXP_REGION10_LUT_OFFSET; \
759	type CM_BLNDGAM_RAMA_EXP_REGION10_NUM_SEGMENTS; \
760	type CM_BLNDGAM_RAMA_EXP_REGION11_LUT_OFFSET; \
761	type CM_BLNDGAM_RAMA_EXP_REGION11_NUM_SEGMENTS; \
762	type CM_BLNDGAM_RAMA_EXP_REGION12_LUT_OFFSET; \
763	type CM_BLNDGAM_RAMA_EXP_REGION12_NUM_SEGMENTS; \
764	type CM_BLNDGAM_RAMA_EXP_REGION13_LUT_OFFSET; \
765	type CM_BLNDGAM_RAMA_EXP_REGION13_NUM_SEGMENTS; \
766	type CM_BLNDGAM_RAMA_EXP_REGION14_LUT_OFFSET; \
767	type CM_BLNDGAM_RAMA_EXP_REGION14_NUM_SEGMENTS; \
768	type CM_BLNDGAM_RAMA_EXP_REGION15_LUT_OFFSET; \
769	type CM_BLNDGAM_RAMA_EXP_REGION15_NUM_SEGMENTS; \
770	type CM_BLNDGAM_RAMA_EXP_REGION16_LUT_OFFSET; \
771	type CM_BLNDGAM_RAMA_EXP_REGION16_NUM_SEGMENTS; \
772	type CM_BLNDGAM_RAMA_EXP_REGION17_LUT_OFFSET; \
773	type CM_BLNDGAM_RAMA_EXP_REGION17_NUM_SEGMENTS; \
774	type CM_BLNDGAM_RAMA_EXP_REGION18_LUT_OFFSET; \
775	type CM_BLNDGAM_RAMA_EXP_REGION18_NUM_SEGMENTS; \
776	type CM_BLNDGAM_RAMA_EXP_REGION19_LUT_OFFSET; \
777	type CM_BLNDGAM_RAMA_EXP_REGION19_NUM_SEGMENTS; \
778	type CM_BLNDGAM_RAMA_EXP_REGION20_LUT_OFFSET; \
779	type CM_BLNDGAM_RAMA_EXP_REGION20_NUM_SEGMENTS; \
780	type CM_BLNDGAM_RAMA_EXP_REGION21_LUT_OFFSET; \
781	type CM_BLNDGAM_RAMA_EXP_REGION21_NUM_SEGMENTS; \
782	type CM_BLNDGAM_RAMA_EXP_REGION22_LUT_OFFSET; \
783	type CM_BLNDGAM_RAMA_EXP_REGION22_NUM_SEGMENTS; \
784	type CM_BLNDGAM_RAMA_EXP_REGION23_LUT_OFFSET; \
785	type CM_BLNDGAM_RAMA_EXP_REGION23_NUM_SEGMENTS; \
786	type CM_BLNDGAM_RAMA_EXP_REGION24_LUT_OFFSET; \
787	type CM_BLNDGAM_RAMA_EXP_REGION24_NUM_SEGMENTS; \
788	type CM_BLNDGAM_RAMA_EXP_REGION25_LUT_OFFSET; \
789	type CM_BLNDGAM_RAMA_EXP_REGION25_NUM_SEGMENTS; \
790	type CM_BLNDGAM_RAMA_EXP_REGION26_LUT_OFFSET; \
791	type CM_BLNDGAM_RAMA_EXP_REGION26_NUM_SEGMENTS; \
792	type CM_BLNDGAM_RAMA_EXP_REGION27_LUT_OFFSET; \
793	type CM_BLNDGAM_RAMA_EXP_REGION27_NUM_SEGMENTS; \
794	type CM_BLNDGAM_RAMA_EXP_REGION28_LUT_OFFSET; \
795	type CM_BLNDGAM_RAMA_EXP_REGION28_NUM_SEGMENTS; \
796	type CM_BLNDGAM_RAMA_EXP_REGION29_LUT_OFFSET; \
797	type CM_BLNDGAM_RAMA_EXP_REGION29_NUM_SEGMENTS; \
798	type CM_BLNDGAM_RAMA_EXP_REGION30_LUT_OFFSET; \
799	type CM_BLNDGAM_RAMA_EXP_REGION30_NUM_SEGMENTS; \
800	type CM_BLNDGAM_RAMA_EXP_REGION31_LUT_OFFSET; \
801	type CM_BLNDGAM_RAMA_EXP_REGION31_NUM_SEGMENTS; \
802	type CM_BLNDGAM_RAMA_EXP_REGION32_LUT_OFFSET; \
803	type CM_BLNDGAM_RAMA_EXP_REGION32_NUM_SEGMENTS; \
804	type CM_BLNDGAM_RAMA_EXP_REGION33_LUT_OFFSET; \
805	type CM_BLNDGAM_RAMA_EXP_REGION33_NUM_SEGMENTS; \
806	type CM_BLNDGAM_LUT_WRITE_EN_MASK; \
807	type CM_BLNDGAM_LUT_WRITE_SEL; \
808	type CM_BLNDGAM_CONFIG_STATUS; \
809	type CM_BLNDGAM_LUT_INDEX; \
810	type BLNDGAM_MEM_PWR_FORCE; \
811	type CM_3DLUT_MODE; \
812	type CM_3DLUT_SIZE; \
813	type CM_3DLUT_INDEX; \
814	type CM_3DLUT_DATA0; \
815	type CM_3DLUT_DATA1; \
816	type CM_3DLUT_DATA_30BIT; \
817	type CM_3DLUT_WRITE_EN_MASK; \
818	type CM_3DLUT_RAM_SEL; \
819	type CM_3DLUT_30BIT_EN; \
820	type CM_3DLUT_CONFIG_STATUS; \
821	type CM_3DLUT_READ_SEL; \
822	type CM_SHAPER_LUT_MODE; \
823	type CM_SHAPER_RAMB_EXP_REGION_START_B; \
824	type CM_SHAPER_RAMB_EXP_REGION_START_SEGMENT_B; \
825	type CM_SHAPER_RAMB_EXP_REGION_START_G; \
826	type CM_SHAPER_RAMB_EXP_REGION_START_SEGMENT_G; \
827	type CM_SHAPER_RAMB_EXP_REGION_START_R; \
828	type CM_SHAPER_RAMB_EXP_REGION_START_SEGMENT_R; \
829	type CM_SHAPER_RAMB_EXP_REGION_END_B; \
830	type CM_SHAPER_RAMB_EXP_REGION_END_BASE_B; \
831	type CM_SHAPER_RAMB_EXP_REGION_END_G; \
832	type CM_SHAPER_RAMB_EXP_REGION_END_BASE_G; \
833	type CM_SHAPER_RAMB_EXP_REGION_END_R; \
834	type CM_SHAPER_RAMB_EXP_REGION_END_BASE_R; \
835	type CM_SHAPER_RAMB_EXP_REGION0_LUT_OFFSET; \
836	type CM_SHAPER_RAMB_EXP_REGION0_NUM_SEGMENTS; \
837	type CM_SHAPER_RAMB_EXP_REGION1_LUT_OFFSET; \
838	type CM_SHAPER_RAMB_EXP_REGION1_NUM_SEGMENTS; \
839	type CM_SHAPER_RAMB_EXP_REGION2_LUT_OFFSET; \
840	type CM_SHAPER_RAMB_EXP_REGION2_NUM_SEGMENTS; \
841	type CM_SHAPER_RAMB_EXP_REGION3_LUT_OFFSET; \
842	type CM_SHAPER_RAMB_EXP_REGION3_NUM_SEGMENTS; \
843	type CM_SHAPER_RAMB_EXP_REGION4_LUT_OFFSET; \
844	type CM_SHAPER_RAMB_EXP_REGION4_NUM_SEGMENTS; \
845	type CM_SHAPER_RAMB_EXP_REGION5_LUT_OFFSET; \
846	type CM_SHAPER_RAMB_EXP_REGION5_NUM_SEGMENTS; \
847	type CM_SHAPER_RAMB_EXP_REGION6_LUT_OFFSET; \
848	type CM_SHAPER_RAMB_EXP_REGION6_NUM_SEGMENTS; \
849	type CM_SHAPER_RAMB_EXP_REGION7_LUT_OFFSET; \
850	type CM_SHAPER_RAMB_EXP_REGION7_NUM_SEGMENTS; \
851	type CM_SHAPER_RAMB_EXP_REGION8_LUT_OFFSET; \
852	type CM_SHAPER_RAMB_EXP_REGION8_NUM_SEGMENTS; \
853	type CM_SHAPER_RAMB_EXP_REGION9_LUT_OFFSET; \
854	type CM_SHAPER_RAMB_EXP_REGION9_NUM_SEGMENTS; \
855	type CM_SHAPER_RAMB_EXP_REGION10_LUT_OFFSET; \
856	type CM_SHAPER_RAMB_EXP_REGION10_NUM_SEGMENTS; \
857	type CM_SHAPER_RAMB_EXP_REGION11_LUT_OFFSET; \
858	type CM_SHAPER_RAMB_EXP_REGION11_NUM_SEGMENTS; \
859	type CM_SHAPER_RAMB_EXP_REGION12_LUT_OFFSET; \
860	type CM_SHAPER_RAMB_EXP_REGION12_NUM_SEGMENTS; \
861	type CM_SHAPER_RAMB_EXP_REGION13_LUT_OFFSET; \
862	type CM_SHAPER_RAMB_EXP_REGION13_NUM_SEGMENTS; \
863	type CM_SHAPER_RAMB_EXP_REGION14_LUT_OFFSET; \
864	type CM_SHAPER_RAMB_EXP_REGION14_NUM_SEGMENTS; \
865	type CM_SHAPER_RAMB_EXP_REGION15_LUT_OFFSET; \
866	type CM_SHAPER_RAMB_EXP_REGION15_NUM_SEGMENTS; \
867	type CM_SHAPER_RAMB_EXP_REGION16_LUT_OFFSET; \
868	type CM_SHAPER_RAMB_EXP_REGION16_NUM_SEGMENTS; \
869	type CM_SHAPER_RAMB_EXP_REGION17_LUT_OFFSET; \
870	type CM_SHAPER_RAMB_EXP_REGION17_NUM_SEGMENTS; \
871	type CM_SHAPER_RAMB_EXP_REGION18_LUT_OFFSET; \
872	type CM_SHAPER_RAMB_EXP_REGION18_NUM_SEGMENTS; \
873	type CM_SHAPER_RAMB_EXP_REGION19_LUT_OFFSET; \
874	type CM_SHAPER_RAMB_EXP_REGION19_NUM_SEGMENTS; \
875	type CM_SHAPER_RAMB_EXP_REGION20_LUT_OFFSET; \
876	type CM_SHAPER_RAMB_EXP_REGION20_NUM_SEGMENTS; \
877	type CM_SHAPER_RAMB_EXP_REGION21_LUT_OFFSET; \
878	type CM_SHAPER_RAMB_EXP_REGION21_NUM_SEGMENTS; \
879	type CM_SHAPER_RAMB_EXP_REGION22_LUT_OFFSET; \
880	type CM_SHAPER_RAMB_EXP_REGION22_NUM_SEGMENTS; \
881	type CM_SHAPER_RAMB_EXP_REGION23_LUT_OFFSET; \
882	type CM_SHAPER_RAMB_EXP_REGION23_NUM_SEGMENTS; \
883	type CM_SHAPER_RAMB_EXP_REGION24_LUT_OFFSET; \
884	type CM_SHAPER_RAMB_EXP_REGION24_NUM_SEGMENTS; \
885	type CM_SHAPER_RAMB_EXP_REGION25_LUT_OFFSET; \
886	type CM_SHAPER_RAMB_EXP_REGION25_NUM_SEGMENTS; \
887	type CM_SHAPER_RAMB_EXP_REGION26_LUT_OFFSET; \
888	type CM_SHAPER_RAMB_EXP_REGION26_NUM_SEGMENTS; \
889	type CM_SHAPER_RAMB_EXP_REGION27_LUT_OFFSET; \
890	type CM_SHAPER_RAMB_EXP_REGION27_NUM_SEGMENTS; \
891	type CM_SHAPER_RAMB_EXP_REGION28_LUT_OFFSET; \
892	type CM_SHAPER_RAMB_EXP_REGION28_NUM_SEGMENTS; \
893	type CM_SHAPER_RAMB_EXP_REGION29_LUT_OFFSET; \
894	type CM_SHAPER_RAMB_EXP_REGION29_NUM_SEGMENTS; \
895	type CM_SHAPER_RAMB_EXP_REGION30_LUT_OFFSET; \
896	type CM_SHAPER_RAMB_EXP_REGION30_NUM_SEGMENTS; \
897	type CM_SHAPER_RAMB_EXP_REGION31_LUT_OFFSET; \
898	type CM_SHAPER_RAMB_EXP_REGION31_NUM_SEGMENTS; \
899	type CM_SHAPER_RAMB_EXP_REGION32_LUT_OFFSET; \
900	type CM_SHAPER_RAMB_EXP_REGION32_NUM_SEGMENTS; \
901	type CM_SHAPER_RAMB_EXP_REGION33_LUT_OFFSET; \
902	type CM_SHAPER_RAMB_EXP_REGION33_NUM_SEGMENTS; \
903	type CM_SHAPER_RAMA_EXP_REGION_START_B; \
904	type CM_SHAPER_RAMA_EXP_REGION_START_SEGMENT_B; \
905	type CM_SHAPER_RAMA_EXP_REGION_START_G; \
906	type CM_SHAPER_RAMA_EXP_REGION_START_SEGMENT_G; \
907	type CM_SHAPER_RAMA_EXP_REGION_START_R; \
908	type CM_SHAPER_RAMA_EXP_REGION_START_SEGMENT_R; \
909	type CM_SHAPER_RAMA_EXP_REGION_END_B; \
910	type CM_SHAPER_RAMA_EXP_REGION_END_BASE_B; \
911	type CM_SHAPER_RAMA_EXP_REGION_END_G; \
912	type CM_SHAPER_RAMA_EXP_REGION_END_BASE_G; \
913	type CM_SHAPER_RAMA_EXP_REGION_END_R; \
914	type CM_SHAPER_RAMA_EXP_REGION_END_BASE_R; \
915	type CM_SHAPER_RAMA_EXP_REGION0_LUT_OFFSET; \
916	type CM_SHAPER_RAMA_EXP_REGION0_NUM_SEGMENTS; \
917	type CM_SHAPER_RAMA_EXP_REGION1_LUT_OFFSET; \
918	type CM_SHAPER_RAMA_EXP_REGION1_NUM_SEGMENTS; \
919	type CM_SHAPER_RAMA_EXP_REGION2_LUT_OFFSET; \
920	type CM_SHAPER_RAMA_EXP_REGION2_NUM_SEGMENTS; \
921	type CM_SHAPER_RAMA_EXP_REGION3_LUT_OFFSET; \
922	type CM_SHAPER_RAMA_EXP_REGION3_NUM_SEGMENTS; \
923	type CM_SHAPER_RAMA_EXP_REGION4_LUT_OFFSET; \
924	type CM_SHAPER_RAMA_EXP_REGION4_NUM_SEGMENTS; \
925	type CM_SHAPER_RAMA_EXP_REGION5_LUT_OFFSET; \
926	type CM_SHAPER_RAMA_EXP_REGION5_NUM_SEGMENTS; \
927	type CM_SHAPER_RAMA_EXP_REGION6_LUT_OFFSET; \
928	type CM_SHAPER_RAMA_EXP_REGION6_NUM_SEGMENTS; \
929	type CM_SHAPER_RAMA_EXP_REGION7_LUT_OFFSET; \
930	type CM_SHAPER_RAMA_EXP_REGION7_NUM_SEGMENTS; \
931	type CM_SHAPER_RAMA_EXP_REGION8_LUT_OFFSET; \
932	type CM_SHAPER_RAMA_EXP_REGION8_NUM_SEGMENTS; \
933	type CM_SHAPER_RAMA_EXP_REGION9_LUT_OFFSET; \
934	type CM_SHAPER_RAMA_EXP_REGION9_NUM_SEGMENTS; \
935	type CM_SHAPER_RAMA_EXP_REGION10_LUT_OFFSET; \
936	type CM_SHAPER_RAMA_EXP_REGION10_NUM_SEGMENTS; \
937	type CM_SHAPER_RAMA_EXP_REGION11_LUT_OFFSET; \
938	type CM_SHAPER_RAMA_EXP_REGION11_NUM_SEGMENTS; \
939	type CM_SHAPER_RAMA_EXP_REGION12_LUT_OFFSET; \
940	type CM_SHAPER_RAMA_EXP_REGION12_NUM_SEGMENTS; \
941	type CM_SHAPER_RAMA_EXP_REGION13_LUT_OFFSET; \
942	type CM_SHAPER_RAMA_EXP_REGION13_NUM_SEGMENTS; \
943	type CM_SHAPER_RAMA_EXP_REGION14_LUT_OFFSET; \
944	type CM_SHAPER_RAMA_EXP_REGION14_NUM_SEGMENTS; \
945	type CM_SHAPER_RAMA_EXP_REGION15_LUT_OFFSET; \
946	type CM_SHAPER_RAMA_EXP_REGION15_NUM_SEGMENTS; \
947	type CM_SHAPER_RAMA_EXP_REGION16_LUT_OFFSET; \
948	type CM_SHAPER_RAMA_EXP_REGION16_NUM_SEGMENTS; \
949	type CM_SHAPER_RAMA_EXP_REGION17_LUT_OFFSET; \
950	type CM_SHAPER_RAMA_EXP_REGION17_NUM_SEGMENTS; \
951	type CM_SHAPER_RAMA_EXP_REGION18_LUT_OFFSET; \
952	type CM_SHAPER_RAMA_EXP_REGION18_NUM_SEGMENTS; \
953	type CM_SHAPER_RAMA_EXP_REGION19_LUT_OFFSET; \
954	type CM_SHAPER_RAMA_EXP_REGION19_NUM_SEGMENTS; \
955	type CM_SHAPER_RAMA_EXP_REGION20_LUT_OFFSET; \
956	type CM_SHAPER_RAMA_EXP_REGION20_NUM_SEGMENTS; \
957	type CM_SHAPER_RAMA_EXP_REGION21_LUT_OFFSET; \
958	type CM_SHAPER_RAMA_EXP_REGION21_NUM_SEGMENTS; \
959	type CM_SHAPER_RAMA_EXP_REGION22_LUT_OFFSET; \
960	type CM_SHAPER_RAMA_EXP_REGION22_NUM_SEGMENTS; \
961	type CM_SHAPER_RAMA_EXP_REGION23_LUT_OFFSET; \
962	type CM_SHAPER_RAMA_EXP_REGION23_NUM_SEGMENTS; \
963	type CM_SHAPER_RAMA_EXP_REGION24_LUT_OFFSET; \
964	type CM_SHAPER_RAMA_EXP_REGION24_NUM_SEGMENTS; \
965	type CM_SHAPER_RAMA_EXP_REGION25_LUT_OFFSET; \
966	type CM_SHAPER_RAMA_EXP_REGION25_NUM_SEGMENTS; \
967	type CM_SHAPER_RAMA_EXP_REGION26_LUT_OFFSET; \
968	type CM_SHAPER_RAMA_EXP_REGION26_NUM_SEGMENTS; \
969	type CM_SHAPER_RAMA_EXP_REGION27_LUT_OFFSET; \
970	type CM_SHAPER_RAMA_EXP_REGION27_NUM_SEGMENTS; \
971	type CM_SHAPER_RAMA_EXP_REGION28_LUT_OFFSET; \
972	type CM_SHAPER_RAMA_EXP_REGION28_NUM_SEGMENTS; \
973	type CM_SHAPER_RAMA_EXP_REGION29_LUT_OFFSET; \
974	type CM_SHAPER_RAMA_EXP_REGION29_NUM_SEGMENTS; \
975	type CM_SHAPER_RAMA_EXP_REGION30_LUT_OFFSET; \
976	type CM_SHAPER_RAMA_EXP_REGION30_NUM_SEGMENTS; \
977	type CM_SHAPER_RAMA_EXP_REGION31_LUT_OFFSET; \
978	type CM_SHAPER_RAMA_EXP_REGION31_NUM_SEGMENTS; \
979	type CM_SHAPER_RAMA_EXP_REGION32_LUT_OFFSET; \
980	type CM_SHAPER_RAMA_EXP_REGION32_NUM_SEGMENTS; \
981	type CM_SHAPER_RAMA_EXP_REGION33_LUT_OFFSET; \
982	type CM_SHAPER_RAMA_EXP_REGION33_NUM_SEGMENTS; \
983	type CM_SHAPER_LUT_WRITE_EN_MASK; \
984	type CM_SHAPER_CONFIG_STATUS; \
985	type CM_SHAPER_LUT_WRITE_SEL; \
986	type CM_SHAPER_LUT_INDEX; \
987	type CM_SHAPER_LUT_DATA; \
988	type CM_DGAM_CONFIG_STATUS; \
989	type CM_ICSC_MODE; \
990	type CM_ICSC_C11; \
991	type CM_ICSC_C12; \
992	type CM_ICSC_C33; \
993	type CM_ICSC_C34; \
994	type CM_BNS_BIAS_R; \
995	type CM_BNS_BIAS_G; \
996	type CM_BNS_BIAS_B; \
997	type CM_BNS_SCALE_R; \
998	type CM_BNS_SCALE_G; \
999	type CM_BNS_SCALE_B; \
1000	type CM_DGAM_RAMB_EXP_REGION_START_B; \
1001	type CM_DGAM_RAMB_EXP_REGION_START_SEGMENT_B; \
1002	type CM_DGAM_RAMB_EXP_REGION_START_G; \
1003	type CM_DGAM_RAMB_EXP_REGION_START_SEGMENT_G; \
1004	type CM_DGAM_RAMB_EXP_REGION_START_R; \
1005	type CM_DGAM_RAMB_EXP_REGION_START_SEGMENT_R; \
1006	type CM_DGAM_RAMB_EXP_REGION_LINEAR_SLOPE_B; \
1007	type CM_DGAM_RAMB_EXP_REGION_LINEAR_SLOPE_G; \
1008	type CM_DGAM_RAMB_EXP_REGION_LINEAR_SLOPE_R; \
1009	type CM_DGAM_RAMB_EXP_REGION_END_B; \
1010	type CM_DGAM_RAMB_EXP_REGION_END_SLOPE_B; \
1011	type CM_DGAM_RAMB_EXP_REGION_END_BASE_B; \
1012	type CM_DGAM_RAMB_EXP_REGION_END_G; \
1013	type CM_DGAM_RAMB_EXP_REGION_END_SLOPE_G; \
1014	type CM_DGAM_RAMB_EXP_REGION_END_BASE_G; \
1015	type CM_DGAM_RAMB_EXP_REGION_END_R; \
1016	type CM_DGAM_RAMB_EXP_REGION_END_SLOPE_R; \
1017	type CM_DGAM_RAMB_EXP_REGION_END_BASE_R; \
1018	type CM_DGAM_RAMB_EXP_REGION0_LUT_OFFSET; \
1019	type CM_DGAM_RAMB_EXP_REGION0_NUM_SEGMENTS; \
1020	type CM_DGAM_RAMB_EXP_REGION1_LUT_OFFSET; \
1021	type CM_DGAM_RAMB_EXP_REGION1_NUM_SEGMENTS; \
1022	type CM_DGAM_RAMB_EXP_REGION14_LUT_OFFSET; \
1023	type CM_DGAM_RAMB_EXP_REGION14_NUM_SEGMENTS; \
1024	type CM_DGAM_RAMB_EXP_REGION15_LUT_OFFSET; \
1025	type CM_DGAM_RAMB_EXP_REGION15_NUM_SEGMENTS; \
1026	type CM_DGAM_RAMA_EXP_REGION_START_B; \
1027	type CM_DGAM_RAMA_EXP_REGION_START_SEGMENT_B; \
1028	type CM_DGAM_RAMA_EXP_REGION_START_G; \
1029	type CM_DGAM_RAMA_EXP_REGION_START_SEGMENT_G; \
1030	type CM_DGAM_RAMA_EXP_REGION_START_R; \
1031	type CM_DGAM_RAMA_EXP_REGION_START_SEGMENT_R; \
1032	type CM_DGAM_RAMA_EXP_REGION_LINEAR_SLOPE_B; \
1033	type CM_DGAM_RAMA_EXP_REGION_LINEAR_SLOPE_G; \
1034	type CM_DGAM_RAMA_EXP_REGION_LINEAR_SLOPE_R; \
1035	type CM_DGAM_RAMA_EXP_REGION_END_B; \
1036	type CM_DGAM_RAMA_EXP_REGION_END_SLOPE_B; \
1037	type CM_DGAM_RAMA_EXP_REGION_END_BASE_B; \
1038	type CM_DGAM_RAMA_EXP_REGION_END_G; \
1039	type CM_DGAM_RAMA_EXP_REGION_END_SLOPE_G; \
1040	type CM_DGAM_RAMA_EXP_REGION_END_BASE_G; \
1041	type CM_DGAM_RAMA_EXP_REGION_END_R; \
1042	type CM_DGAM_RAMA_EXP_REGION_END_SLOPE_R; \
1043	type CM_DGAM_RAMA_EXP_REGION_END_BASE_R; \
1044	type CM_DGAM_RAMA_EXP_REGION0_LUT_OFFSET; \
1045	type CM_DGAM_RAMA_EXP_REGION0_NUM_SEGMENTS; \
1046	type CM_DGAM_RAMA_EXP_REGION1_LUT_OFFSET; \
1047	type CM_DGAM_RAMA_EXP_REGION1_NUM_SEGMENTS; \
1048	type CM_DGAM_RAMA_EXP_REGION14_LUT_OFFSET; \
1049	type CM_DGAM_RAMA_EXP_REGION14_NUM_SEGMENTS; \
1050	type CM_DGAM_RAMA_EXP_REGION15_LUT_OFFSET; \
1051	type CM_DGAM_RAMA_EXP_REGION15_NUM_SEGMENTS; \
1052	type SHARED_MEM_PWR_DIS; \
1053	type CM_IGAM_LUT_FORMAT_R; \
1054	type CM_IGAM_LUT_FORMAT_G; \
1055	type CM_IGAM_LUT_FORMAT_B; \
1056	type CM_IGAM_LUT_HOST_EN; \
1057	type CM_IGAM_LUT_RW_MODE; \
1058	type CM_IGAM_LUT_WRITE_EN_MASK; \
1059	type CM_IGAM_LUT_SEL; \
1060	type CM_IGAM_LUT_SEQ_COLOR; \
1061	type CM_IGAM_DGAM_CONFIG_STATUS; \
1062	type CM_DGAM_LUT_WRITE_EN_MASK; \
1063	type CM_DGAM_LUT_WRITE_SEL; \
1064	type CM_DGAM_LUT_INDEX; \
1065	type CM_DGAM_LUT_DATA; \
1066	type CM_DGAM_LUT_MODE; \
1067	type CM_IGAM_LUT_MODE; \
1068	type CM_IGAM_INPUT_FORMAT; \
1069	type CM_IGAM_LUT_RW_INDEX; \
1070	type CM_BYPASS_EN; \
1071	type FORMAT_EXPANSION_MODE; \
1072	type CNVC_BYPASS; \
1073	type OUTPUT_FP; \
1074	type CNVC_SURFACE_PIXEL_FORMAT; \
1075	type CURSOR_MODE; \
1076	type CURSOR_PITCH; \
1077	type CURSOR_LINES_PER_CHUNK; \
1078	type CURSOR_ENABLE; \
1079	type CUR0_MODE; \
1080	type CUR0_EXPANSION_MODE; \
1081	type CUR0_ENABLE; \
1082	type CM_BYPASS; \
1083	type CM_TEST_DEBUG_INDEX; \
1084	type CM_TEST_DEBUG_DATA_ID9_ICSC_MODE; \
1085	type CM_TEST_DEBUG_DATA_ID9_OCSC_MODE;\
1086	type FORMAT_CONTROL__ALPHA_EN; \
1087	type CUR0_COLOR0; \
1088	type CUR0_COLOR1; \
1089	type DPPCLK_RATE_CONTROL; \
1090	type DPP_CLOCK_ENABLE; \
1091	type CM_HDR_MULT_COEF; \
1092	type CUR0_FP_BIAS; \
1093	type CUR0_FP_SCALE;
1094
1095struct dcn_dpp_shift {
1096	TF_REG_FIELD_LIST(uint8_t)
1097};
1098
1099struct dcn_dpp_mask {
1100	TF_REG_FIELD_LIST(uint32_t)
1101};
1102
1103#define DPP_COMMON_REG_VARIABLE_LIST \
1104	uint32_t DSCL_EXT_OVERSCAN_LEFT_RIGHT; \
1105	uint32_t DSCL_EXT_OVERSCAN_TOP_BOTTOM; \
1106	uint32_t OTG_H_BLANK; \
1107	uint32_t OTG_V_BLANK; \
1108	uint32_t DSCL_MEM_PWR_CTRL; \
1109	uint32_t DSCL_MEM_PWR_STATUS; \
1110	uint32_t SCL_MODE; \
1111	uint32_t LB_DATA_FORMAT; \
1112	uint32_t LB_MEMORY_CTRL; \
1113	uint32_t DSCL_AUTOCAL; \
1114	uint32_t DSCL_CONTROL; \
1115	uint32_t SCL_BLACK_OFFSET; \
1116	uint32_t SCL_TAP_CONTROL; \
1117	uint32_t SCL_COEF_RAM_TAP_SELECT; \
1118	uint32_t SCL_COEF_RAM_TAP_DATA; \
1119	uint32_t DSCL_2TAP_CONTROL; \
1120	uint32_t MPC_SIZE; \
1121	uint32_t SCL_HORZ_FILTER_SCALE_RATIO; \
1122	uint32_t SCL_VERT_FILTER_SCALE_RATIO; \
1123	uint32_t SCL_HORZ_FILTER_SCALE_RATIO_C; \
1124	uint32_t SCL_VERT_FILTER_SCALE_RATIO_C; \
1125	uint32_t SCL_HORZ_FILTER_INIT; \
1126	uint32_t SCL_HORZ_FILTER_INIT_C; \
1127	uint32_t SCL_VERT_FILTER_INIT; \
1128	uint32_t SCL_VERT_FILTER_INIT_BOT; \
1129	uint32_t SCL_VERT_FILTER_INIT_C; \
1130	uint32_t SCL_VERT_FILTER_INIT_BOT_C; \
1131	uint32_t RECOUT_START; \
1132	uint32_t RECOUT_SIZE; \
1133	uint32_t CM_GAMUT_REMAP_CONTROL; \
1134	uint32_t CM_GAMUT_REMAP_C11_C12; \
1135	uint32_t CM_GAMUT_REMAP_C13_C14; \
1136	uint32_t CM_GAMUT_REMAP_C21_C22; \
1137	uint32_t CM_GAMUT_REMAP_C23_C24; \
1138	uint32_t CM_GAMUT_REMAP_C31_C32; \
1139	uint32_t CM_GAMUT_REMAP_C33_C34; \
1140	uint32_t CM_COMA_C11_C12; \
1141	uint32_t CM_COMA_C33_C34; \
1142	uint32_t CM_COMB_C11_C12; \
1143	uint32_t CM_COMB_C33_C34; \
1144	uint32_t CM_OCSC_CONTROL; \
1145	uint32_t CM_OCSC_C11_C12; \
1146	uint32_t CM_OCSC_C33_C34; \
1147	uint32_t CM_MEM_PWR_CTRL; \
1148	uint32_t CM_RGAM_LUT_DATA; \
1149	uint32_t CM_RGAM_LUT_WRITE_EN_MASK; \
1150	uint32_t CM_RGAM_LUT_INDEX; \
1151	uint32_t CM_RGAM_RAMB_START_CNTL_B; \
1152	uint32_t CM_RGAM_RAMB_START_CNTL_G; \
1153	uint32_t CM_RGAM_RAMB_START_CNTL_R; \
1154	uint32_t CM_RGAM_RAMB_SLOPE_CNTL_B; \
1155	uint32_t CM_RGAM_RAMB_SLOPE_CNTL_G; \
1156	uint32_t CM_RGAM_RAMB_SLOPE_CNTL_R; \
1157	uint32_t CM_RGAM_RAMB_END_CNTL1_B; \
1158	uint32_t CM_RGAM_RAMB_END_CNTL2_B; \
1159	uint32_t CM_RGAM_RAMB_END_CNTL1_G; \
1160	uint32_t CM_RGAM_RAMB_END_CNTL2_G; \
1161	uint32_t CM_RGAM_RAMB_END_CNTL1_R; \
1162	uint32_t CM_RGAM_RAMB_END_CNTL2_R; \
1163	uint32_t CM_RGAM_RAMB_REGION_0_1; \
1164	uint32_t CM_RGAM_RAMB_REGION_32_33; \
1165	uint32_t CM_RGAM_RAMA_START_CNTL_B; \
1166	uint32_t CM_RGAM_RAMA_START_CNTL_G; \
1167	uint32_t CM_RGAM_RAMA_START_CNTL_R; \
1168	uint32_t CM_RGAM_RAMA_SLOPE_CNTL_B; \
1169	uint32_t CM_RGAM_RAMA_SLOPE_CNTL_G; \
1170	uint32_t CM_RGAM_RAMA_SLOPE_CNTL_R; \
1171	uint32_t CM_RGAM_RAMA_END_CNTL1_B; \
1172	uint32_t CM_RGAM_RAMA_END_CNTL2_B; \
1173	uint32_t CM_RGAM_RAMA_END_CNTL1_G; \
1174	uint32_t CM_RGAM_RAMA_END_CNTL2_G; \
1175	uint32_t CM_RGAM_RAMA_END_CNTL1_R; \
1176	uint32_t CM_RGAM_RAMA_END_CNTL2_R; \
1177	uint32_t CM_RGAM_RAMA_REGION_0_1; \
1178	uint32_t CM_RGAM_RAMA_REGION_32_33; \
1179	uint32_t CM_RGAM_CONTROL; \
1180	uint32_t CM_CMOUT_CONTROL; \
1181	uint32_t CM_BLNDGAM_LUT_WRITE_EN_MASK; \
1182	uint32_t CM_BLNDGAM_CONTROL; \
1183	uint32_t CM_BLNDGAM_RAMB_START_CNTL_B; \
1184	uint32_t CM_BLNDGAM_RAMB_START_CNTL_G; \
1185	uint32_t CM_BLNDGAM_RAMB_START_CNTL_R; \
1186	uint32_t CM_BLNDGAM_RAMB_SLOPE_CNTL_B; \
1187	uint32_t CM_BLNDGAM_RAMB_SLOPE_CNTL_G; \
1188	uint32_t CM_BLNDGAM_RAMB_SLOPE_CNTL_R; \
1189	uint32_t CM_BLNDGAM_RAMB_END_CNTL1_B; \
1190	uint32_t CM_BLNDGAM_RAMB_END_CNTL2_B; \
1191	uint32_t CM_BLNDGAM_RAMB_END_CNTL1_G; \
1192	uint32_t CM_BLNDGAM_RAMB_END_CNTL2_G; \
1193	uint32_t CM_BLNDGAM_RAMB_END_CNTL1_R; \
1194	uint32_t CM_BLNDGAM_RAMB_END_CNTL2_R; \
1195	uint32_t CM_BLNDGAM_RAMB_REGION_0_1; \
1196	uint32_t CM_BLNDGAM_RAMB_REGION_2_3; \
1197	uint32_t CM_BLNDGAM_RAMB_REGION_4_5; \
1198	uint32_t CM_BLNDGAM_RAMB_REGION_6_7; \
1199	uint32_t CM_BLNDGAM_RAMB_REGION_8_9; \
1200	uint32_t CM_BLNDGAM_RAMB_REGION_10_11; \
1201	uint32_t CM_BLNDGAM_RAMB_REGION_12_13; \
1202	uint32_t CM_BLNDGAM_RAMB_REGION_14_15; \
1203	uint32_t CM_BLNDGAM_RAMB_REGION_16_17; \
1204	uint32_t CM_BLNDGAM_RAMB_REGION_18_19; \
1205	uint32_t CM_BLNDGAM_RAMB_REGION_20_21; \
1206	uint32_t CM_BLNDGAM_RAMB_REGION_22_23; \
1207	uint32_t CM_BLNDGAM_RAMB_REGION_24_25; \
1208	uint32_t CM_BLNDGAM_RAMB_REGION_26_27; \
1209	uint32_t CM_BLNDGAM_RAMB_REGION_28_29; \
1210	uint32_t CM_BLNDGAM_RAMB_REGION_30_31; \
1211	uint32_t CM_BLNDGAM_RAMB_REGION_32_33; \
1212	uint32_t CM_BLNDGAM_RAMA_START_CNTL_B; \
1213	uint32_t CM_BLNDGAM_RAMA_START_CNTL_G; \
1214	uint32_t CM_BLNDGAM_RAMA_START_CNTL_R; \
1215	uint32_t CM_BLNDGAM_RAMA_SLOPE_CNTL_B; \
1216	uint32_t CM_BLNDGAM_RAMA_SLOPE_CNTL_G; \
1217	uint32_t CM_BLNDGAM_RAMA_SLOPE_CNTL_R; \
1218	uint32_t CM_BLNDGAM_RAMA_END_CNTL1_B; \
1219	uint32_t CM_BLNDGAM_RAMA_END_CNTL2_B; \
1220	uint32_t CM_BLNDGAM_RAMA_END_CNTL1_G; \
1221	uint32_t CM_BLNDGAM_RAMA_END_CNTL2_G; \
1222	uint32_t CM_BLNDGAM_RAMA_END_CNTL1_R; \
1223	uint32_t CM_BLNDGAM_RAMA_END_CNTL2_R; \
1224	uint32_t CM_BLNDGAM_RAMA_REGION_0_1; \
1225	uint32_t CM_BLNDGAM_RAMA_REGION_2_3; \
1226	uint32_t CM_BLNDGAM_RAMA_REGION_4_5; \
1227	uint32_t CM_BLNDGAM_RAMA_REGION_6_7; \
1228	uint32_t CM_BLNDGAM_RAMA_REGION_8_9; \
1229	uint32_t CM_BLNDGAM_RAMA_REGION_10_11; \
1230	uint32_t CM_BLNDGAM_RAMA_REGION_12_13; \
1231	uint32_t CM_BLNDGAM_RAMA_REGION_14_15; \
1232	uint32_t CM_BLNDGAM_RAMA_REGION_16_17; \
1233	uint32_t CM_BLNDGAM_RAMA_REGION_18_19; \
1234	uint32_t CM_BLNDGAM_RAMA_REGION_20_21; \
1235	uint32_t CM_BLNDGAM_RAMA_REGION_22_23; \
1236	uint32_t CM_BLNDGAM_RAMA_REGION_24_25; \
1237	uint32_t CM_BLNDGAM_RAMA_REGION_26_27; \
1238	uint32_t CM_BLNDGAM_RAMA_REGION_28_29; \
1239	uint32_t CM_BLNDGAM_RAMA_REGION_30_31; \
1240	uint32_t CM_BLNDGAM_RAMA_REGION_32_33; \
1241	uint32_t CM_BLNDGAM_LUT_INDEX; \
1242	uint32_t CM_3DLUT_MODE; \
1243	uint32_t CM_3DLUT_INDEX; \
1244	uint32_t CM_3DLUT_DATA; \
1245	uint32_t CM_3DLUT_DATA_30BIT; \
1246	uint32_t CM_3DLUT_READ_WRITE_CONTROL; \
1247	uint32_t CM_SHAPER_LUT_WRITE_EN_MASK; \
1248	uint32_t CM_SHAPER_CONTROL; \
1249	uint32_t CM_SHAPER_RAMB_START_CNTL_B; \
1250	uint32_t CM_SHAPER_RAMB_START_CNTL_G; \
1251	uint32_t CM_SHAPER_RAMB_START_CNTL_R; \
1252	uint32_t CM_SHAPER_RAMB_END_CNTL_B; \
1253	uint32_t CM_SHAPER_RAMB_END_CNTL_G; \
1254	uint32_t CM_SHAPER_RAMB_END_CNTL_R; \
1255	uint32_t CM_SHAPER_RAMB_REGION_0_1; \
1256	uint32_t CM_SHAPER_RAMB_REGION_2_3; \
1257	uint32_t CM_SHAPER_RAMB_REGION_4_5; \
1258	uint32_t CM_SHAPER_RAMB_REGION_6_7; \
1259	uint32_t CM_SHAPER_RAMB_REGION_8_9; \
1260	uint32_t CM_SHAPER_RAMB_REGION_10_11; \
1261	uint32_t CM_SHAPER_RAMB_REGION_12_13; \
1262	uint32_t CM_SHAPER_RAMB_REGION_14_15; \
1263	uint32_t CM_SHAPER_RAMB_REGION_16_17; \
1264	uint32_t CM_SHAPER_RAMB_REGION_18_19; \
1265	uint32_t CM_SHAPER_RAMB_REGION_20_21; \
1266	uint32_t CM_SHAPER_RAMB_REGION_22_23; \
1267	uint32_t CM_SHAPER_RAMB_REGION_24_25; \
1268	uint32_t CM_SHAPER_RAMB_REGION_26_27; \
1269	uint32_t CM_SHAPER_RAMB_REGION_28_29; \
1270	uint32_t CM_SHAPER_RAMB_REGION_30_31; \
1271	uint32_t CM_SHAPER_RAMB_REGION_32_33; \
1272	uint32_t CM_SHAPER_RAMA_START_CNTL_B; \
1273	uint32_t CM_SHAPER_RAMA_START_CNTL_G; \
1274	uint32_t CM_SHAPER_RAMA_START_CNTL_R; \
1275	uint32_t CM_SHAPER_RAMA_END_CNTL_B; \
1276	uint32_t CM_SHAPER_RAMA_END_CNTL_G; \
1277	uint32_t CM_SHAPER_RAMA_END_CNTL_R; \
1278	uint32_t CM_SHAPER_RAMA_REGION_0_1; \
1279	uint32_t CM_SHAPER_RAMA_REGION_2_3; \
1280	uint32_t CM_SHAPER_RAMA_REGION_4_5; \
1281	uint32_t CM_SHAPER_RAMA_REGION_6_7; \
1282	uint32_t CM_SHAPER_RAMA_REGION_8_9; \
1283	uint32_t CM_SHAPER_RAMA_REGION_10_11; \
1284	uint32_t CM_SHAPER_RAMA_REGION_12_13; \
1285	uint32_t CM_SHAPER_RAMA_REGION_14_15; \
1286	uint32_t CM_SHAPER_RAMA_REGION_16_17; \
1287	uint32_t CM_SHAPER_RAMA_REGION_18_19; \
1288	uint32_t CM_SHAPER_RAMA_REGION_20_21; \
1289	uint32_t CM_SHAPER_RAMA_REGION_22_23; \
1290	uint32_t CM_SHAPER_RAMA_REGION_24_25; \
1291	uint32_t CM_SHAPER_RAMA_REGION_26_27; \
1292	uint32_t CM_SHAPER_RAMA_REGION_28_29; \
1293	uint32_t CM_SHAPER_RAMA_REGION_30_31; \
1294	uint32_t CM_SHAPER_RAMA_REGION_32_33; \
1295	uint32_t CM_SHAPER_LUT_INDEX; \
1296	uint32_t CM_SHAPER_LUT_DATA; \
1297	uint32_t CM_ICSC_CONTROL; \
1298	uint32_t CM_ICSC_C11_C12; \
1299	uint32_t CM_ICSC_C33_C34; \
1300	uint32_t CM_BNS_VALUES_R; \
1301	uint32_t CM_BNS_VALUES_G; \
1302	uint32_t CM_BNS_VALUES_B; \
1303	uint32_t CM_DGAM_RAMB_START_CNTL_B; \
1304	uint32_t CM_DGAM_RAMB_START_CNTL_G; \
1305	uint32_t CM_DGAM_RAMB_START_CNTL_R; \
1306	uint32_t CM_DGAM_RAMB_SLOPE_CNTL_B; \
1307	uint32_t CM_DGAM_RAMB_SLOPE_CNTL_G; \
1308	uint32_t CM_DGAM_RAMB_SLOPE_CNTL_R; \
1309	uint32_t CM_DGAM_RAMB_END_CNTL1_B; \
1310	uint32_t CM_DGAM_RAMB_END_CNTL2_B; \
1311	uint32_t CM_DGAM_RAMB_END_CNTL1_G; \
1312	uint32_t CM_DGAM_RAMB_END_CNTL2_G; \
1313	uint32_t CM_DGAM_RAMB_END_CNTL1_R; \
1314	uint32_t CM_DGAM_RAMB_END_CNTL2_R; \
1315	uint32_t CM_DGAM_RAMB_REGION_0_1; \
1316	uint32_t CM_DGAM_RAMB_REGION_14_15; \
1317	uint32_t CM_DGAM_RAMA_START_CNTL_B; \
1318	uint32_t CM_DGAM_RAMA_START_CNTL_G; \
1319	uint32_t CM_DGAM_RAMA_START_CNTL_R; \
1320	uint32_t CM_DGAM_RAMA_SLOPE_CNTL_B; \
1321	uint32_t CM_DGAM_RAMA_SLOPE_CNTL_G; \
1322	uint32_t CM_DGAM_RAMA_SLOPE_CNTL_R; \
1323	uint32_t CM_DGAM_RAMA_END_CNTL1_B; \
1324	uint32_t CM_DGAM_RAMA_END_CNTL2_B; \
1325	uint32_t CM_DGAM_RAMA_END_CNTL1_G; \
1326	uint32_t CM_DGAM_RAMA_END_CNTL2_G; \
1327	uint32_t CM_DGAM_RAMA_END_CNTL1_R; \
1328	uint32_t CM_DGAM_RAMA_END_CNTL2_R; \
1329	uint32_t CM_DGAM_RAMA_REGION_0_1; \
1330	uint32_t CM_DGAM_RAMA_REGION_14_15; \
1331	uint32_t CM_DGAM_LUT_WRITE_EN_MASK; \
1332	uint32_t CM_DGAM_LUT_INDEX; \
1333	uint32_t CM_DGAM_LUT_DATA; \
1334	uint32_t CM_CONTROL; \
1335	uint32_t CM_DGAM_CONTROL; \
1336	uint32_t CM_IGAM_CONTROL; \
1337	uint32_t CM_IGAM_LUT_RW_CONTROL; \
1338	uint32_t CM_IGAM_LUT_RW_INDEX; \
1339	uint32_t CM_IGAM_LUT_SEQ_COLOR; \
1340	uint32_t CM_TEST_DEBUG_INDEX; \
1341	uint32_t CM_TEST_DEBUG_DATA; \
1342	uint32_t FORMAT_CONTROL; \
1343	uint32_t CNVC_SURFACE_PIXEL_FORMAT; \
1344	uint32_t CURSOR_CONTROL; \
1345	uint32_t CURSOR0_CONTROL; \
1346	uint32_t CURSOR0_COLOR0; \
1347	uint32_t CURSOR0_COLOR1; \
1348	uint32_t DPP_CONTROL; \
1349	uint32_t CM_HDR_MULT_COEF; \
1350	uint32_t CURSOR0_FP_SCALE_BIAS;
1351
1352struct dcn_dpp_registers {
1353	DPP_COMMON_REG_VARIABLE_LIST
1354};
1355
1356struct dcn10_dpp {
1357	struct dpp base;
1358
1359	const struct dcn_dpp_registers *tf_regs;
1360	const struct dcn_dpp_shift *tf_shift;
1361	const struct dcn_dpp_mask *tf_mask;
1362
1363	const uint16_t *filter_v;
1364	const uint16_t *filter_h;
1365	const uint16_t *filter_v_c;
1366	const uint16_t *filter_h_c;
1367	int lb_pixel_depth_supported;
1368	int lb_memory_size;
1369	int lb_bits_per_entry;
1370	bool is_write_to_ram_a_safe;
1371	struct scaler_data scl_data;
1372	struct pwl_params pwl_data;
1373};
1374
1375enum dcn10_input_csc_select {
1376	INPUT_CSC_SELECT_BYPASS = 0,
1377	INPUT_CSC_SELECT_ICSC = 1,
1378	INPUT_CSC_SELECT_COMA = 2
1379};
1380
1381void dpp1_set_cursor_attributes(
1382		struct dpp *dpp_base,
1383		struct dc_cursor_attributes *cursor_attributes);
1384
1385void dpp1_set_cursor_position(
1386		struct dpp *dpp_base,
1387		const struct dc_cursor_position *pos,
1388		const struct dc_cursor_mi_param *param,
1389		uint32_t width,
1390		uint32_t height);
1391
1392void dpp1_cnv_set_optional_cursor_attributes(
1393			struct dpp *dpp_base,
1394			struct dpp_cursor_attributes *attr);
1395
1396bool dpp1_dscl_is_lb_conf_valid(
1397		int ceil_vratio,
1398		int num_partitions,
1399		int vtaps);
1400
1401void dpp1_dscl_calc_lb_num_partitions(
1402		const struct scaler_data *scl_data,
1403		enum lb_memory_config lb_config,
1404		int *num_part_y,
1405		int *num_part_c);
1406
1407void dpp1_degamma_ram_select(
1408		struct dpp *dpp_base,
1409							bool use_ram_a);
1410
1411void dpp1_program_degamma_luta_settings(
1412		struct dpp *dpp_base,
1413		const struct pwl_params *params);
1414
1415void dpp1_program_degamma_lutb_settings(
1416		struct dpp *dpp_base,
1417		const struct pwl_params *params);
1418
1419void dpp1_program_degamma_lut(
1420		struct dpp *dpp_base,
1421		const struct pwl_result_data *rgb,
1422		uint32_t num,
1423		bool is_ram_a);
1424
1425void dpp1_power_on_degamma_lut(
1426		struct dpp *dpp_base,
1427	bool power_on);
1428
1429void dpp1_program_input_csc(
1430		struct dpp *dpp_base,
1431		enum dc_color_space color_space,
1432		enum dcn10_input_csc_select select,
1433		const struct out_csc_color_matrix *tbl_entry);
1434
1435void dpp1_program_bias_and_scale(
1436		struct dpp *dpp_base,
1437		struct dc_bias_and_scale *params);
1438
1439void dpp1_program_input_lut(
1440		struct dpp *dpp_base,
1441		const struct dc_gamma *gamma);
1442
1443void dpp1_full_bypass(struct dpp *dpp_base);
1444
1445void dpp1_set_degamma(
1446		struct dpp *dpp_base,
1447		enum ipp_degamma_mode mode);
1448
1449void dpp1_set_degamma_pwl(struct dpp *dpp_base,
1450		const struct pwl_params *params);
1451
1452
1453void dpp_read_state(struct dpp *dpp_base,
1454		struct dcn_dpp_state *s);
1455
1456void dpp_reset(struct dpp *dpp_base);
1457
1458void dpp1_cm_program_regamma_lut(
1459		struct dpp *dpp_base,
1460		const struct pwl_result_data *rgb,
1461		uint32_t num);
1462
1463void dpp1_cm_power_on_regamma_lut(
1464	struct dpp *dpp_base,
1465	bool power_on);
1466
1467void dpp1_cm_configure_regamma_lut(
1468		struct dpp *dpp_base,
1469		bool is_ram_a);
1470
1471/*program re gamma RAM A*/
1472void dpp1_cm_program_regamma_luta_settings(
1473		struct dpp *dpp_base,
1474		const struct pwl_params *params);
1475
1476/*program re gamma RAM B*/
1477void dpp1_cm_program_regamma_lutb_settings(
1478		struct dpp *dpp_base,
1479		const struct pwl_params *params);
1480void dpp1_cm_set_output_csc_adjustment(
1481		struct dpp *dpp_base,
1482		const uint16_t *regval);
1483
1484void dpp1_cm_set_output_csc_default(
1485		struct dpp *dpp_base,
1486		enum dc_color_space colorspace);
1487
1488void dpp1_cm_set_gamut_remap(
1489	struct dpp *dpp,
1490	const struct dpp_grph_csc_adjustment *adjust);
1491
1492void dpp1_dscl_set_scaler_manual_scale(
1493	struct dpp *dpp_base,
1494	const struct scaler_data *scl_data);
1495
1496void dpp1_cnv_setup (
1497		struct dpp *dpp_base,
1498		enum surface_pixel_format format,
1499		enum expansion_mode mode,
1500		struct dc_csc_transform input_csc_color_matrix,
1501		enum dc_color_space input_color_space,
1502		struct cnv_alpha_2bit_lut *alpha_2bit_lut);
1503
1504void dpp1_dppclk_control(
1505		struct dpp *dpp_base,
1506		bool dppclk_div,
1507		bool enable);
1508
1509void dpp1_set_hdr_multiplier(
1510		struct dpp *dpp_base,
1511		uint32_t multiplier);
1512
1513bool dpp1_get_optimal_number_of_taps(
1514		struct dpp *dpp,
1515		struct scaler_data *scl_data,
1516		const struct scaling_taps *in_taps);
1517
1518void dpp1_construct(struct dcn10_dpp *dpp1,
1519	struct dc_context *ctx,
1520	uint32_t inst,
1521	const struct dcn_dpp_registers *tf_regs,
1522	const struct dcn_dpp_shift *tf_shift,
1523	const struct dcn_dpp_mask *tf_mask);
1524
1525void dpp1_cm_get_gamut_remap(struct dpp *dpp_base,
1526			     struct dpp_grph_csc_adjustment *adjust);
1527#endif
1528