usb: dwc3: dwc3-qcom: Fix typo in the dwc3 vbus override API
[linux-2.6-microblaze.git] / drivers / gpu / drm / amd / display / dc / dcn30 / dcn30_dwb.h
1 /* Copyright 2020 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 #ifndef __DC_DWBC_DCN30_H__
25 #define __DC_DWBC_DCN30_H__
26
27 #define TO_DCN30_DWBC(dwbc_base) \
28         container_of(dwbc_base, struct dcn30_dwbc, base)
29
30 /* DCN */
31 #define BASE_INNER(seg) \
32         DCE_BASE__INST0_SEG ## seg
33
34 #define BASE(seg) \
35         BASE_INNER(seg)
36
37 #define SF_DWB(reg_name, block, id, field_name, post_fix)\
38         .field_name = block ## id ## _ ## reg_name ## __ ## field_name ## post_fix
39
40  /* set field name */
41 #define SF_DWB2(reg_name, block, id, field_name, post_fix)\
42         .field_name = reg_name ## __ ## field_name ## post_fix
43
44
45 #define DWBC_COMMON_REG_LIST_DCN30(inst) \
46         SR(DWB_ENABLE_CLK_CTRL),\
47         SR(DWB_MEM_PWR_CTRL),\
48         SR(FC_MODE_CTRL),\
49         SR(FC_FLOW_CTRL),\
50         SR(FC_WINDOW_START),\
51         SR(FC_WINDOW_SIZE),\
52         SR(FC_SOURCE_SIZE),\
53         SR(DWB_UPDATE_CTRL),\
54         SR(DWB_CRC_CTRL),\
55         SR(DWB_CRC_MASK_R_G),\
56         SR(DWB_CRC_MASK_B_A),\
57         SR(DWB_CRC_VAL_R_G),\
58         SR(DWB_CRC_VAL_B_A),\
59         SR(DWB_OUT_CTRL),\
60         SR(DWB_MMHUBBUB_BACKPRESSURE_CNT_EN),\
61         SR(DWB_MMHUBBUB_BACKPRESSURE_CNT),\
62         SR(DWB_HOST_READ_CONTROL),\
63         SR(DWB_SOFT_RESET),\
64         SR(DWB_HDR_MULT_COEF),\
65         SR(DWB_GAMUT_REMAP_MODE),\
66         SR(DWB_GAMUT_REMAP_COEF_FORMAT),\
67         SR(DWB_GAMUT_REMAPA_C11_C12),\
68         SR(DWB_GAMUT_REMAPA_C13_C14),\
69         SR(DWB_GAMUT_REMAPA_C21_C22),\
70         SR(DWB_GAMUT_REMAPA_C23_C24),\
71         SR(DWB_GAMUT_REMAPA_C31_C32),\
72         SR(DWB_GAMUT_REMAPA_C33_C34),\
73         SR(DWB_GAMUT_REMAPB_C11_C12),\
74         SR(DWB_GAMUT_REMAPB_C13_C14),\
75         SR(DWB_GAMUT_REMAPB_C21_C22),\
76         SR(DWB_GAMUT_REMAPB_C23_C24),\
77         SR(DWB_GAMUT_REMAPB_C31_C32),\
78         SR(DWB_GAMUT_REMAPB_C33_C34),\
79         SR(DWB_OGAM_CONTROL),\
80         SR(DWB_OGAM_LUT_INDEX),\
81         SR(DWB_OGAM_LUT_DATA),\
82         SR(DWB_OGAM_LUT_CONTROL),\
83         SR(DWB_OGAM_RAMA_START_CNTL_B),\
84         SR(DWB_OGAM_RAMA_START_CNTL_G),\
85         SR(DWB_OGAM_RAMA_START_CNTL_R),\
86         SR(DWB_OGAM_RAMA_START_BASE_CNTL_B),\
87         SR(DWB_OGAM_RAMA_START_SLOPE_CNTL_B),\
88         SR(DWB_OGAM_RAMA_START_BASE_CNTL_G),\
89         SR(DWB_OGAM_RAMA_START_SLOPE_CNTL_G),\
90         SR(DWB_OGAM_RAMA_START_BASE_CNTL_R),\
91         SR(DWB_OGAM_RAMA_START_SLOPE_CNTL_R),\
92         SR(DWB_OGAM_RAMA_END_CNTL1_B),\
93         SR(DWB_OGAM_RAMA_END_CNTL2_B),\
94         SR(DWB_OGAM_RAMA_END_CNTL1_G),\
95         SR(DWB_OGAM_RAMA_END_CNTL2_G),\
96         SR(DWB_OGAM_RAMA_END_CNTL1_R),\
97         SR(DWB_OGAM_RAMA_END_CNTL2_R),\
98         SR(DWB_OGAM_RAMA_OFFSET_B),\
99         SR(DWB_OGAM_RAMA_OFFSET_G),\
100         SR(DWB_OGAM_RAMA_OFFSET_R),\
101         SR(DWB_OGAM_RAMA_REGION_0_1),\
102         SR(DWB_OGAM_RAMA_REGION_2_3),\
103         SR(DWB_OGAM_RAMA_REGION_4_5),\
104         SR(DWB_OGAM_RAMA_REGION_6_7),\
105         SR(DWB_OGAM_RAMA_REGION_8_9),\
106         SR(DWB_OGAM_RAMA_REGION_10_11),\
107         SR(DWB_OGAM_RAMA_REGION_12_13),\
108         SR(DWB_OGAM_RAMA_REGION_14_15),\
109         SR(DWB_OGAM_RAMA_REGION_16_17),\
110         SR(DWB_OGAM_RAMA_REGION_18_19),\
111         SR(DWB_OGAM_RAMA_REGION_20_21),\
112         SR(DWB_OGAM_RAMA_REGION_22_23),\
113         SR(DWB_OGAM_RAMA_REGION_24_25),\
114         SR(DWB_OGAM_RAMA_REGION_26_27),\
115         SR(DWB_OGAM_RAMA_REGION_28_29),\
116         SR(DWB_OGAM_RAMA_REGION_30_31),\
117         SR(DWB_OGAM_RAMA_REGION_32_33),\
118         SR(DWB_OGAM_RAMB_START_CNTL_B),\
119         SR(DWB_OGAM_RAMB_START_CNTL_G),\
120         SR(DWB_OGAM_RAMB_START_CNTL_R),\
121         SR(DWB_OGAM_RAMB_START_BASE_CNTL_B),\
122         SR(DWB_OGAM_RAMB_START_SLOPE_CNTL_B),\
123         SR(DWB_OGAM_RAMB_START_BASE_CNTL_G),\
124         SR(DWB_OGAM_RAMB_START_SLOPE_CNTL_G),\
125         SR(DWB_OGAM_RAMB_START_BASE_CNTL_R),\
126         SR(DWB_OGAM_RAMB_START_SLOPE_CNTL_R),\
127         SR(DWB_OGAM_RAMB_END_CNTL1_B),\
128         SR(DWB_OGAM_RAMB_END_CNTL2_B),\
129         SR(DWB_OGAM_RAMB_END_CNTL1_G),\
130         SR(DWB_OGAM_RAMB_END_CNTL2_G),\
131         SR(DWB_OGAM_RAMB_END_CNTL1_R),\
132         SR(DWB_OGAM_RAMB_END_CNTL2_R),\
133         SR(DWB_OGAM_RAMB_OFFSET_B),\
134         SR(DWB_OGAM_RAMB_OFFSET_G),\
135         SR(DWB_OGAM_RAMB_OFFSET_R),\
136         SR(DWB_OGAM_RAMB_REGION_0_1),\
137         SR(DWB_OGAM_RAMB_REGION_2_3),\
138         SR(DWB_OGAM_RAMB_REGION_4_5),\
139         SR(DWB_OGAM_RAMB_REGION_6_7),\
140         SR(DWB_OGAM_RAMB_REGION_8_9),\
141         SR(DWB_OGAM_RAMB_REGION_10_11),\
142         SR(DWB_OGAM_RAMB_REGION_12_13),\
143         SR(DWB_OGAM_RAMB_REGION_14_15),\
144         SR(DWB_OGAM_RAMB_REGION_16_17),\
145         SR(DWB_OGAM_RAMB_REGION_18_19),\
146         SR(DWB_OGAM_RAMB_REGION_20_21),\
147         SR(DWB_OGAM_RAMB_REGION_22_23),\
148         SR(DWB_OGAM_RAMB_REGION_24_25),\
149         SR(DWB_OGAM_RAMB_REGION_26_27),\
150         SR(DWB_OGAM_RAMB_REGION_28_29),\
151         SR(DWB_OGAM_RAMB_REGION_30_31),\
152         SR(DWB_OGAM_RAMB_REGION_32_33)
153
154
155 #define DWBC_COMMON_MASK_SH_LIST_DCN30(mask_sh) \
156         SF_DWB2(DWB_ENABLE_CLK_CTRL, DWB_TOP, 0, DWB_ENABLE, mask_sh),\
157         SF_DWB2(DWB_ENABLE_CLK_CTRL, DWB_TOP, 0, DISPCLK_R_DWB_GATE_DIS, mask_sh),\
158         SF_DWB2(DWB_ENABLE_CLK_CTRL, DWB_TOP, 0, DISPCLK_G_DWB_GATE_DIS, mask_sh),\
159         SF_DWB2(DWB_ENABLE_CLK_CTRL, DWB_TOP, 0, DWB_TEST_CLK_SEL, mask_sh),\
160         SF_DWB2(DWB_MEM_PWR_CTRL, DWB_TOP, 0, DWB_OGAM_LUT_MEM_PWR_FORCE, mask_sh),\
161         SF_DWB2(DWB_MEM_PWR_CTRL, DWB_TOP, 0, DWB_OGAM_LUT_MEM_PWR_DIS, mask_sh),\
162         SF_DWB2(DWB_MEM_PWR_CTRL, DWB_TOP, 0, DWB_OGAM_LUT_MEM_PWR_STATE, mask_sh),\
163         SF_DWB2(FC_MODE_CTRL, DWB_TOP, 0, FC_FRAME_CAPTURE_EN, mask_sh),\
164         SF_DWB2(FC_MODE_CTRL, DWB_TOP, 0, FC_FRAME_CAPTURE_RATE, mask_sh),\
165         SF_DWB2(FC_MODE_CTRL, DWB_TOP, 0, FC_WINDOW_CROP_EN, mask_sh),\
166         SF_DWB2(FC_MODE_CTRL, DWB_TOP, 0, FC_EYE_SELECTION, mask_sh),\
167         SF_DWB2(FC_MODE_CTRL, DWB_TOP, 0, FC_STEREO_EYE_POLARITY, mask_sh),\
168         SF_DWB2(FC_MODE_CTRL, DWB_TOP, 0, FC_NEW_CONTENT, mask_sh),\
169         SF_DWB2(FC_MODE_CTRL, DWB_TOP, 0, FC_FRAME_CAPTURE_EN_CURRENT, mask_sh),\
170         SF_DWB2(FC_FLOW_CTRL, DWB_TOP, 0, FC_FIRST_PIXEL_DELAY_COUNT, mask_sh),\
171         SF_DWB2(FC_WINDOW_START, DWB_TOP, 0, FC_WINDOW_START_X, mask_sh),\
172         SF_DWB2(FC_WINDOW_START, DWB_TOP, 0, FC_WINDOW_START_Y, mask_sh),\
173         SF_DWB2(FC_WINDOW_SIZE, DWB_TOP, 0, FC_WINDOW_WIDTH, mask_sh),\
174         SF_DWB2(FC_WINDOW_SIZE, DWB_TOP, 0, FC_WINDOW_HEIGHT, mask_sh),\
175         SF_DWB2(FC_SOURCE_SIZE, DWB_TOP, 0, FC_SOURCE_WIDTH, mask_sh),\
176         SF_DWB2(FC_SOURCE_SIZE, DWB_TOP, 0, FC_SOURCE_HEIGHT, mask_sh),\
177         SF_DWB2(DWB_UPDATE_CTRL, DWB_TOP, 0, DWB_UPDATE_LOCK, mask_sh),\
178         SF_DWB2(DWB_UPDATE_CTRL, DWB_TOP, 0, DWB_UPDATE_PENDING, mask_sh),\
179         SF_DWB2(DWB_CRC_CTRL, DWB_TOP, 0, DWB_CRC_EN, mask_sh),\
180         SF_DWB2(DWB_CRC_CTRL, DWB_TOP, 0, DWB_CRC_CONT_EN, mask_sh),\
181         SF_DWB2(DWB_CRC_CTRL, DWB_TOP, 0, DWB_CRC_SRC_SEL, mask_sh),\
182         SF_DWB2(DWB_CRC_MASK_R_G, DWB_TOP, 0, DWB_CRC_RED_MASK, mask_sh),\
183         SF_DWB2(DWB_CRC_MASK_R_G, DWB_TOP, 0, DWB_CRC_GREEN_MASK, mask_sh),\
184         SF_DWB2(DWB_CRC_MASK_B_A, DWB_TOP, 0, DWB_CRC_BLUE_MASK, mask_sh),\
185         SF_DWB2(DWB_CRC_MASK_B_A, DWB_TOP, 0, DWB_CRC_A_MASK, mask_sh),\
186         SF_DWB2(DWB_CRC_VAL_R_G, DWB_TOP, 0, DWB_CRC_SIG_RED, mask_sh),\
187         SF_DWB2(DWB_CRC_VAL_R_G, DWB_TOP, 0, DWB_CRC_SIG_GREEN, mask_sh),\
188         SF_DWB2(DWB_CRC_VAL_B_A, DWB_TOP, 0, DWB_CRC_SIG_BLUE, mask_sh),\
189         SF_DWB2(DWB_CRC_VAL_B_A, DWB_TOP, 0, DWB_CRC_SIG_A, mask_sh),\
190         SF_DWB2(DWB_OUT_CTRL, DWB_TOP, 0, OUT_FORMAT, mask_sh),\
191         SF_DWB2(DWB_OUT_CTRL, DWB_TOP, 0, OUT_DENORM, mask_sh),\
192         SF_DWB2(DWB_OUT_CTRL, DWB_TOP, 0, OUT_MAX, mask_sh),\
193         SF_DWB2(DWB_OUT_CTRL, DWB_TOP, 0, OUT_MIN, mask_sh),\
194         SF_DWB2(DWB_MMHUBBUB_BACKPRESSURE_CNT_EN, DWB_TOP, 0, DWB_MMHUBBUB_BACKPRESSURE_CNT_EN, mask_sh),\
195         SF_DWB2(DWB_MMHUBBUB_BACKPRESSURE_CNT, DWB_TOP, 0, DWB_MMHUBBUB_MAX_BACKPRESSURE, mask_sh),\
196         SF_DWB2(DWB_HOST_READ_CONTROL, DWB_TOP, 0, DWB_HOST_READ_RATE_CONTROL, mask_sh),\
197         SF_DWB2(DWB_SOFT_RESET, DWB_TOP, 0, DWB_SOFT_RESET, mask_sh),\
198         SF_DWB2(DWB_HDR_MULT_COEF, DWBCP, 0, DWB_HDR_MULT_COEF, mask_sh),\
199         SF_DWB2(DWB_GAMUT_REMAP_MODE, DWBCP, 0, DWB_GAMUT_REMAP_MODE, mask_sh),\
200         SF_DWB2(DWB_GAMUT_REMAP_MODE, DWBCP, 0, DWB_GAMUT_REMAP_MODE_CURRENT, mask_sh),\
201         SF_DWB2(DWB_GAMUT_REMAP_COEF_FORMAT, DWBCP, 0, DWB_GAMUT_REMAP_COEF_FORMAT, mask_sh),\
202         SF_DWB2(DWB_GAMUT_REMAPA_C11_C12, DWBCP, 0, DWB_GAMUT_REMAPA_C11, mask_sh),\
203         SF_DWB2(DWB_GAMUT_REMAPA_C11_C12, DWBCP, 0, DWB_GAMUT_REMAPA_C12, mask_sh),\
204         SF_DWB2(DWB_GAMUT_REMAPA_C13_C14, DWBCP, 0, DWB_GAMUT_REMAPA_C13, mask_sh),\
205         SF_DWB2(DWB_GAMUT_REMAPA_C13_C14, DWBCP, 0, DWB_GAMUT_REMAPA_C14, mask_sh),\
206         SF_DWB2(DWB_GAMUT_REMAPA_C21_C22, DWBCP, 0, DWB_GAMUT_REMAPA_C21, mask_sh),\
207         SF_DWB2(DWB_GAMUT_REMAPA_C21_C22, DWBCP, 0, DWB_GAMUT_REMAPA_C22, mask_sh),\
208         SF_DWB2(DWB_GAMUT_REMAPA_C23_C24, DWBCP, 0, DWB_GAMUT_REMAPA_C23, mask_sh),\
209         SF_DWB2(DWB_GAMUT_REMAPA_C23_C24, DWBCP, 0, DWB_GAMUT_REMAPA_C24, mask_sh),\
210         SF_DWB2(DWB_GAMUT_REMAPA_C31_C32, DWBCP, 0, DWB_GAMUT_REMAPA_C31, mask_sh),\
211         SF_DWB2(DWB_GAMUT_REMAPA_C31_C32, DWBCP, 0, DWB_GAMUT_REMAPA_C32, mask_sh),\
212         SF_DWB2(DWB_GAMUT_REMAPA_C33_C34, DWBCP, 0, DWB_GAMUT_REMAPA_C33, mask_sh),\
213         SF_DWB2(DWB_GAMUT_REMAPA_C33_C34, DWBCP, 0, DWB_GAMUT_REMAPA_C34, mask_sh),\
214         SF_DWB2(DWB_GAMUT_REMAPB_C11_C12, DWBCP, 0, DWB_GAMUT_REMAPB_C11, mask_sh),\
215         SF_DWB2(DWB_GAMUT_REMAPB_C11_C12, DWBCP, 0, DWB_GAMUT_REMAPB_C12, mask_sh),\
216         SF_DWB2(DWB_GAMUT_REMAPB_C13_C14, DWBCP, 0, DWB_GAMUT_REMAPB_C13, mask_sh),\
217         SF_DWB2(DWB_GAMUT_REMAPB_C13_C14, DWBCP, 0, DWB_GAMUT_REMAPB_C14, mask_sh),\
218         SF_DWB2(DWB_GAMUT_REMAPB_C21_C22, DWBCP, 0, DWB_GAMUT_REMAPB_C21, mask_sh),\
219         SF_DWB2(DWB_GAMUT_REMAPB_C21_C22, DWBCP, 0, DWB_GAMUT_REMAPB_C22, mask_sh),\
220         SF_DWB2(DWB_GAMUT_REMAPB_C23_C24, DWBCP, 0, DWB_GAMUT_REMAPB_C23, mask_sh),\
221         SF_DWB2(DWB_GAMUT_REMAPB_C23_C24, DWBCP, 0, DWB_GAMUT_REMAPB_C24, mask_sh),\
222         SF_DWB2(DWB_GAMUT_REMAPB_C31_C32, DWBCP, 0, DWB_GAMUT_REMAPB_C31, mask_sh),\
223         SF_DWB2(DWB_GAMUT_REMAPB_C31_C32, DWBCP, 0, DWB_GAMUT_REMAPB_C32, mask_sh),\
224         SF_DWB2(DWB_GAMUT_REMAPB_C33_C34, DWBCP, 0, DWB_GAMUT_REMAPB_C33, mask_sh),\
225         SF_DWB2(DWB_GAMUT_REMAPB_C33_C34, DWBCP, 0, DWB_GAMUT_REMAPB_C34, mask_sh),\
226         SF_DWB2(DWB_OGAM_CONTROL, DWBCP, 0, DWB_OGAM_MODE, mask_sh),\
227         SF_DWB2(DWB_OGAM_CONTROL, DWBCP, 0, DWB_OGAM_SELECT, mask_sh),\
228         SF_DWB2(DWB_OGAM_CONTROL, DWBCP, 0, DWB_OGAM_PWL_DISABLE, mask_sh),\
229         SF_DWB2(DWB_OGAM_CONTROL, DWBCP, 0, DWB_OGAM_MODE_CURRENT, mask_sh),\
230         SF_DWB2(DWB_OGAM_CONTROL, DWBCP, 0, DWB_OGAM_SELECT_CURRENT, mask_sh),\
231         SF_DWB2(DWB_OGAM_LUT_INDEX, DWBCP, 0, DWB_OGAM_LUT_INDEX, mask_sh),\
232         SF_DWB2(DWB_OGAM_LUT_DATA, DWBCP, 0, DWB_OGAM_LUT_DATA, mask_sh),\
233         SF_DWB2(DWB_OGAM_LUT_CONTROL, DWBCP, 0, DWB_OGAM_LUT_WRITE_COLOR_MASK, mask_sh),\
234         SF_DWB2(DWB_OGAM_LUT_CONTROL, DWBCP, 0, DWB_OGAM_LUT_READ_COLOR_SEL, mask_sh),\
235         SF_DWB2(DWB_OGAM_LUT_CONTROL, DWBCP, 0, DWB_OGAM_LUT_READ_DBG, mask_sh),\
236         SF_DWB2(DWB_OGAM_LUT_CONTROL, DWBCP, 0, DWB_OGAM_LUT_HOST_SEL, mask_sh),\
237         SF_DWB2(DWB_OGAM_LUT_CONTROL, DWBCP, 0, DWB_OGAM_LUT_CONFIG_MODE, mask_sh),\
238         SF_DWB2(DWB_OGAM_RAMA_START_CNTL_B, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_START_B, mask_sh),\
239         SF_DWB2(DWB_OGAM_RAMA_START_CNTL_B, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_START_SEGMENT_B, mask_sh),\
240         SF_DWB2(DWB_OGAM_RAMA_START_CNTL_G, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_START_G, mask_sh),\
241         SF_DWB2(DWB_OGAM_RAMA_START_CNTL_G, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_START_SEGMENT_G, mask_sh),\
242         SF_DWB2(DWB_OGAM_RAMA_START_CNTL_R, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_START_R, mask_sh),\
243         SF_DWB2(DWB_OGAM_RAMA_START_CNTL_R, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_START_SEGMENT_R, mask_sh),\
244         SF_DWB2(DWB_OGAM_RAMA_START_BASE_CNTL_B, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_START_BASE_B, mask_sh),\
245         SF_DWB2(DWB_OGAM_RAMA_START_SLOPE_CNTL_B, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_START_SLOPE_B, mask_sh),\
246         SF_DWB2(DWB_OGAM_RAMA_START_BASE_CNTL_G, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_START_BASE_G, mask_sh),\
247         SF_DWB2(DWB_OGAM_RAMA_START_SLOPE_CNTL_G, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_START_SLOPE_G, mask_sh),\
248         SF_DWB2(DWB_OGAM_RAMA_START_BASE_CNTL_R, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_START_BASE_R, mask_sh),\
249         SF_DWB2(DWB_OGAM_RAMA_START_SLOPE_CNTL_R, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_START_SLOPE_R, mask_sh),\
250         SF_DWB2(DWB_OGAM_RAMA_END_CNTL1_B, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_END_BASE_B, mask_sh),\
251         SF_DWB2(DWB_OGAM_RAMA_END_CNTL2_B, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_END_B, mask_sh),\
252         SF_DWB2(DWB_OGAM_RAMA_END_CNTL2_B, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_END_SLOPE_B, mask_sh),\
253         SF_DWB2(DWB_OGAM_RAMA_END_CNTL1_G, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_END_BASE_G, mask_sh),\
254         SF_DWB2(DWB_OGAM_RAMA_END_CNTL2_G, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_END_G, mask_sh),\
255         SF_DWB2(DWB_OGAM_RAMA_END_CNTL2_G, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_END_SLOPE_G, mask_sh),\
256         SF_DWB2(DWB_OGAM_RAMA_END_CNTL1_R, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_END_BASE_R, mask_sh),\
257         SF_DWB2(DWB_OGAM_RAMA_END_CNTL2_R, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_END_R, mask_sh),\
258         SF_DWB2(DWB_OGAM_RAMA_END_CNTL2_R, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION_END_SLOPE_R, mask_sh),\
259         SF_DWB2(DWB_OGAM_RAMA_OFFSET_B, DWBCP, 0, DWB_OGAM_RAMA_OFFSET_B, mask_sh),\
260         SF_DWB2(DWB_OGAM_RAMA_OFFSET_G, DWBCP, 0, DWB_OGAM_RAMA_OFFSET_G, mask_sh),\
261         SF_DWB2(DWB_OGAM_RAMA_OFFSET_R, DWBCP, 0, DWB_OGAM_RAMA_OFFSET_R, mask_sh),\
262         SF_DWB2(DWB_OGAM_RAMA_REGION_0_1, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION0_LUT_OFFSET, mask_sh),\
263         SF_DWB2(DWB_OGAM_RAMA_REGION_0_1, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION0_NUM_SEGMENTS, mask_sh),\
264         SF_DWB2(DWB_OGAM_RAMA_REGION_0_1, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION1_LUT_OFFSET, mask_sh),\
265         SF_DWB2(DWB_OGAM_RAMA_REGION_0_1, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION1_NUM_SEGMENTS, mask_sh),\
266         SF_DWB2(DWB_OGAM_RAMA_REGION_2_3, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION2_LUT_OFFSET, mask_sh),\
267         SF_DWB2(DWB_OGAM_RAMA_REGION_2_3, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION2_NUM_SEGMENTS, mask_sh),\
268         SF_DWB2(DWB_OGAM_RAMA_REGION_2_3, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION3_LUT_OFFSET, mask_sh),\
269         SF_DWB2(DWB_OGAM_RAMA_REGION_2_3, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION3_NUM_SEGMENTS, mask_sh),\
270         SF_DWB2(DWB_OGAM_RAMA_REGION_4_5, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION4_LUT_OFFSET, mask_sh),\
271         SF_DWB2(DWB_OGAM_RAMA_REGION_4_5, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION4_NUM_SEGMENTS, mask_sh),\
272         SF_DWB2(DWB_OGAM_RAMA_REGION_4_5, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION5_LUT_OFFSET, mask_sh),\
273         SF_DWB2(DWB_OGAM_RAMA_REGION_4_5, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION5_NUM_SEGMENTS, mask_sh),\
274         SF_DWB2(DWB_OGAM_RAMA_REGION_6_7, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION6_LUT_OFFSET, mask_sh),\
275         SF_DWB2(DWB_OGAM_RAMA_REGION_6_7, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION6_NUM_SEGMENTS, mask_sh),\
276         SF_DWB2(DWB_OGAM_RAMA_REGION_6_7, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION7_LUT_OFFSET, mask_sh),\
277         SF_DWB2(DWB_OGAM_RAMA_REGION_6_7, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION7_NUM_SEGMENTS, mask_sh),\
278         SF_DWB2(DWB_OGAM_RAMA_REGION_8_9, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION8_LUT_OFFSET, mask_sh),\
279         SF_DWB2(DWB_OGAM_RAMA_REGION_8_9, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION8_NUM_SEGMENTS, mask_sh),\
280         SF_DWB2(DWB_OGAM_RAMA_REGION_8_9, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION9_LUT_OFFSET, mask_sh),\
281         SF_DWB2(DWB_OGAM_RAMA_REGION_8_9, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION9_NUM_SEGMENTS, mask_sh),\
282         SF_DWB2(DWB_OGAM_RAMA_REGION_10_11, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION10_LUT_OFFSET, mask_sh),\
283         SF_DWB2(DWB_OGAM_RAMA_REGION_10_11, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION10_NUM_SEGMENTS, mask_sh),\
284         SF_DWB2(DWB_OGAM_RAMA_REGION_10_11, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION11_LUT_OFFSET, mask_sh),\
285         SF_DWB2(DWB_OGAM_RAMA_REGION_10_11, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION11_NUM_SEGMENTS, mask_sh),\
286         SF_DWB2(DWB_OGAM_RAMA_REGION_12_13, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION12_LUT_OFFSET, mask_sh),\
287         SF_DWB2(DWB_OGAM_RAMA_REGION_12_13, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION12_NUM_SEGMENTS, mask_sh),\
288         SF_DWB2(DWB_OGAM_RAMA_REGION_12_13, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION13_LUT_OFFSET, mask_sh),\
289         SF_DWB2(DWB_OGAM_RAMA_REGION_12_13, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION13_NUM_SEGMENTS, mask_sh),\
290         SF_DWB2(DWB_OGAM_RAMA_REGION_14_15, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION14_LUT_OFFSET, mask_sh),\
291         SF_DWB2(DWB_OGAM_RAMA_REGION_14_15, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION14_NUM_SEGMENTS, mask_sh),\
292         SF_DWB2(DWB_OGAM_RAMA_REGION_14_15, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION15_LUT_OFFSET, mask_sh),\
293         SF_DWB2(DWB_OGAM_RAMA_REGION_14_15, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION15_NUM_SEGMENTS, mask_sh),\
294         SF_DWB2(DWB_OGAM_RAMA_REGION_16_17, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION16_LUT_OFFSET, mask_sh),\
295         SF_DWB2(DWB_OGAM_RAMA_REGION_16_17, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION16_NUM_SEGMENTS, mask_sh),\
296         SF_DWB2(DWB_OGAM_RAMA_REGION_16_17, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION17_LUT_OFFSET, mask_sh),\
297         SF_DWB2(DWB_OGAM_RAMA_REGION_16_17, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION17_NUM_SEGMENTS, mask_sh),\
298         SF_DWB2(DWB_OGAM_RAMA_REGION_18_19, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION18_LUT_OFFSET, mask_sh),\
299         SF_DWB2(DWB_OGAM_RAMA_REGION_18_19, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION18_NUM_SEGMENTS, mask_sh),\
300         SF_DWB2(DWB_OGAM_RAMA_REGION_18_19, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION19_LUT_OFFSET, mask_sh),\
301         SF_DWB2(DWB_OGAM_RAMA_REGION_18_19, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION19_NUM_SEGMENTS, mask_sh),\
302         SF_DWB2(DWB_OGAM_RAMA_REGION_20_21, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION20_LUT_OFFSET, mask_sh),\
303         SF_DWB2(DWB_OGAM_RAMA_REGION_20_21, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION20_NUM_SEGMENTS, mask_sh),\
304         SF_DWB2(DWB_OGAM_RAMA_REGION_20_21, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION21_LUT_OFFSET, mask_sh),\
305         SF_DWB2(DWB_OGAM_RAMA_REGION_20_21, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION21_NUM_SEGMENTS, mask_sh),\
306         SF_DWB2(DWB_OGAM_RAMA_REGION_22_23, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION22_LUT_OFFSET, mask_sh),\
307         SF_DWB2(DWB_OGAM_RAMA_REGION_22_23, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION22_NUM_SEGMENTS, mask_sh),\
308         SF_DWB2(DWB_OGAM_RAMA_REGION_22_23, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION23_LUT_OFFSET, mask_sh),\
309         SF_DWB2(DWB_OGAM_RAMA_REGION_22_23, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION23_NUM_SEGMENTS, mask_sh),\
310         SF_DWB2(DWB_OGAM_RAMA_REGION_24_25, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION24_LUT_OFFSET, mask_sh),\
311         SF_DWB2(DWB_OGAM_RAMA_REGION_24_25, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION24_NUM_SEGMENTS, mask_sh),\
312         SF_DWB2(DWB_OGAM_RAMA_REGION_24_25, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION25_LUT_OFFSET, mask_sh),\
313         SF_DWB2(DWB_OGAM_RAMA_REGION_24_25, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION25_NUM_SEGMENTS, mask_sh),\
314         SF_DWB2(DWB_OGAM_RAMA_REGION_26_27, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION26_LUT_OFFSET, mask_sh),\
315         SF_DWB2(DWB_OGAM_RAMA_REGION_26_27, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION26_NUM_SEGMENTS, mask_sh),\
316         SF_DWB2(DWB_OGAM_RAMA_REGION_26_27, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION27_LUT_OFFSET, mask_sh),\
317         SF_DWB2(DWB_OGAM_RAMA_REGION_26_27, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION27_NUM_SEGMENTS, mask_sh),\
318         SF_DWB2(DWB_OGAM_RAMA_REGION_28_29, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION28_LUT_OFFSET, mask_sh),\
319         SF_DWB2(DWB_OGAM_RAMA_REGION_28_29, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION28_NUM_SEGMENTS, mask_sh),\
320         SF_DWB2(DWB_OGAM_RAMA_REGION_28_29, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION29_LUT_OFFSET, mask_sh),\
321         SF_DWB2(DWB_OGAM_RAMA_REGION_28_29, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION29_NUM_SEGMENTS, mask_sh),\
322         SF_DWB2(DWB_OGAM_RAMA_REGION_30_31, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION30_LUT_OFFSET, mask_sh),\
323         SF_DWB2(DWB_OGAM_RAMA_REGION_30_31, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION30_NUM_SEGMENTS, mask_sh),\
324         SF_DWB2(DWB_OGAM_RAMA_REGION_30_31, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION31_LUT_OFFSET, mask_sh),\
325         SF_DWB2(DWB_OGAM_RAMA_REGION_30_31, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION31_NUM_SEGMENTS, mask_sh),\
326         SF_DWB2(DWB_OGAM_RAMA_REGION_32_33, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION32_LUT_OFFSET, mask_sh),\
327         SF_DWB2(DWB_OGAM_RAMA_REGION_32_33, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION32_NUM_SEGMENTS, mask_sh),\
328         SF_DWB2(DWB_OGAM_RAMA_REGION_32_33, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION33_LUT_OFFSET, mask_sh),\
329         SF_DWB2(DWB_OGAM_RAMA_REGION_32_33, DWBCP, 0, DWB_OGAM_RAMA_EXP_REGION33_NUM_SEGMENTS, mask_sh),\
330         SF_DWB2(DWB_OGAM_RAMB_START_CNTL_B, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_START_B, mask_sh),\
331         SF_DWB2(DWB_OGAM_RAMB_START_CNTL_B, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_START_SEGMENT_B, mask_sh),\
332         SF_DWB2(DWB_OGAM_RAMB_START_CNTL_G, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_START_G, mask_sh),\
333         SF_DWB2(DWB_OGAM_RAMB_START_CNTL_G, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_START_SEGMENT_G, mask_sh),\
334         SF_DWB2(DWB_OGAM_RAMB_START_CNTL_R, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_START_R, mask_sh),\
335         SF_DWB2(DWB_OGAM_RAMB_START_CNTL_R, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_START_SEGMENT_R, mask_sh),\
336         SF_DWB2(DWB_OGAM_RAMB_START_BASE_CNTL_B, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_START_BASE_B, mask_sh),\
337         SF_DWB2(DWB_OGAM_RAMB_START_SLOPE_CNTL_B, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_START_SLOPE_B, mask_sh),\
338         SF_DWB2(DWB_OGAM_RAMB_START_BASE_CNTL_G, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_START_BASE_G, mask_sh),\
339         SF_DWB2(DWB_OGAM_RAMB_START_SLOPE_CNTL_G, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_START_SLOPE_G, mask_sh),\
340         SF_DWB2(DWB_OGAM_RAMB_START_BASE_CNTL_R, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_START_BASE_R, mask_sh),\
341         SF_DWB2(DWB_OGAM_RAMB_START_SLOPE_CNTL_R, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_START_SLOPE_R, mask_sh),\
342         SF_DWB2(DWB_OGAM_RAMB_END_CNTL1_B, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_END_BASE_B, mask_sh),\
343         SF_DWB2(DWB_OGAM_RAMB_END_CNTL2_B, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_END_B, mask_sh),\
344         SF_DWB2(DWB_OGAM_RAMB_END_CNTL2_B, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_END_SLOPE_B, mask_sh),\
345         SF_DWB2(DWB_OGAM_RAMB_END_CNTL1_G, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_END_BASE_G, mask_sh),\
346         SF_DWB2(DWB_OGAM_RAMB_END_CNTL2_G, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_END_G, mask_sh),\
347         SF_DWB2(DWB_OGAM_RAMB_END_CNTL2_G, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_END_SLOPE_G, mask_sh),\
348         SF_DWB2(DWB_OGAM_RAMB_END_CNTL1_R, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_END_BASE_R, mask_sh),\
349         SF_DWB2(DWB_OGAM_RAMB_END_CNTL2_R, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_END_R, mask_sh),\
350         SF_DWB2(DWB_OGAM_RAMB_END_CNTL2_R, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION_END_SLOPE_R, mask_sh),\
351         SF_DWB2(DWB_OGAM_RAMB_OFFSET_B, DWBCP, 0, DWB_OGAM_RAMB_OFFSET_B, mask_sh),\
352         SF_DWB2(DWB_OGAM_RAMB_OFFSET_G, DWBCP, 0, DWB_OGAM_RAMB_OFFSET_G, mask_sh),\
353         SF_DWB2(DWB_OGAM_RAMB_OFFSET_R, DWBCP, 0, DWB_OGAM_RAMB_OFFSET_R, mask_sh),\
354         SF_DWB2(DWB_OGAM_RAMB_REGION_0_1, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION0_LUT_OFFSET, mask_sh),\
355         SF_DWB2(DWB_OGAM_RAMB_REGION_0_1, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION0_NUM_SEGMENTS, mask_sh),\
356         SF_DWB2(DWB_OGAM_RAMB_REGION_0_1, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION1_LUT_OFFSET, mask_sh),\
357         SF_DWB2(DWB_OGAM_RAMB_REGION_0_1, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION1_NUM_SEGMENTS, mask_sh),\
358         SF_DWB2(DWB_OGAM_RAMB_REGION_2_3, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION2_LUT_OFFSET, mask_sh),\
359         SF_DWB2(DWB_OGAM_RAMB_REGION_2_3, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION2_NUM_SEGMENTS, mask_sh),\
360         SF_DWB2(DWB_OGAM_RAMB_REGION_2_3, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION3_LUT_OFFSET, mask_sh),\
361         SF_DWB2(DWB_OGAM_RAMB_REGION_2_3, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION3_NUM_SEGMENTS, mask_sh),\
362         SF_DWB2(DWB_OGAM_RAMB_REGION_4_5, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION4_LUT_OFFSET, mask_sh),\
363         SF_DWB2(DWB_OGAM_RAMB_REGION_4_5, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION4_NUM_SEGMENTS, mask_sh),\
364         SF_DWB2(DWB_OGAM_RAMB_REGION_4_5, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION5_LUT_OFFSET, mask_sh),\
365         SF_DWB2(DWB_OGAM_RAMB_REGION_4_5, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION5_NUM_SEGMENTS, mask_sh),\
366         SF_DWB2(DWB_OGAM_RAMB_REGION_6_7, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION6_LUT_OFFSET, mask_sh),\
367         SF_DWB2(DWB_OGAM_RAMB_REGION_6_7, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION6_NUM_SEGMENTS, mask_sh),\
368         SF_DWB2(DWB_OGAM_RAMB_REGION_6_7, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION7_LUT_OFFSET, mask_sh),\
369         SF_DWB2(DWB_OGAM_RAMB_REGION_6_7, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION7_NUM_SEGMENTS, mask_sh),\
370         SF_DWB2(DWB_OGAM_RAMB_REGION_8_9, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION8_LUT_OFFSET, mask_sh),\
371         SF_DWB2(DWB_OGAM_RAMB_REGION_8_9, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION8_NUM_SEGMENTS, mask_sh),\
372         SF_DWB2(DWB_OGAM_RAMB_REGION_8_9, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION9_LUT_OFFSET, mask_sh),\
373         SF_DWB2(DWB_OGAM_RAMB_REGION_8_9, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION9_NUM_SEGMENTS, mask_sh),\
374         SF_DWB2(DWB_OGAM_RAMB_REGION_10_11, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION10_LUT_OFFSET, mask_sh),\
375         SF_DWB2(DWB_OGAM_RAMB_REGION_10_11, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION10_NUM_SEGMENTS, mask_sh),\
376         SF_DWB2(DWB_OGAM_RAMB_REGION_10_11, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION11_LUT_OFFSET, mask_sh),\
377         SF_DWB2(DWB_OGAM_RAMB_REGION_10_11, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION11_NUM_SEGMENTS, mask_sh),\
378         SF_DWB2(DWB_OGAM_RAMB_REGION_12_13, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION12_LUT_OFFSET, mask_sh),\
379         SF_DWB2(DWB_OGAM_RAMB_REGION_12_13, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION12_NUM_SEGMENTS, mask_sh),\
380         SF_DWB2(DWB_OGAM_RAMB_REGION_12_13, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION13_LUT_OFFSET, mask_sh),\
381         SF_DWB2(DWB_OGAM_RAMB_REGION_12_13, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION13_NUM_SEGMENTS, mask_sh),\
382         SF_DWB2(DWB_OGAM_RAMB_REGION_14_15, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION14_LUT_OFFSET, mask_sh),\
383         SF_DWB2(DWB_OGAM_RAMB_REGION_14_15, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION14_NUM_SEGMENTS, mask_sh),\
384         SF_DWB2(DWB_OGAM_RAMB_REGION_14_15, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION15_LUT_OFFSET, mask_sh),\
385         SF_DWB2(DWB_OGAM_RAMB_REGION_14_15, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION15_NUM_SEGMENTS, mask_sh),\
386         SF_DWB2(DWB_OGAM_RAMB_REGION_16_17, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION16_LUT_OFFSET, mask_sh),\
387         SF_DWB2(DWB_OGAM_RAMB_REGION_16_17, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION16_NUM_SEGMENTS, mask_sh),\
388         SF_DWB2(DWB_OGAM_RAMB_REGION_16_17, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION17_LUT_OFFSET, mask_sh),\
389         SF_DWB2(DWB_OGAM_RAMB_REGION_16_17, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION17_NUM_SEGMENTS, mask_sh),\
390         SF_DWB2(DWB_OGAM_RAMB_REGION_18_19, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION18_LUT_OFFSET, mask_sh),\
391         SF_DWB2(DWB_OGAM_RAMB_REGION_18_19, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION18_NUM_SEGMENTS, mask_sh),\
392         SF_DWB2(DWB_OGAM_RAMB_REGION_18_19, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION19_LUT_OFFSET, mask_sh),\
393         SF_DWB2(DWB_OGAM_RAMB_REGION_18_19, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION19_NUM_SEGMENTS, mask_sh),\
394         SF_DWB2(DWB_OGAM_RAMB_REGION_20_21, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION20_LUT_OFFSET, mask_sh),\
395         SF_DWB2(DWB_OGAM_RAMB_REGION_20_21, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION20_NUM_SEGMENTS, mask_sh),\
396         SF_DWB2(DWB_OGAM_RAMB_REGION_20_21, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION21_LUT_OFFSET, mask_sh),\
397         SF_DWB2(DWB_OGAM_RAMB_REGION_20_21, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION21_NUM_SEGMENTS, mask_sh),\
398         SF_DWB2(DWB_OGAM_RAMB_REGION_22_23, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION22_LUT_OFFSET, mask_sh),\
399         SF_DWB2(DWB_OGAM_RAMB_REGION_22_23, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION22_NUM_SEGMENTS, mask_sh),\
400         SF_DWB2(DWB_OGAM_RAMB_REGION_22_23, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION23_LUT_OFFSET, mask_sh),\
401         SF_DWB2(DWB_OGAM_RAMB_REGION_22_23, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION23_NUM_SEGMENTS, mask_sh),\
402         SF_DWB2(DWB_OGAM_RAMB_REGION_24_25, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION24_LUT_OFFSET, mask_sh),\
403         SF_DWB2(DWB_OGAM_RAMB_REGION_24_25, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION24_NUM_SEGMENTS, mask_sh),\
404         SF_DWB2(DWB_OGAM_RAMB_REGION_24_25, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION25_LUT_OFFSET, mask_sh),\
405         SF_DWB2(DWB_OGAM_RAMB_REGION_24_25, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION25_NUM_SEGMENTS, mask_sh),\
406         SF_DWB2(DWB_OGAM_RAMB_REGION_26_27, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION26_LUT_OFFSET, mask_sh),\
407         SF_DWB2(DWB_OGAM_RAMB_REGION_26_27, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION26_NUM_SEGMENTS, mask_sh),\
408         SF_DWB2(DWB_OGAM_RAMB_REGION_26_27, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION27_LUT_OFFSET, mask_sh),\
409         SF_DWB2(DWB_OGAM_RAMB_REGION_26_27, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION27_NUM_SEGMENTS, mask_sh),\
410         SF_DWB2(DWB_OGAM_RAMB_REGION_28_29, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION28_LUT_OFFSET, mask_sh),\
411         SF_DWB2(DWB_OGAM_RAMB_REGION_28_29, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION28_NUM_SEGMENTS, mask_sh),\
412         SF_DWB2(DWB_OGAM_RAMB_REGION_28_29, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION29_LUT_OFFSET, mask_sh),\
413         SF_DWB2(DWB_OGAM_RAMB_REGION_28_29, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION29_NUM_SEGMENTS, mask_sh),\
414         SF_DWB2(DWB_OGAM_RAMB_REGION_30_31, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION30_LUT_OFFSET, mask_sh),\
415         SF_DWB2(DWB_OGAM_RAMB_REGION_30_31, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION30_NUM_SEGMENTS, mask_sh),\
416         SF_DWB2(DWB_OGAM_RAMB_REGION_30_31, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION31_LUT_OFFSET, mask_sh),\
417         SF_DWB2(DWB_OGAM_RAMB_REGION_30_31, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION31_NUM_SEGMENTS, mask_sh),\
418         SF_DWB2(DWB_OGAM_RAMB_REGION_32_33, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION32_LUT_OFFSET, mask_sh),\
419         SF_DWB2(DWB_OGAM_RAMB_REGION_32_33, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION32_NUM_SEGMENTS, mask_sh),\
420         SF_DWB2(DWB_OGAM_RAMB_REGION_32_33, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION33_LUT_OFFSET, mask_sh),\
421         SF_DWB2(DWB_OGAM_RAMB_REGION_32_33, DWBCP, 0, DWB_OGAM_RAMB_EXP_REGION33_NUM_SEGMENTS, mask_sh)
422
423
424 #define DWBC_REG_FIELD_LIST_DCN3_0(type) \
425         type DWB_ENABLE;\
426         type DISPCLK_R_DWB_GATE_DIS;\
427         type DISPCLK_G_DWB_GATE_DIS;\
428         type DWB_TEST_CLK_SEL;\
429         type DWBSCL_LUT_MEM_PWR_FORCE;\
430         type DWBSCL_LUT_MEM_PWR_DIS;\
431         type DWBSCL_LUT_MEM_PWR_STATE;\
432         type DWBSCL_LB_MEM_PWR_FORCE;\
433         type DWBSCL_LB_MEM_PWR_DIS;\
434         type DWBSCL_LB_MEM_PWR_STATE;\
435         type DWB_OGAM_LUT_MEM_PWR_FORCE;\
436         type DWB_OGAM_LUT_MEM_PWR_DIS;\
437         type DWB_OGAM_LUT_MEM_PWR_STATE;\
438         type FC_FRAME_CAPTURE_EN;\
439         type FC_FRAME_CAPTURE_RATE;\
440         type FC_WINDOW_CROP_EN;\
441         type FC_EYE_SELECTION;\
442         type FC_STEREO_EYE_POLARITY;\
443         type FC_NEW_CONTENT;\
444         type FC_FI_EN;\
445         type FC_FI_PHASE;\
446         type FC_FRAME_CAPTURE_EN_CURRENT;\
447         type FC_FIRST_PIXEL_DELAY_COUNT;\
448         type FC_WINDOW_START_X;\
449         type FC_WINDOW_START_Y;\
450         type FC_WINDOW_WIDTH;\
451         type FC_WINDOW_HEIGHT;\
452         type FC_SOURCE_WIDTH;\
453         type FC_SOURCE_HEIGHT;\
454         type DWB_UPDATE_LOCK;\
455         type DWB_UPDATE_PENDING;\
456         type DWB_CRC_EN;\
457         type DWB_CRC_CONT_EN;\
458         type DWB_CRC_SRC_SEL;\
459         type DWB_CRC_RED_MASK;\
460         type DWB_CRC_GREEN_MASK;\
461         type DWB_CRC_BLUE_MASK;\
462         type DWB_CRC_A_MASK;\
463         type DWB_CRC_SIG_RED;\
464         type DWB_CRC_SIG_GREEN;\
465         type DWB_CRC_SIG_BLUE;\
466         type DWB_CRC_SIG_A;\
467         type OUT_FORMAT;\
468         type OUT_DENORM;\
469         type OUT_MAX;\
470         type OUT_MIN;\
471         type DWB_MMHUBBUB_BACKPRESSURE_CNT_EN;\
472         type DWB_MMHUBBUB_MAX_BACKPRESSURE;\
473         type DWB_HOST_READ_RATE_CONTROL;\
474         type DWBSCL_DATA_OVERFLOW_FLAG;\
475         type DWBSCL_DATA_OVERFLOW_ACK;\
476         type DWBSCL_DATA_OVERFLOW_MASK;\
477         type DWBSCL_DATA_OVERFLOW_INT_STATUS;\
478         type DWBSCL_DATA_OVERFLOW_INT_TYPE;\
479         type DWBSCL_DATA_OVERFLOW_TYPE;\
480         type DWBSCL_DATA_OVERFLOW_OUT_X_CNT;\
481         type DWBSCL_DATA_OVERFLOW_OUT_Y_CNT;\
482         type DWB_SOFT_RESET;\
483         type DWBSCL_COEF_RAM_TAP_PAIR_IDX;\
484         type DWBSCL_COEF_RAM_PHASE;\
485         type DWBSCL_COEF_RAM_FILTER_TYPE;\
486         type DWBSCL_COEF_RAM_SELECT_RD;\
487         type DWBSCL_COEF_RAM_EVEN_TAP_COEF;\
488         type DWBSCL_COEF_RAM_EVEN_TAP_COEF_EN;\
489         type DWBSCL_COEF_RAM_ODD_TAP_COEF;\
490         type DWBSCL_COEF_RAM_ODD_TAP_COEF_EN;\
491         type DWBSCL_MODE;\
492         type DWBSCL_COEF_RAM_SELECT;\
493         type DWBSCL_COEF_RAM_SELECT_CURRENT;\
494         type DWBSCL_H_NUM_OF_TAPS;\
495         type DWBSCL_V_NUM_OF_TAPS;\
496         type DWBSCL_H_SCALE_RATIO;\
497         type DWBSCL_H_INIT_FRAC;\
498         type DWBSCL_H_INIT_INT;\
499         type DWBSCL_V_SCALE_RATIO;\
500         type DWBSCL_V_INIT_FRAC;\
501         type DWBSCL_V_INIT_INT;\
502         type DWBSCL_BOUNDARY_MODE;\
503         type DWBSCL_BLACK_COLOR_RGB;\
504         type DWBSCL_DEST_WIDTH;\
505         type DWBSCL_DEST_HEIGHT;\
506         type DWB_HDR_MULT_COEF;\
507         type DWB_GAMUT_REMAP_MODE;\
508         type DWB_GAMUT_REMAP_MODE_CURRENT;\
509         type DWB_GAMUT_REMAP_COEF_FORMAT;\
510         type DWB_GAMUT_REMAPA_C11;\
511         type DWB_GAMUT_REMAPA_C12;\
512         type DWB_GAMUT_REMAPA_C13;\
513         type DWB_GAMUT_REMAPA_C14;\
514         type DWB_GAMUT_REMAPA_C21;\
515         type DWB_GAMUT_REMAPA_C22;\
516         type DWB_GAMUT_REMAPA_C23;\
517         type DWB_GAMUT_REMAPA_C24;\
518         type DWB_GAMUT_REMAPA_C31;\
519         type DWB_GAMUT_REMAPA_C32;\
520         type DWB_GAMUT_REMAPA_C33;\
521         type DWB_GAMUT_REMAPA_C34;\
522         type DWB_GAMUT_REMAPB_C11;\
523         type DWB_GAMUT_REMAPB_C12;\
524         type DWB_GAMUT_REMAPB_C13;\
525         type DWB_GAMUT_REMAPB_C14;\
526         type DWB_GAMUT_REMAPB_C21;\
527         type DWB_GAMUT_REMAPB_C22;\
528         type DWB_GAMUT_REMAPB_C23;\
529         type DWB_GAMUT_REMAPB_C24;\
530         type DWB_GAMUT_REMAPB_C31;\
531         type DWB_GAMUT_REMAPB_C32;\
532         type DWB_GAMUT_REMAPB_C33;\
533         type DWB_GAMUT_REMAPB_C34;\
534         type DWB_OGAM_MODE;\
535         type DWB_OGAM_SELECT;\
536         type DWB_OGAM_PWL_DISABLE;\
537         type DWB_OGAM_MODE_CURRENT;\
538         type DWB_OGAM_SELECT_CURRENT;\
539         type DWB_OGAM_LUT_INDEX;\
540         type DWB_OGAM_LUT_DATA;\
541         type DWB_OGAM_LUT_WRITE_COLOR_MASK;\
542         type DWB_OGAM_LUT_READ_COLOR_SEL;\
543         type DWB_OGAM_LUT_READ_DBG;\
544         type DWB_OGAM_LUT_HOST_SEL;\
545         type DWB_OGAM_LUT_CONFIG_MODE;\
546         type DWB_OGAM_LUT_STATUS;\
547         type DWB_OGAM_RAMA_EXP_REGION_START_B;\
548         type DWB_OGAM_RAMA_EXP_REGION_START_SEGMENT_B;\
549         type DWB_OGAM_RAMA_EXP_REGION_START_G;\
550         type DWB_OGAM_RAMA_EXP_REGION_START_SEGMENT_G;\
551         type DWB_OGAM_RAMA_EXP_REGION_START_R;\
552         type DWB_OGAM_RAMA_EXP_REGION_START_SEGMENT_R;\
553         type DWB_OGAM_RAMA_EXP_REGION_START_BASE_B;\
554         type DWB_OGAM_RAMA_EXP_REGION_START_SLOPE_B;\
555         type DWB_OGAM_RAMA_EXP_REGION_START_BASE_G;\
556         type DWB_OGAM_RAMA_EXP_REGION_START_SLOPE_G;\
557         type DWB_OGAM_RAMA_EXP_REGION_START_BASE_R;\
558         type DWB_OGAM_RAMA_EXP_REGION_START_SLOPE_R;\
559         type DWB_OGAM_RAMA_EXP_REGION_END_BASE_B;\
560         type DWB_OGAM_RAMA_EXP_REGION_END_B;\
561         type DWB_OGAM_RAMA_EXP_REGION_END_SLOPE_B;\
562         type DWB_OGAM_RAMA_EXP_REGION_END_BASE_G;\
563         type DWB_OGAM_RAMA_EXP_REGION_END_G;\
564         type DWB_OGAM_RAMA_EXP_REGION_END_SLOPE_G;\
565         type DWB_OGAM_RAMA_EXP_REGION_END_BASE_R;\
566         type DWB_OGAM_RAMA_EXP_REGION_END_R;\
567         type DWB_OGAM_RAMA_EXP_REGION_END_SLOPE_R;\
568         type DWB_OGAM_RAMA_OFFSET_B;\
569         type DWB_OGAM_RAMA_OFFSET_G;\
570         type DWB_OGAM_RAMA_OFFSET_R;\
571         type DWB_OGAM_RAMA_EXP_REGION0_LUT_OFFSET;\
572         type DWB_OGAM_RAMA_EXP_REGION0_NUM_SEGMENTS;\
573         type DWB_OGAM_RAMA_EXP_REGION1_LUT_OFFSET;\
574         type DWB_OGAM_RAMA_EXP_REGION1_NUM_SEGMENTS;\
575         type DWB_OGAM_RAMA_EXP_REGION2_LUT_OFFSET;\
576         type DWB_OGAM_RAMA_EXP_REGION2_NUM_SEGMENTS;\
577         type DWB_OGAM_RAMA_EXP_REGION3_LUT_OFFSET;\
578         type DWB_OGAM_RAMA_EXP_REGION3_NUM_SEGMENTS;\
579         type DWB_OGAM_RAMA_EXP_REGION4_LUT_OFFSET;\
580         type DWB_OGAM_RAMA_EXP_REGION4_NUM_SEGMENTS;\
581         type DWB_OGAM_RAMA_EXP_REGION5_LUT_OFFSET;\
582         type DWB_OGAM_RAMA_EXP_REGION5_NUM_SEGMENTS;\
583         type DWB_OGAM_RAMA_EXP_REGION6_LUT_OFFSET;\
584         type DWB_OGAM_RAMA_EXP_REGION6_NUM_SEGMENTS;\
585         type DWB_OGAM_RAMA_EXP_REGION7_LUT_OFFSET;\
586         type DWB_OGAM_RAMA_EXP_REGION7_NUM_SEGMENTS;\
587         type DWB_OGAM_RAMA_EXP_REGION8_LUT_OFFSET;\
588         type DWB_OGAM_RAMA_EXP_REGION8_NUM_SEGMENTS;\
589         type DWB_OGAM_RAMA_EXP_REGION9_LUT_OFFSET;\
590         type DWB_OGAM_RAMA_EXP_REGION9_NUM_SEGMENTS;\
591         type DWB_OGAM_RAMA_EXP_REGION10_LUT_OFFSET;\
592         type DWB_OGAM_RAMA_EXP_REGION10_NUM_SEGMENTS;\
593         type DWB_OGAM_RAMA_EXP_REGION11_LUT_OFFSET;\
594         type DWB_OGAM_RAMA_EXP_REGION11_NUM_SEGMENTS;\
595         type DWB_OGAM_RAMA_EXP_REGION12_LUT_OFFSET;\
596         type DWB_OGAM_RAMA_EXP_REGION12_NUM_SEGMENTS;\
597         type DWB_OGAM_RAMA_EXP_REGION13_LUT_OFFSET;\
598         type DWB_OGAM_RAMA_EXP_REGION13_NUM_SEGMENTS;\
599         type DWB_OGAM_RAMA_EXP_REGION14_LUT_OFFSET;\
600         type DWB_OGAM_RAMA_EXP_REGION14_NUM_SEGMENTS;\
601         type DWB_OGAM_RAMA_EXP_REGION15_LUT_OFFSET;\
602         type DWB_OGAM_RAMA_EXP_REGION15_NUM_SEGMENTS;\
603         type DWB_OGAM_RAMA_EXP_REGION16_LUT_OFFSET;\
604         type DWB_OGAM_RAMA_EXP_REGION16_NUM_SEGMENTS;\
605         type DWB_OGAM_RAMA_EXP_REGION17_LUT_OFFSET;\
606         type DWB_OGAM_RAMA_EXP_REGION17_NUM_SEGMENTS;\
607         type DWB_OGAM_RAMA_EXP_REGION18_LUT_OFFSET;\
608         type DWB_OGAM_RAMA_EXP_REGION18_NUM_SEGMENTS;\
609         type DWB_OGAM_RAMA_EXP_REGION19_LUT_OFFSET;\
610         type DWB_OGAM_RAMA_EXP_REGION19_NUM_SEGMENTS;\
611         type DWB_OGAM_RAMA_EXP_REGION20_LUT_OFFSET;\
612         type DWB_OGAM_RAMA_EXP_REGION20_NUM_SEGMENTS;\
613         type DWB_OGAM_RAMA_EXP_REGION21_LUT_OFFSET;\
614         type DWB_OGAM_RAMA_EXP_REGION21_NUM_SEGMENTS;\
615         type DWB_OGAM_RAMA_EXP_REGION22_LUT_OFFSET;\
616         type DWB_OGAM_RAMA_EXP_REGION22_NUM_SEGMENTS;\
617         type DWB_OGAM_RAMA_EXP_REGION23_LUT_OFFSET;\
618         type DWB_OGAM_RAMA_EXP_REGION23_NUM_SEGMENTS;\
619         type DWB_OGAM_RAMA_EXP_REGION24_LUT_OFFSET;\
620         type DWB_OGAM_RAMA_EXP_REGION24_NUM_SEGMENTS;\
621         type DWB_OGAM_RAMA_EXP_REGION25_LUT_OFFSET;\
622         type DWB_OGAM_RAMA_EXP_REGION25_NUM_SEGMENTS;\
623         type DWB_OGAM_RAMA_EXP_REGION26_LUT_OFFSET;\
624         type DWB_OGAM_RAMA_EXP_REGION26_NUM_SEGMENTS;\
625         type DWB_OGAM_RAMA_EXP_REGION27_LUT_OFFSET;\
626         type DWB_OGAM_RAMA_EXP_REGION27_NUM_SEGMENTS;\
627         type DWB_OGAM_RAMA_EXP_REGION28_LUT_OFFSET;\
628         type DWB_OGAM_RAMA_EXP_REGION28_NUM_SEGMENTS;\
629         type DWB_OGAM_RAMA_EXP_REGION29_LUT_OFFSET;\
630         type DWB_OGAM_RAMA_EXP_REGION29_NUM_SEGMENTS;\
631         type DWB_OGAM_RAMA_EXP_REGION30_LUT_OFFSET;\
632         type DWB_OGAM_RAMA_EXP_REGION30_NUM_SEGMENTS;\
633         type DWB_OGAM_RAMA_EXP_REGION31_LUT_OFFSET;\
634         type DWB_OGAM_RAMA_EXP_REGION31_NUM_SEGMENTS;\
635         type DWB_OGAM_RAMA_EXP_REGION32_LUT_OFFSET;\
636         type DWB_OGAM_RAMA_EXP_REGION32_NUM_SEGMENTS;\
637         type DWB_OGAM_RAMA_EXP_REGION33_LUT_OFFSET;\
638         type DWB_OGAM_RAMA_EXP_REGION33_NUM_SEGMENTS;\
639         type DWB_OGAM_RAMB_EXP_REGION_START_B;\
640         type DWB_OGAM_RAMB_EXP_REGION_START_SEGMENT_B;\
641         type DWB_OGAM_RAMB_EXP_REGION_START_G;\
642         type DWB_OGAM_RAMB_EXP_REGION_START_SEGMENT_G;\
643         type DWB_OGAM_RAMB_EXP_REGION_START_R;\
644         type DWB_OGAM_RAMB_EXP_REGION_START_SEGMENT_R;\
645         type DWB_OGAM_RAMB_EXP_REGION_START_BASE_B;\
646         type DWB_OGAM_RAMB_EXP_REGION_START_SLOPE_B;\
647         type DWB_OGAM_RAMB_EXP_REGION_START_BASE_G;\
648         type DWB_OGAM_RAMB_EXP_REGION_START_SLOPE_G;\
649         type DWB_OGAM_RAMB_EXP_REGION_START_BASE_R;\
650         type DWB_OGAM_RAMB_EXP_REGION_START_SLOPE_R;\
651         type DWB_OGAM_RAMB_EXP_REGION_END_BASE_B;\
652         type DWB_OGAM_RAMB_EXP_REGION_END_B;\
653         type DWB_OGAM_RAMB_EXP_REGION_END_SLOPE_B;\
654         type DWB_OGAM_RAMB_EXP_REGION_END_BASE_G;\
655         type DWB_OGAM_RAMB_EXP_REGION_END_G;\
656         type DWB_OGAM_RAMB_EXP_REGION_END_SLOPE_G;\
657         type DWB_OGAM_RAMB_EXP_REGION_END_BASE_R;\
658         type DWB_OGAM_RAMB_EXP_REGION_END_R;\
659         type DWB_OGAM_RAMB_EXP_REGION_END_SLOPE_R;\
660         type DWB_OGAM_RAMB_OFFSET_B;\
661         type DWB_OGAM_RAMB_OFFSET_G;\
662         type DWB_OGAM_RAMB_OFFSET_R;\
663         type DWB_OGAM_RAMB_EXP_REGION0_LUT_OFFSET;\
664         type DWB_OGAM_RAMB_EXP_REGION0_NUM_SEGMENTS;\
665         type DWB_OGAM_RAMB_EXP_REGION1_LUT_OFFSET;\
666         type DWB_OGAM_RAMB_EXP_REGION1_NUM_SEGMENTS;\
667         type DWB_OGAM_RAMB_EXP_REGION2_LUT_OFFSET;\
668         type DWB_OGAM_RAMB_EXP_REGION2_NUM_SEGMENTS;\
669         type DWB_OGAM_RAMB_EXP_REGION3_LUT_OFFSET;\
670         type DWB_OGAM_RAMB_EXP_REGION3_NUM_SEGMENTS;\
671         type DWB_OGAM_RAMB_EXP_REGION4_LUT_OFFSET;\
672         type DWB_OGAM_RAMB_EXP_REGION4_NUM_SEGMENTS;\
673         type DWB_OGAM_RAMB_EXP_REGION5_LUT_OFFSET;\
674         type DWB_OGAM_RAMB_EXP_REGION5_NUM_SEGMENTS;\
675         type DWB_OGAM_RAMB_EXP_REGION6_LUT_OFFSET;\
676         type DWB_OGAM_RAMB_EXP_REGION6_NUM_SEGMENTS;\
677         type DWB_OGAM_RAMB_EXP_REGION7_LUT_OFFSET;\
678         type DWB_OGAM_RAMB_EXP_REGION7_NUM_SEGMENTS;\
679         type DWB_OGAM_RAMB_EXP_REGION8_LUT_OFFSET;\
680         type DWB_OGAM_RAMB_EXP_REGION8_NUM_SEGMENTS;\
681         type DWB_OGAM_RAMB_EXP_REGION9_LUT_OFFSET;\
682         type DWB_OGAM_RAMB_EXP_REGION9_NUM_SEGMENTS;\
683         type DWB_OGAM_RAMB_EXP_REGION10_LUT_OFFSET;\
684         type DWB_OGAM_RAMB_EXP_REGION10_NUM_SEGMENTS;\
685         type DWB_OGAM_RAMB_EXP_REGION11_LUT_OFFSET;\
686         type DWB_OGAM_RAMB_EXP_REGION11_NUM_SEGMENTS;\
687         type DWB_OGAM_RAMB_EXP_REGION12_LUT_OFFSET;\
688         type DWB_OGAM_RAMB_EXP_REGION12_NUM_SEGMENTS;\
689         type DWB_OGAM_RAMB_EXP_REGION13_LUT_OFFSET;\
690         type DWB_OGAM_RAMB_EXP_REGION13_NUM_SEGMENTS;\
691         type DWB_OGAM_RAMB_EXP_REGION14_LUT_OFFSET;\
692         type DWB_OGAM_RAMB_EXP_REGION14_NUM_SEGMENTS;\
693         type DWB_OGAM_RAMB_EXP_REGION15_LUT_OFFSET;\
694         type DWB_OGAM_RAMB_EXP_REGION15_NUM_SEGMENTS;\
695         type DWB_OGAM_RAMB_EXP_REGION16_LUT_OFFSET;\
696         type DWB_OGAM_RAMB_EXP_REGION16_NUM_SEGMENTS;\
697         type DWB_OGAM_RAMB_EXP_REGION17_LUT_OFFSET;\
698         type DWB_OGAM_RAMB_EXP_REGION17_NUM_SEGMENTS;\
699         type DWB_OGAM_RAMB_EXP_REGION18_LUT_OFFSET;\
700         type DWB_OGAM_RAMB_EXP_REGION18_NUM_SEGMENTS;\
701         type DWB_OGAM_RAMB_EXP_REGION19_LUT_OFFSET;\
702         type DWB_OGAM_RAMB_EXP_REGION19_NUM_SEGMENTS;\
703         type DWB_OGAM_RAMB_EXP_REGION20_LUT_OFFSET;\
704         type DWB_OGAM_RAMB_EXP_REGION20_NUM_SEGMENTS;\
705         type DWB_OGAM_RAMB_EXP_REGION21_LUT_OFFSET;\
706         type DWB_OGAM_RAMB_EXP_REGION21_NUM_SEGMENTS;\
707         type DWB_OGAM_RAMB_EXP_REGION22_LUT_OFFSET;\
708         type DWB_OGAM_RAMB_EXP_REGION22_NUM_SEGMENTS;\
709         type DWB_OGAM_RAMB_EXP_REGION23_LUT_OFFSET;\
710         type DWB_OGAM_RAMB_EXP_REGION23_NUM_SEGMENTS;\
711         type DWB_OGAM_RAMB_EXP_REGION24_LUT_OFFSET;\
712         type DWB_OGAM_RAMB_EXP_REGION24_NUM_SEGMENTS;\
713         type DWB_OGAM_RAMB_EXP_REGION25_LUT_OFFSET;\
714         type DWB_OGAM_RAMB_EXP_REGION25_NUM_SEGMENTS;\
715         type DWB_OGAM_RAMB_EXP_REGION26_LUT_OFFSET;\
716         type DWB_OGAM_RAMB_EXP_REGION26_NUM_SEGMENTS;\
717         type DWB_OGAM_RAMB_EXP_REGION27_LUT_OFFSET;\
718         type DWB_OGAM_RAMB_EXP_REGION27_NUM_SEGMENTS;\
719         type DWB_OGAM_RAMB_EXP_REGION28_LUT_OFFSET;\
720         type DWB_OGAM_RAMB_EXP_REGION28_NUM_SEGMENTS;\
721         type DWB_OGAM_RAMB_EXP_REGION29_LUT_OFFSET;\
722         type DWB_OGAM_RAMB_EXP_REGION29_NUM_SEGMENTS;\
723         type DWB_OGAM_RAMB_EXP_REGION30_LUT_OFFSET;\
724         type DWB_OGAM_RAMB_EXP_REGION30_NUM_SEGMENTS;\
725         type DWB_OGAM_RAMB_EXP_REGION31_LUT_OFFSET;\
726         type DWB_OGAM_RAMB_EXP_REGION31_NUM_SEGMENTS;\
727         type DWB_OGAM_RAMB_EXP_REGION32_LUT_OFFSET;\
728         type DWB_OGAM_RAMB_EXP_REGION32_NUM_SEGMENTS;\
729         type DWB_OGAM_RAMB_EXP_REGION33_LUT_OFFSET;\
730         type DWB_OGAM_RAMB_EXP_REGION33_NUM_SEGMENTS;
731
732 struct dcn30_dwbc_registers {
733         /* DCN3AG */
734         /* DWB_TOP */
735         uint32_t DWB_ENABLE_CLK_CTRL;
736         uint32_t DWB_MEM_PWR_CTRL;
737         uint32_t FC_MODE_CTRL;
738         uint32_t FC_FLOW_CTRL;
739         uint32_t FC_WINDOW_START;
740         uint32_t FC_WINDOW_SIZE;
741         uint32_t FC_SOURCE_SIZE;
742         uint32_t DWB_UPDATE_CTRL;
743         uint32_t DWB_CRC_CTRL;
744         uint32_t DWB_CRC_MASK_R_G;
745         uint32_t DWB_CRC_MASK_B_A;
746         uint32_t DWB_CRC_VAL_R_G;
747         uint32_t DWB_CRC_VAL_B_A;
748         uint32_t DWB_OUT_CTRL;
749         uint32_t DWB_MMHUBBUB_BACKPRESSURE_CNT_EN;
750         uint32_t DWB_MMHUBBUB_BACKPRESSURE_CNT;
751         uint32_t DWB_HOST_READ_CONTROL;
752         uint32_t DWB_SOFT_RESET;
753
754         /* DWBSCL */
755         uint32_t DWBSCL_COEF_RAM_TAP_SELECT;
756         uint32_t DWBSCL_COEF_RAM_TAP_DATA;
757         uint32_t DWBSCL_MODE;
758         uint32_t DWBSCL_TAP_CONTROL;
759         uint32_t DWBSCL_HORZ_FILTER_SCALE_RATIO;
760         uint32_t DWBSCL_HORZ_FILTER_INIT;
761         uint32_t DWBSCL_VERT_FILTER_SCALE_RATIO;
762         uint32_t DWBSCL_VERT_FILTER_INIT;
763         uint32_t DWBSCL_BOUNDARY_CTRL;
764         uint32_t DWBSCL_DEST_SIZE;
765         uint32_t DWBSCL_OVERFLOW_STATUS;
766         uint32_t DWBSCL_OVERFLOW_COUNTER;
767
768         /* DWBCP */
769         uint32_t DWB_HDR_MULT_COEF;
770         uint32_t DWB_GAMUT_REMAP_MODE;
771         uint32_t DWB_GAMUT_REMAP_COEF_FORMAT;
772         uint32_t DWB_GAMUT_REMAPA_C11_C12;
773         uint32_t DWB_GAMUT_REMAPA_C13_C14;
774         uint32_t DWB_GAMUT_REMAPA_C21_C22;
775         uint32_t DWB_GAMUT_REMAPA_C23_C24;
776         uint32_t DWB_GAMUT_REMAPA_C31_C32;
777         uint32_t DWB_GAMUT_REMAPA_C33_C34;
778         uint32_t DWB_GAMUT_REMAPB_C11_C12;
779         uint32_t DWB_GAMUT_REMAPB_C13_C14;
780         uint32_t DWB_GAMUT_REMAPB_C21_C22;
781         uint32_t DWB_GAMUT_REMAPB_C23_C24;
782         uint32_t DWB_GAMUT_REMAPB_C31_C32;
783         uint32_t DWB_GAMUT_REMAPB_C33_C34;
784         uint32_t DWB_OGAM_CONTROL;
785         uint32_t DWB_OGAM_LUT_INDEX;
786         uint32_t DWB_OGAM_LUT_DATA;
787         uint32_t DWB_OGAM_LUT_CONTROL;
788         uint32_t DWB_OGAM_RAMA_START_CNTL_B;
789         uint32_t DWB_OGAM_RAMA_START_CNTL_G;
790         uint32_t DWB_OGAM_RAMA_START_CNTL_R;
791         uint32_t DWB_OGAM_RAMA_START_BASE_CNTL_B;
792         uint32_t DWB_OGAM_RAMA_START_SLOPE_CNTL_B;
793         uint32_t DWB_OGAM_RAMA_START_BASE_CNTL_G;
794         uint32_t DWB_OGAM_RAMA_START_SLOPE_CNTL_G;
795         uint32_t DWB_OGAM_RAMA_START_BASE_CNTL_R;
796         uint32_t DWB_OGAM_RAMA_START_SLOPE_CNTL_R;
797         uint32_t DWB_OGAM_RAMA_END_CNTL1_B;
798         uint32_t DWB_OGAM_RAMA_END_CNTL2_B;
799         uint32_t DWB_OGAM_RAMA_END_CNTL1_G;
800         uint32_t DWB_OGAM_RAMA_END_CNTL2_G;
801         uint32_t DWB_OGAM_RAMA_END_CNTL1_R;
802         uint32_t DWB_OGAM_RAMA_END_CNTL2_R;
803         uint32_t DWB_OGAM_RAMA_OFFSET_B;
804         uint32_t DWB_OGAM_RAMA_OFFSET_G;
805         uint32_t DWB_OGAM_RAMA_OFFSET_R;
806         uint32_t DWB_OGAM_RAMA_REGION_0_1;
807         uint32_t DWB_OGAM_RAMA_REGION_2_3;
808         uint32_t DWB_OGAM_RAMA_REGION_4_5;
809         uint32_t DWB_OGAM_RAMA_REGION_6_7;
810         uint32_t DWB_OGAM_RAMA_REGION_8_9;
811         uint32_t DWB_OGAM_RAMA_REGION_10_11;
812         uint32_t DWB_OGAM_RAMA_REGION_12_13;
813         uint32_t DWB_OGAM_RAMA_REGION_14_15;
814         uint32_t DWB_OGAM_RAMA_REGION_16_17;
815         uint32_t DWB_OGAM_RAMA_REGION_18_19;
816         uint32_t DWB_OGAM_RAMA_REGION_20_21;
817         uint32_t DWB_OGAM_RAMA_REGION_22_23;
818         uint32_t DWB_OGAM_RAMA_REGION_24_25;
819         uint32_t DWB_OGAM_RAMA_REGION_26_27;
820         uint32_t DWB_OGAM_RAMA_REGION_28_29;
821         uint32_t DWB_OGAM_RAMA_REGION_30_31;
822         uint32_t DWB_OGAM_RAMA_REGION_32_33;
823         uint32_t DWB_OGAM_RAMB_START_CNTL_B;
824         uint32_t DWB_OGAM_RAMB_START_CNTL_G;
825         uint32_t DWB_OGAM_RAMB_START_CNTL_R;
826         uint32_t DWB_OGAM_RAMB_START_BASE_CNTL_B;
827         uint32_t DWB_OGAM_RAMB_START_SLOPE_CNTL_B;
828         uint32_t DWB_OGAM_RAMB_START_BASE_CNTL_G;
829         uint32_t DWB_OGAM_RAMB_START_SLOPE_CNTL_G;
830         uint32_t DWB_OGAM_RAMB_START_BASE_CNTL_R;
831         uint32_t DWB_OGAM_RAMB_START_SLOPE_CNTL_R;
832         uint32_t DWB_OGAM_RAMB_END_CNTL1_B;
833         uint32_t DWB_OGAM_RAMB_END_CNTL2_B;
834         uint32_t DWB_OGAM_RAMB_END_CNTL1_G;
835         uint32_t DWB_OGAM_RAMB_END_CNTL2_G;
836         uint32_t DWB_OGAM_RAMB_END_CNTL1_R;
837         uint32_t DWB_OGAM_RAMB_END_CNTL2_R;
838         uint32_t DWB_OGAM_RAMB_OFFSET_B;
839         uint32_t DWB_OGAM_RAMB_OFFSET_G;
840         uint32_t DWB_OGAM_RAMB_OFFSET_R;
841         uint32_t DWB_OGAM_RAMB_REGION_0_1;
842         uint32_t DWB_OGAM_RAMB_REGION_2_3;
843         uint32_t DWB_OGAM_RAMB_REGION_4_5;
844         uint32_t DWB_OGAM_RAMB_REGION_6_7;
845         uint32_t DWB_OGAM_RAMB_REGION_8_9;
846         uint32_t DWB_OGAM_RAMB_REGION_10_11;
847         uint32_t DWB_OGAM_RAMB_REGION_12_13;
848         uint32_t DWB_OGAM_RAMB_REGION_14_15;
849         uint32_t DWB_OGAM_RAMB_REGION_16_17;
850         uint32_t DWB_OGAM_RAMB_REGION_18_19;
851         uint32_t DWB_OGAM_RAMB_REGION_20_21;
852         uint32_t DWB_OGAM_RAMB_REGION_22_23;
853         uint32_t DWB_OGAM_RAMB_REGION_24_25;
854         uint32_t DWB_OGAM_RAMB_REGION_26_27;
855         uint32_t DWB_OGAM_RAMB_REGION_28_29;
856         uint32_t DWB_OGAM_RAMB_REGION_30_31;
857         uint32_t DWB_OGAM_RAMB_REGION_32_33;
858 };
859
860 /* Internal enums / structs */
861 enum dwbscl_coef_filter_type_sel {
862         DWBSCL_COEF_RAM_FILTER_TYPE_VERT_RGB = 0,
863         DWBSCL_COEF_RAM_FILTER_TYPE_HORZ_RGB = 1
864 };
865
866
867 struct dcn30_dwbc_mask {
868         DWBC_REG_FIELD_LIST_DCN3_0(uint32_t);
869 };
870
871 struct dcn30_dwbc_shift {
872         DWBC_REG_FIELD_LIST_DCN3_0(uint8_t);
873 };
874
875 struct dcn30_dwbc {
876         struct dwbc base;
877         const struct dcn30_dwbc_registers *dwbc_regs;
878         const struct dcn30_dwbc_shift *dwbc_shift;
879         const struct dcn30_dwbc_mask *dwbc_mask;
880 };
881
882 void dcn30_dwbc_construct(struct dcn30_dwbc *dwbc30,
883         struct dc_context *ctx,
884         const struct dcn30_dwbc_registers *dwbc_regs,
885         const struct dcn30_dwbc_shift *dwbc_shift,
886         const struct dcn30_dwbc_mask *dwbc_mask,
887         int inst);
888
889 bool dwb3_enable(struct dwbc *dwbc, struct dc_dwb_params *params);
890
891 bool dwb3_disable(struct dwbc *dwbc);
892
893 bool dwb3_update(struct dwbc *dwbc, struct dc_dwb_params *params);
894
895 bool dwb3_is_enabled(struct dwbc *dwbc);
896
897 void dwb3_set_stereo(struct dwbc *dwbc,
898         struct dwb_stereo_params *stereo_params);
899
900 void dwb3_set_new_content(struct dwbc *dwbc,
901         bool is_new_content);
902
903 void dwb3_config_fc(struct dwbc *dwbc,
904         struct dc_dwb_params *params);
905
906 void dwb3_set_denorm(struct dwbc *dwbc, struct dc_dwb_params *params);
907
908 void dwb3_program_hdr_mult(
909         struct dwbc *dwbc,
910         const struct dc_dwb_params *params);
911
912 void dwb3_set_gamut_remap(
913         struct dwbc *dwbc,
914         const struct dc_dwb_params *params);
915
916 bool dwb3_ogam_set_input_transfer_func(
917         struct dwbc *dwbc,
918         const struct dc_transfer_func *in_transfer_func_dwb_ogam);
919
920 void dwb3_set_host_read_rate_control(struct dwbc *dwbc, bool host_read_delay);
921 #endif
922
923