dcn10_dpp.h 63 KB

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