dcn10_dpp.h 63 KB

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