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