170ccab60SHarry Wentland /*
270ccab60SHarry Wentland  * Copyright 2017 Advanced Micro Devices, Inc.
370ccab60SHarry Wentland  *
470ccab60SHarry Wentland  * Permission is hereby granted, free of charge, to any person obtaining a
570ccab60SHarry Wentland  * copy of this software and associated documentation files (the "Software"),
670ccab60SHarry Wentland  * to deal in the Software without restriction, including without limitation
770ccab60SHarry Wentland  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
870ccab60SHarry Wentland  * and/or sell copies of the Software, and to permit persons to whom the
970ccab60SHarry Wentland  * Software is furnished to do so, subject to the following conditions:
1070ccab60SHarry Wentland  *
1170ccab60SHarry Wentland  * The above copyright notice and this permission notice shall be included in
1270ccab60SHarry Wentland  * all copies or substantial portions of the Software.
1370ccab60SHarry Wentland  *
1470ccab60SHarry Wentland  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1570ccab60SHarry Wentland  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1670ccab60SHarry Wentland  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
1770ccab60SHarry Wentland  * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
1870ccab60SHarry Wentland  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
1970ccab60SHarry Wentland  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
2070ccab60SHarry Wentland  * OTHER DEALINGS IN THE SOFTWARE.
2170ccab60SHarry Wentland  *
2270ccab60SHarry Wentland  * Authors: AMD
2370ccab60SHarry Wentland  *
2470ccab60SHarry Wentland  */
2570ccab60SHarry Wentland 
2670ccab60SHarry Wentland #ifndef _DCN10_IPP_H_
2770ccab60SHarry Wentland #define _DCN10_IPP_H_
2870ccab60SHarry Wentland 
2970ccab60SHarry Wentland #include "ipp.h"
3070ccab60SHarry Wentland 
3170ccab60SHarry Wentland #define TO_DCN10_IPP(ipp)\
3270ccab60SHarry Wentland 	container_of(ipp, struct dcn10_ipp, base)
3370ccab60SHarry Wentland 
3470ccab60SHarry Wentland #define IPP_DCN10_REG_LIST(id) \
3570ccab60SHarry Wentland 	SRI(CM_ICSC_CONTROL, CM, id), \
3670ccab60SHarry Wentland 	SRI(CM_ICSC_C11_C12, CM, id), \
3770ccab60SHarry Wentland 	SRI(CM_ICSC_C13_C14, CM, id), \
3870ccab60SHarry Wentland 	SRI(CM_ICSC_C21_C22, CM, id), \
3970ccab60SHarry Wentland 	SRI(CM_ICSC_C23_C24, CM, id), \
4070ccab60SHarry Wentland 	SRI(CM_ICSC_C31_C32, CM, id), \
4170ccab60SHarry Wentland 	SRI(CM_ICSC_C33_C34, CM, id), \
4270ccab60SHarry Wentland 	SRI(CM_COMA_C11_C12, CM, id), \
4370ccab60SHarry Wentland 	SRI(CM_COMA_C13_C14, CM, id), \
4470ccab60SHarry Wentland 	SRI(CM_COMA_C21_C22, CM, id), \
4570ccab60SHarry Wentland 	SRI(CM_COMA_C23_C24, CM, id), \
4670ccab60SHarry Wentland 	SRI(CM_COMA_C31_C32, CM, id), \
4770ccab60SHarry Wentland 	SRI(CM_COMA_C33_C34, CM, id), \
4870ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_START_CNTL_B, CM, id), \
4970ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_START_CNTL_G, CM, id), \
5070ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_START_CNTL_R, CM, id), \
5170ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_SLOPE_CNTL_B, CM, id), \
5270ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_SLOPE_CNTL_G, CM, id), \
5370ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_SLOPE_CNTL_R, CM, id), \
5470ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_END_CNTL1_B, CM, id), \
5570ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_END_CNTL2_B, CM, id), \
5670ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_END_CNTL1_G, CM, id), \
5770ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_END_CNTL2_G, CM, id), \
5870ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_END_CNTL1_R, CM, id), \
5970ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_END_CNTL2_R, CM, id), \
6070ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_REGION_0_1, CM, id), \
6170ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_REGION_2_3, CM, id), \
6270ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_REGION_4_5, CM, id), \
6370ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_REGION_6_7, CM, id), \
6470ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_REGION_8_9, CM, id), \
6570ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_REGION_10_11, CM, id), \
6670ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_REGION_12_13, CM, id), \
6770ccab60SHarry Wentland 	SRI(CM_DGAM_RAMB_REGION_14_15, CM, id), \
6870ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_START_CNTL_B, CM, id), \
6970ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_START_CNTL_G, CM, id), \
7070ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_START_CNTL_R, CM, id), \
7170ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_SLOPE_CNTL_B, CM, id), \
7270ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_SLOPE_CNTL_G, CM, id), \
7370ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_SLOPE_CNTL_R, CM, id), \
7470ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_END_CNTL1_B, CM, id), \
7570ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_END_CNTL2_B, CM, id), \
7670ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_END_CNTL1_G, CM, id), \
7770ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_END_CNTL2_G, CM, id), \
7870ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_END_CNTL1_R, CM, id), \
7970ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_END_CNTL2_R, CM, id), \
8070ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_REGION_0_1, CM, id), \
8170ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_REGION_2_3, CM, id), \
8270ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_REGION_4_5, CM, id), \
8370ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_REGION_6_7, CM, id), \
8470ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_REGION_8_9, CM, id), \
8570ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_REGION_10_11, CM, id), \
8670ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_REGION_12_13, CM, id), \
8770ccab60SHarry Wentland 	SRI(CM_DGAM_RAMA_REGION_14_15, CM, id), \
8870ccab60SHarry Wentland 	SRI(CM_MEM_PWR_CTRL, CM, id), \
8970ccab60SHarry Wentland 	SRI(CM_IGAM_LUT_RW_CONTROL, CM, id), \
9070ccab60SHarry Wentland 	SRI(CM_DGAM_LUT_WRITE_EN_MASK, CM, id), \
9170ccab60SHarry Wentland 	SRI(CM_DGAM_LUT_INDEX, CM, id), \
9270ccab60SHarry Wentland 	SRI(CM_DGAM_LUT_DATA, CM, id), \
9370ccab60SHarry Wentland 	SRI(CM_CONTROL, CM, id), \
9470ccab60SHarry Wentland 	SRI(CM_DGAM_CONTROL, CM, id), \
9570ccab60SHarry Wentland 	SRI(CM_IGAM_CONTROL, CM, id), \
9670ccab60SHarry Wentland 	SRI(DPP_CONTROL, DPP_TOP, id), \
9770ccab60SHarry Wentland 	SRI(CURSOR_SETTINS, HUBPREQ, id), \
9870ccab60SHarry Wentland 	SRI(CNVC_SURFACE_PIXEL_FORMAT, CNVC_CFG, id), \
9970ccab60SHarry Wentland 	SRI(CURSOR0_CONTROL, CNVC_CUR, id), \
10070ccab60SHarry Wentland 	SRI(CURSOR0_COLOR0, CNVC_CUR, id), \
10170ccab60SHarry Wentland 	SRI(CURSOR0_COLOR1, CNVC_CUR, id), \
10270ccab60SHarry Wentland 	SRI(FORMAT_CONTROL, CNVC_CFG, id), \
10370ccab60SHarry Wentland 	SRI(CURSOR_SURFACE_ADDRESS_HIGH, CURSOR, id), \
10470ccab60SHarry Wentland 	SRI(CURSOR_SURFACE_ADDRESS, CURSOR, id), \
10570ccab60SHarry Wentland 	SRI(CURSOR_SIZE, CURSOR, id), \
10670ccab60SHarry Wentland 	SRI(CURSOR_CONTROL, CURSOR, id), \
10770ccab60SHarry Wentland 	SRI(CURSOR_POSITION, CURSOR, id), \
10870ccab60SHarry Wentland 	SRI(CURSOR_HOT_SPOT, CURSOR, id), \
10970ccab60SHarry Wentland 	SRI(CURSOR_DST_OFFSET, CURSOR, id)
11070ccab60SHarry Wentland 
11170ccab60SHarry Wentland #define IPP_SF(reg_name, field_name, post_fix)\
11270ccab60SHarry Wentland 	.field_name = reg_name ## __ ## field_name ## post_fix
11370ccab60SHarry Wentland 
11470ccab60SHarry Wentland #define IPP_DCN10_MASK_SH_LIST(mask_sh) \
11570ccab60SHarry Wentland 	IPP_SF(CM0_CM_ICSC_CONTROL, CM_ICSC_MODE, mask_sh), \
11670ccab60SHarry Wentland 	IPP_SF(CM0_CM_ICSC_C11_C12, CM_ICSC_C11, mask_sh), \
11770ccab60SHarry Wentland 	IPP_SF(CM0_CM_ICSC_C11_C12, CM_ICSC_C12, mask_sh), \
11870ccab60SHarry Wentland 	IPP_SF(CM0_CM_ICSC_C13_C14, CM_ICSC_C13, mask_sh), \
11970ccab60SHarry Wentland 	IPP_SF(CM0_CM_ICSC_C13_C14, CM_ICSC_C14, mask_sh), \
12070ccab60SHarry Wentland 	IPP_SF(CM0_CM_ICSC_C21_C22, CM_ICSC_C21, mask_sh), \
12170ccab60SHarry Wentland 	IPP_SF(CM0_CM_ICSC_C21_C22, CM_ICSC_C22, mask_sh), \
12270ccab60SHarry Wentland 	IPP_SF(CM0_CM_ICSC_C23_C24, CM_ICSC_C23, mask_sh), \
12370ccab60SHarry Wentland 	IPP_SF(CM0_CM_ICSC_C23_C24, CM_ICSC_C24, mask_sh), \
12470ccab60SHarry Wentland 	IPP_SF(CM0_CM_ICSC_C31_C32, CM_ICSC_C31, mask_sh), \
12570ccab60SHarry Wentland 	IPP_SF(CM0_CM_ICSC_C31_C32, CM_ICSC_C32, mask_sh), \
12670ccab60SHarry Wentland 	IPP_SF(CM0_CM_ICSC_C33_C34, CM_ICSC_C33, mask_sh), \
12770ccab60SHarry Wentland 	IPP_SF(CM0_CM_ICSC_C33_C34, CM_ICSC_C34, mask_sh), \
12870ccab60SHarry Wentland 	IPP_SF(CM0_CM_COMA_C11_C12, CM_COMA_C11, mask_sh), \
12970ccab60SHarry Wentland 	IPP_SF(CM0_CM_COMA_C11_C12, CM_COMA_C12, mask_sh), \
13070ccab60SHarry Wentland 	IPP_SF(CM0_CM_COMA_C13_C14, CM_COMA_C13, mask_sh), \
13170ccab60SHarry Wentland 	IPP_SF(CM0_CM_COMA_C13_C14, CM_COMA_C14, mask_sh), \
13270ccab60SHarry Wentland 	IPP_SF(CM0_CM_COMA_C21_C22, CM_COMA_C21, mask_sh), \
13370ccab60SHarry Wentland 	IPP_SF(CM0_CM_COMA_C21_C22, CM_COMA_C22, mask_sh), \
13470ccab60SHarry Wentland 	IPP_SF(CM0_CM_COMA_C23_C24, CM_COMA_C23, mask_sh), \
13570ccab60SHarry Wentland 	IPP_SF(CM0_CM_COMA_C23_C24, CM_COMA_C24, mask_sh), \
13670ccab60SHarry Wentland 	IPP_SF(CM0_CM_COMA_C31_C32, CM_COMA_C31, mask_sh), \
13770ccab60SHarry Wentland 	IPP_SF(CM0_CM_COMA_C31_C32, CM_COMA_C32, mask_sh), \
13870ccab60SHarry Wentland 	IPP_SF(CM0_CM_COMA_C33_C34, CM_COMA_C33, mask_sh), \
13970ccab60SHarry Wentland 	IPP_SF(CM0_CM_COMA_C33_C34, CM_COMA_C34, mask_sh), \
14070ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_START_CNTL_B, CM_DGAM_RAMB_EXP_REGION_START_B, mask_sh), \
14170ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_START_CNTL_B, CM_DGAM_RAMB_EXP_REGION_START_SEGMENT_B, mask_sh), \
14270ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_START_CNTL_G, CM_DGAM_RAMB_EXP_REGION_START_G, mask_sh), \
14370ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_START_CNTL_G, CM_DGAM_RAMB_EXP_REGION_START_SEGMENT_G, mask_sh), \
14470ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_START_CNTL_R, CM_DGAM_RAMB_EXP_REGION_START_R, mask_sh), \
14570ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_START_CNTL_R, CM_DGAM_RAMB_EXP_REGION_START_SEGMENT_R, mask_sh), \
14670ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_SLOPE_CNTL_B, CM_DGAM_RAMB_EXP_REGION_LINEAR_SLOPE_B, mask_sh), \
14770ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_SLOPE_CNTL_G, CM_DGAM_RAMB_EXP_REGION_LINEAR_SLOPE_G, mask_sh), \
14870ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_SLOPE_CNTL_R, CM_DGAM_RAMB_EXP_REGION_LINEAR_SLOPE_R, mask_sh), \
14970ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_END_CNTL1_B, CM_DGAM_RAMB_EXP_REGION_END_B, mask_sh), \
15070ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_END_CNTL2_B, CM_DGAM_RAMB_EXP_REGION_END_SLOPE_B, mask_sh), \
15170ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_END_CNTL2_B, CM_DGAM_RAMB_EXP_REGION_END_BASE_B, mask_sh), \
15270ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_END_CNTL1_G, CM_DGAM_RAMB_EXP_REGION_END_G, mask_sh), \
15370ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_END_CNTL2_G, CM_DGAM_RAMB_EXP_REGION_END_SLOPE_G, mask_sh), \
15470ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_END_CNTL2_G, CM_DGAM_RAMB_EXP_REGION_END_BASE_G, mask_sh), \
15570ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_END_CNTL1_R, CM_DGAM_RAMB_EXP_REGION_END_R, mask_sh), \
15670ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_END_CNTL2_R, CM_DGAM_RAMB_EXP_REGION_END_SLOPE_R, mask_sh), \
15770ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_END_CNTL2_R, CM_DGAM_RAMB_EXP_REGION_END_BASE_R, mask_sh), \
15870ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_0_1, CM_DGAM_RAMB_EXP_REGION0_LUT_OFFSET, mask_sh), \
15970ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_0_1, CM_DGAM_RAMB_EXP_REGION0_NUM_SEGMENTS, mask_sh), \
16070ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_0_1, CM_DGAM_RAMB_EXP_REGION1_LUT_OFFSET, mask_sh), \
16170ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_0_1, CM_DGAM_RAMB_EXP_REGION1_NUM_SEGMENTS, mask_sh), \
16270ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_2_3, CM_DGAM_RAMB_EXP_REGION2_LUT_OFFSET, mask_sh), \
16370ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_2_3, CM_DGAM_RAMB_EXP_REGION2_NUM_SEGMENTS, mask_sh), \
16470ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_2_3, CM_DGAM_RAMB_EXP_REGION3_LUT_OFFSET, mask_sh), \
16570ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_2_3, CM_DGAM_RAMB_EXP_REGION3_NUM_SEGMENTS, mask_sh), \
16670ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_4_5, CM_DGAM_RAMB_EXP_REGION4_LUT_OFFSET, mask_sh), \
16770ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_4_5, CM_DGAM_RAMB_EXP_REGION4_NUM_SEGMENTS, mask_sh), \
16870ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_4_5, CM_DGAM_RAMB_EXP_REGION5_LUT_OFFSET, mask_sh), \
16970ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_4_5, CM_DGAM_RAMB_EXP_REGION5_NUM_SEGMENTS, mask_sh), \
17070ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_6_7, CM_DGAM_RAMB_EXP_REGION6_LUT_OFFSET, mask_sh), \
17170ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_6_7, CM_DGAM_RAMB_EXP_REGION6_NUM_SEGMENTS, mask_sh), \
17270ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_6_7, CM_DGAM_RAMB_EXP_REGION7_LUT_OFFSET, mask_sh), \
17370ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_6_7, CM_DGAM_RAMB_EXP_REGION7_NUM_SEGMENTS, mask_sh), \
17470ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_8_9, CM_DGAM_RAMB_EXP_REGION8_LUT_OFFSET, mask_sh), \
17570ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_8_9, CM_DGAM_RAMB_EXP_REGION8_NUM_SEGMENTS, mask_sh), \
17670ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_8_9, CM_DGAM_RAMB_EXP_REGION9_LUT_OFFSET, mask_sh), \
17770ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_8_9, CM_DGAM_RAMB_EXP_REGION9_NUM_SEGMENTS, mask_sh), \
17870ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_10_11, CM_DGAM_RAMB_EXP_REGION10_LUT_OFFSET, mask_sh), \
17970ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_10_11, CM_DGAM_RAMB_EXP_REGION10_NUM_SEGMENTS, mask_sh), \
18070ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_10_11, CM_DGAM_RAMB_EXP_REGION11_LUT_OFFSET, mask_sh), \
18170ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_10_11, CM_DGAM_RAMB_EXP_REGION11_NUM_SEGMENTS, mask_sh), \
18270ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_12_13, CM_DGAM_RAMB_EXP_REGION12_LUT_OFFSET, mask_sh), \
18370ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_12_13, CM_DGAM_RAMB_EXP_REGION12_NUM_SEGMENTS, mask_sh), \
18470ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_12_13, CM_DGAM_RAMB_EXP_REGION13_LUT_OFFSET, mask_sh), \
18570ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_12_13, CM_DGAM_RAMB_EXP_REGION13_NUM_SEGMENTS, mask_sh), \
18670ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_14_15, CM_DGAM_RAMB_EXP_REGION14_LUT_OFFSET, mask_sh), \
18770ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_14_15, CM_DGAM_RAMB_EXP_REGION14_NUM_SEGMENTS, mask_sh), \
18870ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_14_15, CM_DGAM_RAMB_EXP_REGION15_LUT_OFFSET, mask_sh), \
18970ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMB_REGION_14_15, CM_DGAM_RAMB_EXP_REGION15_NUM_SEGMENTS, mask_sh), \
19070ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_START_CNTL_B, CM_DGAM_RAMA_EXP_REGION_START_B, mask_sh), \
19170ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_START_CNTL_B, CM_DGAM_RAMA_EXP_REGION_START_SEGMENT_B, mask_sh), \
19270ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_START_CNTL_G, CM_DGAM_RAMA_EXP_REGION_START_G, mask_sh), \
19370ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_START_CNTL_G, CM_DGAM_RAMA_EXP_REGION_START_SEGMENT_G, mask_sh), \
19470ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_START_CNTL_R, CM_DGAM_RAMA_EXP_REGION_START_R, mask_sh), \
19570ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_START_CNTL_R, CM_DGAM_RAMA_EXP_REGION_START_SEGMENT_R, mask_sh), \
19670ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_SLOPE_CNTL_B, CM_DGAM_RAMA_EXP_REGION_LINEAR_SLOPE_B, mask_sh), \
19770ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_SLOPE_CNTL_G, CM_DGAM_RAMA_EXP_REGION_LINEAR_SLOPE_G, mask_sh), \
19870ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_SLOPE_CNTL_R, CM_DGAM_RAMA_EXP_REGION_LINEAR_SLOPE_R, mask_sh), \
19970ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_END_CNTL1_B, CM_DGAM_RAMA_EXP_REGION_END_B, mask_sh), \
20070ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_END_CNTL2_B, CM_DGAM_RAMA_EXP_REGION_END_SLOPE_B, mask_sh), \
20170ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_END_CNTL2_B, CM_DGAM_RAMA_EXP_REGION_END_BASE_B, mask_sh), \
20270ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_END_CNTL1_G, CM_DGAM_RAMA_EXP_REGION_END_G, mask_sh), \
20370ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_END_CNTL2_G, CM_DGAM_RAMA_EXP_REGION_END_SLOPE_G, mask_sh), \
20470ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_END_CNTL2_G, CM_DGAM_RAMA_EXP_REGION_END_BASE_G, mask_sh), \
20570ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_END_CNTL1_R, CM_DGAM_RAMA_EXP_REGION_END_R, mask_sh), \
20670ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_END_CNTL2_R, CM_DGAM_RAMA_EXP_REGION_END_SLOPE_R, mask_sh), \
20770ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_END_CNTL2_R, CM_DGAM_RAMA_EXP_REGION_END_BASE_R, mask_sh), \
20870ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_0_1, CM_DGAM_RAMA_EXP_REGION0_LUT_OFFSET, mask_sh), \
20970ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_0_1, CM_DGAM_RAMA_EXP_REGION0_NUM_SEGMENTS, mask_sh), \
21070ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_0_1, CM_DGAM_RAMA_EXP_REGION1_LUT_OFFSET, mask_sh), \
21170ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_0_1, CM_DGAM_RAMA_EXP_REGION1_NUM_SEGMENTS, mask_sh), \
21270ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_2_3, CM_DGAM_RAMA_EXP_REGION2_LUT_OFFSET, mask_sh), \
21370ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_2_3, CM_DGAM_RAMA_EXP_REGION2_NUM_SEGMENTS, mask_sh), \
21470ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_2_3, CM_DGAM_RAMA_EXP_REGION3_LUT_OFFSET, mask_sh), \
21570ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_2_3, CM_DGAM_RAMA_EXP_REGION3_NUM_SEGMENTS, mask_sh), \
21670ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_4_5, CM_DGAM_RAMA_EXP_REGION4_LUT_OFFSET, mask_sh), \
21770ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_4_5, CM_DGAM_RAMA_EXP_REGION4_NUM_SEGMENTS, mask_sh), \
21870ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_4_5, CM_DGAM_RAMA_EXP_REGION5_LUT_OFFSET, mask_sh), \
21970ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_4_5, CM_DGAM_RAMA_EXP_REGION5_NUM_SEGMENTS, mask_sh), \
22070ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_6_7, CM_DGAM_RAMA_EXP_REGION6_LUT_OFFSET, mask_sh), \
22170ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_6_7, CM_DGAM_RAMA_EXP_REGION6_NUM_SEGMENTS, mask_sh), \
22270ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_6_7, CM_DGAM_RAMA_EXP_REGION7_LUT_OFFSET, mask_sh), \
22370ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_6_7, CM_DGAM_RAMA_EXP_REGION7_NUM_SEGMENTS, mask_sh), \
22470ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_8_9, CM_DGAM_RAMA_EXP_REGION8_LUT_OFFSET, mask_sh), \
22570ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_8_9, CM_DGAM_RAMA_EXP_REGION8_NUM_SEGMENTS, mask_sh), \
22670ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_8_9, CM_DGAM_RAMA_EXP_REGION9_LUT_OFFSET, mask_sh), \
22770ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_8_9, CM_DGAM_RAMA_EXP_REGION9_NUM_SEGMENTS, mask_sh), \
22870ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_10_11, CM_DGAM_RAMA_EXP_REGION10_LUT_OFFSET, mask_sh), \
22970ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_10_11, CM_DGAM_RAMA_EXP_REGION10_NUM_SEGMENTS, mask_sh), \
23070ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_10_11, CM_DGAM_RAMA_EXP_REGION11_LUT_OFFSET, mask_sh), \
23170ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_10_11, CM_DGAM_RAMA_EXP_REGION11_NUM_SEGMENTS, mask_sh), \
23270ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_12_13, CM_DGAM_RAMA_EXP_REGION12_LUT_OFFSET, mask_sh), \
23370ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_12_13, CM_DGAM_RAMA_EXP_REGION12_NUM_SEGMENTS, mask_sh), \
23470ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_12_13, CM_DGAM_RAMA_EXP_REGION13_LUT_OFFSET, mask_sh), \
23570ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_12_13, CM_DGAM_RAMA_EXP_REGION13_NUM_SEGMENTS, mask_sh), \
23670ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_14_15, CM_DGAM_RAMA_EXP_REGION14_LUT_OFFSET, mask_sh), \
23770ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_14_15, CM_DGAM_RAMA_EXP_REGION14_NUM_SEGMENTS, mask_sh), \
23870ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_14_15, CM_DGAM_RAMA_EXP_REGION15_LUT_OFFSET, mask_sh), \
23970ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_RAMA_REGION_14_15, CM_DGAM_RAMA_EXP_REGION15_NUM_SEGMENTS, mask_sh), \
24070ccab60SHarry Wentland 	IPP_SF(CM0_CM_MEM_PWR_CTRL, SHARED_MEM_PWR_DIS, mask_sh), \
24170ccab60SHarry Wentland 	IPP_SF(CM0_CM_IGAM_LUT_RW_CONTROL, CM_IGAM_LUT_HOST_EN, mask_sh), \
24270ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_LUT_WRITE_EN_MASK, CM_DGAM_LUT_WRITE_EN_MASK, mask_sh), \
24370ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_LUT_WRITE_EN_MASK, CM_DGAM_LUT_WRITE_SEL, mask_sh), \
24470ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_LUT_INDEX, CM_DGAM_LUT_INDEX, mask_sh), \
24570ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_LUT_DATA, CM_DGAM_LUT_DATA, mask_sh), \
24670ccab60SHarry Wentland 	IPP_SF(DPP_TOP0_DPP_CONTROL, DPP_CLOCK_ENABLE, mask_sh), \
24770ccab60SHarry Wentland 	IPP_SF(CM0_CM_CONTROL, CM_BYPASS_EN, mask_sh), \
24870ccab60SHarry Wentland 	IPP_SF(CNVC_CFG0_CNVC_SURFACE_PIXEL_FORMAT, CNVC_SURFACE_PIXEL_FORMAT, mask_sh), \
24970ccab60SHarry Wentland 	IPP_SF(CNVC_CFG0_FORMAT_CONTROL, CNVC_BYPASS, mask_sh), \
25070ccab60SHarry Wentland 	IPP_SF(CNVC_CFG0_FORMAT_CONTROL, ALPHA_EN, mask_sh), \
25170ccab60SHarry Wentland 	IPP_SF(CNVC_CFG0_FORMAT_CONTROL, FORMAT_EXPANSION_MODE, mask_sh), \
25270ccab60SHarry Wentland 	IPP_SF(CM0_CM_DGAM_CONTROL, CM_DGAM_LUT_MODE, mask_sh), \
25370ccab60SHarry Wentland 	IPP_SF(CM0_CM_IGAM_CONTROL, CM_IGAM_LUT_MODE, mask_sh), \
25470ccab60SHarry Wentland 	IPP_SF(HUBPREQ0_CURSOR_SETTINS, CURSOR0_DST_Y_OFFSET, mask_sh), \
25570ccab60SHarry Wentland 	IPP_SF(HUBPREQ0_CURSOR_SETTINS, CURSOR0_CHUNK_HDL_ADJUST, mask_sh), \
25670ccab60SHarry Wentland 	IPP_SF(CNVC_CUR0_CURSOR0_CONTROL, CUR0_MODE, mask_sh), \
25770ccab60SHarry Wentland 	IPP_SF(CNVC_CUR0_CURSOR0_CONTROL, CUR0_INVERT_MODE, mask_sh), \
25870ccab60SHarry Wentland 	IPP_SF(CNVC_CUR0_CURSOR0_COLOR0, CUR0_COLOR0, mask_sh), \
25970ccab60SHarry Wentland 	IPP_SF(CNVC_CUR0_CURSOR0_COLOR1, CUR0_COLOR1, mask_sh), \
26070ccab60SHarry Wentland 	IPP_SF(CNVC_CUR0_CURSOR0_CONTROL, CUR0_EXPANSION_MODE, mask_sh), \
26170ccab60SHarry Wentland 	IPP_SF(CNVC_CUR0_CURSOR0_CONTROL, CUR0_MAX, mask_sh), \
26270ccab60SHarry Wentland 	IPP_SF(CNVC_CUR0_CURSOR0_CONTROL, CUR0_MIN, mask_sh), \
26370ccab60SHarry Wentland 	IPP_SF(CURSOR0_CURSOR_SURFACE_ADDRESS_HIGH, CURSOR_SURFACE_ADDRESS_HIGH, mask_sh), \
26470ccab60SHarry Wentland 	IPP_SF(CURSOR0_CURSOR_SURFACE_ADDRESS, CURSOR_SURFACE_ADDRESS, mask_sh), \
26570ccab60SHarry Wentland 	IPP_SF(CURSOR0_CURSOR_SIZE, CURSOR_WIDTH, mask_sh), \
26670ccab60SHarry Wentland 	IPP_SF(CURSOR0_CURSOR_SIZE, CURSOR_HEIGHT, mask_sh), \
26770ccab60SHarry Wentland 	IPP_SF(CURSOR0_CURSOR_CONTROL, CURSOR_MODE, mask_sh), \
26870ccab60SHarry Wentland 	IPP_SF(CURSOR0_CURSOR_CONTROL, CURSOR_PITCH, mask_sh), \
26970ccab60SHarry Wentland 	IPP_SF(CURSOR0_CURSOR_CONTROL, CURSOR_LINES_PER_CHUNK, mask_sh), \
27070ccab60SHarry Wentland 	IPP_SF(CURSOR0_CURSOR_CONTROL, CURSOR_ENABLE, mask_sh), \
27170ccab60SHarry Wentland 	IPP_SF(CNVC_CUR0_CURSOR0_CONTROL, CUR0_ENABLE, mask_sh), \
27270ccab60SHarry Wentland 	IPP_SF(CURSOR0_CURSOR_POSITION, CURSOR_X_POSITION, mask_sh), \
27370ccab60SHarry Wentland 	IPP_SF(CURSOR0_CURSOR_POSITION, CURSOR_Y_POSITION, mask_sh), \
27470ccab60SHarry Wentland 	IPP_SF(CURSOR0_CURSOR_HOT_SPOT, CURSOR_HOT_SPOT_X, mask_sh), \
27570ccab60SHarry Wentland 	IPP_SF(CURSOR0_CURSOR_HOT_SPOT, CURSOR_HOT_SPOT_Y, mask_sh), \
27670ccab60SHarry Wentland 	IPP_SF(CURSOR0_CURSOR_DST_OFFSET, CURSOR_DST_X_OFFSET, mask_sh), \
27770ccab60SHarry Wentland 	IPP_SF(CM0_CM_IGAM_CONTROL, CM_IGAM_INPUT_FORMAT, mask_sh), \
27870ccab60SHarry Wentland 	IPP_SF(CNVC_CFG0_FORMAT_CONTROL, OUTPUT_FP, mask_sh)
27970ccab60SHarry Wentland 
28070ccab60SHarry Wentland #define IPP_DCN10_REG_FIELD_LIST(type) \
28170ccab60SHarry Wentland 	type CM_ICSC_MODE; \
28270ccab60SHarry Wentland 	type CM_ICSC_C11; \
28370ccab60SHarry Wentland 	type CM_ICSC_C12; \
28470ccab60SHarry Wentland 	type CM_ICSC_C13; \
28570ccab60SHarry Wentland 	type CM_ICSC_C14; \
28670ccab60SHarry Wentland 	type CM_ICSC_C21; \
28770ccab60SHarry Wentland 	type CM_ICSC_C22; \
28870ccab60SHarry Wentland 	type CM_ICSC_C23; \
28970ccab60SHarry Wentland 	type CM_ICSC_C24; \
29070ccab60SHarry Wentland 	type CM_ICSC_C31; \
29170ccab60SHarry Wentland 	type CM_ICSC_C32; \
29270ccab60SHarry Wentland 	type CM_ICSC_C33; \
29370ccab60SHarry Wentland 	type CM_ICSC_C34; \
29470ccab60SHarry Wentland 	type CM_COMA_C11; \
29570ccab60SHarry Wentland 	type CM_COMA_C12; \
29670ccab60SHarry Wentland 	type CM_COMA_C13; \
29770ccab60SHarry Wentland 	type CM_COMA_C14; \
29870ccab60SHarry Wentland 	type CM_COMA_C21; \
29970ccab60SHarry Wentland 	type CM_COMA_C22; \
30070ccab60SHarry Wentland 	type CM_COMA_C23; \
30170ccab60SHarry Wentland 	type CM_COMA_C24; \
30270ccab60SHarry Wentland 	type CM_COMA_C31; \
30370ccab60SHarry Wentland 	type CM_COMA_C32; \
30470ccab60SHarry Wentland 	type CM_COMA_C33; \
30570ccab60SHarry Wentland 	type CM_COMA_C34; \
30670ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION_START_B; \
30770ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION_START_SEGMENT_B; \
30870ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION_START_G; \
30970ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION_START_SEGMENT_G; \
31070ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION_START_R; \
31170ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION_START_SEGMENT_R; \
31270ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION_LINEAR_SLOPE_B; \
31370ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION_LINEAR_SLOPE_G; \
31470ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION_LINEAR_SLOPE_R; \
31570ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION_END_B; \
31670ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION_END_SLOPE_B; \
31770ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION_END_BASE_B; \
31870ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION_END_G; \
31970ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION_END_SLOPE_G; \
32070ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION_END_BASE_G; \
32170ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION_END_R; \
32270ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION_END_SLOPE_R; \
32370ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION_END_BASE_R; \
32470ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION0_LUT_OFFSET; \
32570ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION0_NUM_SEGMENTS; \
32670ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION1_LUT_OFFSET; \
32770ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION1_NUM_SEGMENTS; \
32870ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION2_LUT_OFFSET; \
32970ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION2_NUM_SEGMENTS; \
33070ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION3_LUT_OFFSET; \
33170ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION3_NUM_SEGMENTS; \
33270ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION4_LUT_OFFSET; \
33370ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION4_NUM_SEGMENTS; \
33470ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION5_LUT_OFFSET; \
33570ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION5_NUM_SEGMENTS; \
33670ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION6_LUT_OFFSET; \
33770ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION6_NUM_SEGMENTS; \
33870ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION7_LUT_OFFSET; \
33970ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION7_NUM_SEGMENTS; \
34070ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION8_LUT_OFFSET; \
34170ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION8_NUM_SEGMENTS; \
34270ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION9_LUT_OFFSET; \
34370ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION9_NUM_SEGMENTS; \
34470ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION10_LUT_OFFSET; \
34570ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION10_NUM_SEGMENTS; \
34670ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION11_LUT_OFFSET; \
34770ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION11_NUM_SEGMENTS; \
34870ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION12_LUT_OFFSET; \
34970ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION12_NUM_SEGMENTS; \
35070ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION13_LUT_OFFSET; \
35170ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION13_NUM_SEGMENTS; \
35270ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION14_LUT_OFFSET; \
35370ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION14_NUM_SEGMENTS; \
35470ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION15_LUT_OFFSET; \
35570ccab60SHarry Wentland 	type CM_DGAM_RAMB_EXP_REGION15_NUM_SEGMENTS; \
35670ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION_START_B; \
35770ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION_START_SEGMENT_B; \
35870ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION_START_G; \
35970ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION_START_SEGMENT_G; \
36070ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION_START_R; \
36170ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION_START_SEGMENT_R; \
36270ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION_LINEAR_SLOPE_B; \
36370ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION_LINEAR_SLOPE_G; \
36470ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION_LINEAR_SLOPE_R; \
36570ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION_END_B; \
36670ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION_END_SLOPE_B; \
36770ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION_END_BASE_B; \
36870ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION_END_G; \
36970ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION_END_SLOPE_G; \
37070ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION_END_BASE_G; \
37170ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION_END_R; \
37270ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION_END_SLOPE_R; \
37370ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION_END_BASE_R; \
37470ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION0_LUT_OFFSET; \
37570ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION0_NUM_SEGMENTS; \
37670ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION1_LUT_OFFSET; \
37770ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION1_NUM_SEGMENTS; \
37870ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION2_LUT_OFFSET; \
37970ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION2_NUM_SEGMENTS; \
38070ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION3_LUT_OFFSET; \
38170ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION3_NUM_SEGMENTS; \
38270ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION4_LUT_OFFSET; \
38370ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION4_NUM_SEGMENTS; \
38470ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION5_LUT_OFFSET; \
38570ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION5_NUM_SEGMENTS; \
38670ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION6_LUT_OFFSET; \
38770ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION6_NUM_SEGMENTS; \
38870ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION7_LUT_OFFSET; \
38970ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION7_NUM_SEGMENTS; \
39070ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION8_LUT_OFFSET; \
39170ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION8_NUM_SEGMENTS; \
39270ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION9_LUT_OFFSET; \
39370ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION9_NUM_SEGMENTS; \
39470ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION10_LUT_OFFSET; \
39570ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION10_NUM_SEGMENTS; \
39670ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION11_LUT_OFFSET; \
39770ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION11_NUM_SEGMENTS; \
39870ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION12_LUT_OFFSET; \
39970ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION12_NUM_SEGMENTS; \
40070ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION13_LUT_OFFSET; \
40170ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION13_NUM_SEGMENTS; \
40270ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION14_LUT_OFFSET; \
40370ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION14_NUM_SEGMENTS; \
40470ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION15_LUT_OFFSET; \
40570ccab60SHarry Wentland 	type CM_DGAM_RAMA_EXP_REGION15_NUM_SEGMENTS; \
40670ccab60SHarry Wentland 	type SHARED_MEM_PWR_DIS; \
40770ccab60SHarry Wentland 	type CM_IGAM_LUT_HOST_EN; \
40870ccab60SHarry Wentland 	type CM_DGAM_LUT_WRITE_EN_MASK; \
40970ccab60SHarry Wentland 	type CM_DGAM_LUT_WRITE_SEL; \
41070ccab60SHarry Wentland 	type CM_DGAM_LUT_INDEX; \
41170ccab60SHarry Wentland 	type CM_DGAM_LUT_DATA; \
41270ccab60SHarry Wentland 	type DPP_CLOCK_ENABLE; \
41370ccab60SHarry Wentland 	type CM_BYPASS_EN; \
41470ccab60SHarry Wentland 	type CNVC_SURFACE_PIXEL_FORMAT; \
41570ccab60SHarry Wentland 	type CNVC_BYPASS; \
41670ccab60SHarry Wentland 	type ALPHA_EN; \
41770ccab60SHarry Wentland 	type FORMAT_EXPANSION_MODE; \
41870ccab60SHarry Wentland 	type CM_DGAM_LUT_MODE; \
41970ccab60SHarry Wentland 	type CM_IGAM_LUT_MODE; \
42070ccab60SHarry Wentland 	type CURSOR0_DST_Y_OFFSET; \
42170ccab60SHarry Wentland 	type CURSOR0_CHUNK_HDL_ADJUST; \
42270ccab60SHarry Wentland 	type CUR0_MODE; \
42370ccab60SHarry Wentland 	type CUR0_INVERT_MODE; \
42470ccab60SHarry Wentland 	type CUR0_COLOR0; \
42570ccab60SHarry Wentland 	type CUR0_COLOR1; \
42670ccab60SHarry Wentland 	type CUR0_EXPANSION_MODE; \
42770ccab60SHarry Wentland 	type CUR0_MAX; \
42870ccab60SHarry Wentland 	type CUR0_MIN; \
42970ccab60SHarry Wentland 	type CURSOR_SURFACE_ADDRESS_HIGH; \
43070ccab60SHarry Wentland 	type CURSOR_SURFACE_ADDRESS; \
43170ccab60SHarry Wentland 	type CURSOR_WIDTH; \
43270ccab60SHarry Wentland 	type CURSOR_HEIGHT; \
43370ccab60SHarry Wentland 	type CURSOR_MODE; \
43470ccab60SHarry Wentland 	type CURSOR_PITCH; \
43570ccab60SHarry Wentland 	type CURSOR_LINES_PER_CHUNK; \
43670ccab60SHarry Wentland 	type CURSOR_ENABLE; \
43770ccab60SHarry Wentland 	type CUR0_ENABLE; \
43870ccab60SHarry Wentland 	type CURSOR_X_POSITION; \
43970ccab60SHarry Wentland 	type CURSOR_Y_POSITION; \
44070ccab60SHarry Wentland 	type CURSOR_HOT_SPOT_X; \
44170ccab60SHarry Wentland 	type CURSOR_HOT_SPOT_Y; \
44270ccab60SHarry Wentland 	type CURSOR_DST_X_OFFSET; \
44370ccab60SHarry Wentland 	type CM_IGAM_INPUT_FORMAT; \
44470ccab60SHarry Wentland 	type OUTPUT_FP
44570ccab60SHarry Wentland 
44670ccab60SHarry Wentland struct dcn10_ipp_shift {
44770ccab60SHarry Wentland 	IPP_DCN10_REG_FIELD_LIST(uint8_t);
44870ccab60SHarry Wentland };
44970ccab60SHarry Wentland 
45070ccab60SHarry Wentland struct dcn10_ipp_mask {
45170ccab60SHarry Wentland 	IPP_DCN10_REG_FIELD_LIST(uint32_t);
45270ccab60SHarry Wentland };
45370ccab60SHarry Wentland 
45470ccab60SHarry Wentland struct dcn10_ipp_registers {
45570ccab60SHarry Wentland 	uint32_t CM_ICSC_CONTROL;
45670ccab60SHarry Wentland 	uint32_t CM_ICSC_C11_C12;
45770ccab60SHarry Wentland 	uint32_t CM_ICSC_C13_C14;
45870ccab60SHarry Wentland 	uint32_t CM_ICSC_C21_C22;
45970ccab60SHarry Wentland 	uint32_t CM_ICSC_C23_C24;
46070ccab60SHarry Wentland 	uint32_t CM_ICSC_C31_C32;
46170ccab60SHarry Wentland 	uint32_t CM_ICSC_C33_C34;
46270ccab60SHarry Wentland 	uint32_t CM_COMA_C11_C12;
46370ccab60SHarry Wentland 	uint32_t CM_COMA_C13_C14;
46470ccab60SHarry Wentland 	uint32_t CM_COMA_C21_C22;
46570ccab60SHarry Wentland 	uint32_t CM_COMA_C23_C24;
46670ccab60SHarry Wentland 	uint32_t CM_COMA_C31_C32;
46770ccab60SHarry Wentland 	uint32_t CM_COMA_C33_C34;
46870ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_START_CNTL_B;
46970ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_START_CNTL_G;
47070ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_START_CNTL_R;
47170ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_SLOPE_CNTL_B;
47270ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_SLOPE_CNTL_G;
47370ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_SLOPE_CNTL_R;
47470ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_END_CNTL1_B;
47570ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_END_CNTL2_B;
47670ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_END_CNTL1_G;
47770ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_END_CNTL2_G;
47870ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_END_CNTL1_R;
47970ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_END_CNTL2_R;
48070ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_REGION_0_1;
48170ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_REGION_2_3;
48270ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_REGION_4_5;
48370ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_REGION_6_7;
48470ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_REGION_8_9;
48570ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_REGION_10_11;
48670ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_REGION_12_13;
48770ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMB_REGION_14_15;
48870ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_START_CNTL_B;
48970ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_START_CNTL_G;
49070ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_START_CNTL_R;
49170ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_SLOPE_CNTL_B;
49270ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_SLOPE_CNTL_G;
49370ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_SLOPE_CNTL_R;
49470ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_END_CNTL1_B;
49570ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_END_CNTL2_B;
49670ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_END_CNTL1_G;
49770ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_END_CNTL2_G;
49870ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_END_CNTL1_R;
49970ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_END_CNTL2_R;
50070ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_REGION_0_1;
50170ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_REGION_2_3;
50270ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_REGION_4_5;
50370ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_REGION_6_7;
50470ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_REGION_8_9;
50570ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_REGION_10_11;
50670ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_REGION_12_13;
50770ccab60SHarry Wentland 	uint32_t CM_DGAM_RAMA_REGION_14_15;
50870ccab60SHarry Wentland 	uint32_t CM_MEM_PWR_CTRL;
50970ccab60SHarry Wentland 	uint32_t CM_IGAM_LUT_RW_CONTROL;
51070ccab60SHarry Wentland 	uint32_t CM_DGAM_LUT_WRITE_EN_MASK;
51170ccab60SHarry Wentland 	uint32_t CM_DGAM_LUT_INDEX;
51270ccab60SHarry Wentland 	uint32_t CM_DGAM_LUT_DATA;
51370ccab60SHarry Wentland 	uint32_t CM_CONTROL;
51470ccab60SHarry Wentland 	uint32_t CM_DGAM_CONTROL;
51570ccab60SHarry Wentland 	uint32_t CM_IGAM_CONTROL;
51670ccab60SHarry Wentland 	uint32_t DPP_CONTROL;
51770ccab60SHarry Wentland 	uint32_t CURSOR_SETTINS;
51870ccab60SHarry Wentland 	uint32_t CNVC_SURFACE_PIXEL_FORMAT;
51970ccab60SHarry Wentland 	uint32_t CURSOR0_CONTROL;
52070ccab60SHarry Wentland 	uint32_t CURSOR0_COLOR0;
52170ccab60SHarry Wentland 	uint32_t CURSOR0_COLOR1;
52270ccab60SHarry Wentland 	uint32_t FORMAT_CONTROL;
52370ccab60SHarry Wentland 	uint32_t CURSOR_SURFACE_ADDRESS_HIGH;
52470ccab60SHarry Wentland 	uint32_t CURSOR_SURFACE_ADDRESS;
52570ccab60SHarry Wentland 	uint32_t CURSOR_SIZE;
52670ccab60SHarry Wentland 	uint32_t CURSOR_CONTROL;
52770ccab60SHarry Wentland 	uint32_t CURSOR_POSITION;
52870ccab60SHarry Wentland 	uint32_t CURSOR_HOT_SPOT;
52970ccab60SHarry Wentland 	uint32_t CURSOR_DST_OFFSET;
53070ccab60SHarry Wentland };
53170ccab60SHarry Wentland 
53270ccab60SHarry Wentland struct dcn10_ipp {
53370ccab60SHarry Wentland 	struct input_pixel_processor base;
53470ccab60SHarry Wentland 
53570ccab60SHarry Wentland 	const struct dcn10_ipp_registers *regs;
53670ccab60SHarry Wentland 	const struct dcn10_ipp_shift *ipp_shift;
53770ccab60SHarry Wentland 	const struct dcn10_ipp_mask *ipp_mask;
53870ccab60SHarry Wentland 
53970ccab60SHarry Wentland 	struct dc_cursor_attributes curs_attr;
54070ccab60SHarry Wentland };
54170ccab60SHarry Wentland 
54270ccab60SHarry Wentland void dcn10_ipp_construct(struct dcn10_ipp *ippn10,
54370ccab60SHarry Wentland 	struct dc_context *ctx,
54470ccab60SHarry Wentland 	int inst,
54570ccab60SHarry Wentland 	const struct dcn10_ipp_registers *regs,
54670ccab60SHarry Wentland 	const struct dcn10_ipp_shift *ipp_shift,
54770ccab60SHarry Wentland 	const struct dcn10_ipp_mask *ipp_mask);
54870ccab60SHarry Wentland 
54970ccab60SHarry Wentland #endif /* _DCN10_IPP_H_ */
550