Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/msm: resync generated headers

resync to latest envytools db, add mdp5 registers

Signed-off-by: Rob Clark <robdclark@gmail.com>

Rob Clark facb4f4e 2e54a92f

+1525 -243
+105 -20
drivers/gpu/drm/msm/adreno/a2xx.xml.h
··· 8 8 git clone https://github.com/freedreno/envytools.git 9 9 10 10 The rules-ng-ng source files this header was generated from are: 11 - - /home/robclark/src/freedreno/envytools/rnndb/adreno.xml ( 327 bytes, from 2013-07-05 19:21:12) 12 - - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) 13 - - /home/robclark/src/freedreno/envytools/rnndb/a2xx/a2xx.xml ( 31003 bytes, from 2013-09-19 18:50:16) 14 - - /home/robclark/src/freedreno/envytools/rnndb/adreno_common.xml ( 8983 bytes, from 2013-07-24 01:38:36) 15 - - /home/robclark/src/freedreno/envytools/rnndb/adreno_pm4.xml ( 9759 bytes, from 2013-09-10 00:52:33) 16 - - /home/robclark/src/freedreno/envytools/rnndb/a3xx/a3xx.xml ( 51983 bytes, from 2013-09-10 00:52:32) 11 + - /home/robclark/src/freedreno/envytools/rnndb/adreno.xml ( 364 bytes, from 2013-11-30 14:47:15) 12 + - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) 13 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/a2xx.xml ( 32814 bytes, from 2013-11-30 15:07:33) 14 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_common.xml ( 8900 bytes, from 2013-10-22 23:57:49) 15 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_pm4.xml ( 10574 bytes, from 2013-11-13 05:44:45) 16 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/a3xx.xml ( 53644 bytes, from 2013-11-30 15:07:33) 17 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/a4xx.xml ( 8344 bytes, from 2013-11-30 14:49:47) 17 18 18 19 Copyright (C) 2013 by the following authors: 19 20 - Rob Clark <robdclark@gmail.com> (robclark) ··· 203 202 SAMPLE_0123 = 6, 204 203 }; 205 204 205 + enum adreno_mmu_clnt_beh { 206 + BEH_NEVR = 0, 207 + BEH_TRAN_RNG = 1, 208 + BEH_TRAN_FLT = 2, 209 + }; 210 + 206 211 enum sq_tex_clamp { 207 212 SQ_TEX_WRAP = 0, 208 213 SQ_TEX_MIRROR = 1, ··· 244 237 #define REG_A2XX_CP_PFP_UCODE_ADDR 0x000000c0 245 238 246 239 #define REG_A2XX_CP_PFP_UCODE_DATA 0x000000c1 240 + 241 + #define REG_A2XX_MH_MMU_CONFIG 0x00000040 242 + #define A2XX_MH_MMU_CONFIG_MMU_ENABLE 0x00000001 243 + #define A2XX_MH_MMU_CONFIG_SPLIT_MODE_ENABLE 0x00000002 244 + #define A2XX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR__MASK 0x00000030 245 + #define A2XX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR__SHIFT 4 246 + static inline uint32_t A2XX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 247 + { 248 + return ((val) << A2XX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR__MASK; 249 + } 250 + #define A2XX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR__MASK 0x000000c0 251 + #define A2XX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR__SHIFT 6 252 + static inline uint32_t A2XX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 253 + { 254 + return ((val) << A2XX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR__MASK; 255 + } 256 + #define A2XX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR__MASK 0x00000300 257 + #define A2XX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR__SHIFT 8 258 + static inline uint32_t A2XX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 259 + { 260 + return ((val) << A2XX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR__MASK; 261 + } 262 + #define A2XX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR__MASK 0x00000c00 263 + #define A2XX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR__SHIFT 10 264 + static inline uint32_t A2XX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 265 + { 266 + return ((val) << A2XX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR__MASK; 267 + } 268 + #define A2XX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR__MASK 0x00003000 269 + #define A2XX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR__SHIFT 12 270 + static inline uint32_t A2XX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 271 + { 272 + return ((val) << A2XX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR__MASK; 273 + } 274 + #define A2XX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR__MASK 0x0000c000 275 + #define A2XX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR__SHIFT 14 276 + static inline uint32_t A2XX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 277 + { 278 + return ((val) << A2XX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR__MASK; 279 + } 280 + #define A2XX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR__MASK 0x00030000 281 + #define A2XX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR__SHIFT 16 282 + static inline uint32_t A2XX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 283 + { 284 + return ((val) << A2XX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR__MASK; 285 + } 286 + #define A2XX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR__MASK 0x000c0000 287 + #define A2XX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR__SHIFT 18 288 + static inline uint32_t A2XX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 289 + { 290 + return ((val) << A2XX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR__MASK; 291 + } 292 + #define A2XX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR__MASK 0x00300000 293 + #define A2XX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR__SHIFT 20 294 + static inline uint32_t A2XX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 295 + { 296 + return ((val) << A2XX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR__MASK; 297 + } 298 + #define A2XX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR__MASK 0x00c00000 299 + #define A2XX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR__SHIFT 22 300 + static inline uint32_t A2XX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 301 + { 302 + return ((val) << A2XX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR__MASK; 303 + } 304 + #define A2XX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR__MASK 0x03000000 305 + #define A2XX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR__SHIFT 24 306 + static inline uint32_t A2XX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 307 + { 308 + return ((val) << A2XX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR__MASK; 309 + } 310 + 311 + #define REG_A2XX_MH_MMU_VA_RANGE 0x00000041 312 + 313 + #define REG_A2XX_MH_MMU_PT_BASE 0x00000042 314 + 315 + #define REG_A2XX_MH_MMU_PAGE_FAULT 0x00000043 316 + 317 + #define REG_A2XX_MH_MMU_TRAN_ERROR 0x00000044 318 + 319 + #define REG_A2XX_MH_MMU_INVALIDATE 0x00000045 320 + 321 + #define REG_A2XX_MH_MMU_MPU_BASE 0x00000046 322 + 323 + #define REG_A2XX_MH_MMU_MPU_END 0x00000047 324 + 325 + #define REG_A2XX_NQWAIT_UNTIL 0x00000394 247 326 248 327 #define REG_A2XX_RBBM_PERFCOUNTER1_SELECT 0x00000395 249 328 ··· 368 275 #define REG_A2XX_CP_PERFCOUNTER_LO 0x00000446 369 276 370 277 #define REG_A2XX_CP_PERFCOUNTER_HI 0x00000447 371 - 372 - #define REG_A2XX_CP_ST_BASE 0x0000044d 373 - 374 - #define REG_A2XX_CP_ST_BUFSZ 0x0000044e 375 - 376 - #define REG_A2XX_CP_IB1_BASE 0x00000458 377 - 378 - #define REG_A2XX_CP_IB1_BUFSZ 0x00000459 379 - 380 - #define REG_A2XX_CP_IB2_BASE 0x0000045a 381 - 382 - #define REG_A2XX_CP_IB2_BUFSZ 0x0000045b 383 - 384 - #define REG_A2XX_CP_STAT 0x0000047f 385 278 386 279 #define REG_A2XX_RBBM_STATUS 0x000005d0 387 280 #define A2XX_RBBM_STATUS_CMDFIFO_AVAIL__MASK 0x0000001f ··· 886 807 #define REG_A2XX_SQ_PS_PROGRAM 0x000021f6 887 808 888 809 #define REG_A2XX_SQ_VS_PROGRAM 0x000021f7 810 + 811 + #define REG_A2XX_VGT_EVENT_INITIATOR 0x000021f9 812 + 813 + #define REG_A2XX_VGT_DRAW_INITIATOR 0x000021fc 814 + 815 + #define REG_A2XX_VGT_IMMED_DATA 0x000021fd 889 816 890 817 #define REG_A2XX_RB_DEPTHCONTROL 0x00002200 891 818 #define A2XX_RB_DEPTHCONTROL_STENCIL_ENABLE 0x00000001
+80 -36
drivers/gpu/drm/msm/adreno/a3xx.xml.h
··· 8 8 git clone https://github.com/freedreno/envytools.git 9 9 10 10 The rules-ng-ng source files this header was generated from are: 11 - - /home/robclark/src/freedreno/envytools/rnndb/adreno.xml ( 327 bytes, from 2013-07-05 19:21:12) 12 - - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) 13 - - /home/robclark/src/freedreno/envytools/rnndb/a2xx/a2xx.xml ( 31003 bytes, from 2013-09-19 18:50:16) 14 - - /home/robclark/src/freedreno/envytools/rnndb/adreno_common.xml ( 8983 bytes, from 2013-07-24 01:38:36) 15 - - /home/robclark/src/freedreno/envytools/rnndb/adreno_pm4.xml ( 9759 bytes, from 2013-09-10 00:52:33) 16 - - /home/robclark/src/freedreno/envytools/rnndb/a3xx/a3xx.xml ( 51983 bytes, from 2013-09-10 00:52:32) 11 + - /home/robclark/src/freedreno/envytools/rnndb/adreno.xml ( 364 bytes, from 2013-11-30 14:47:15) 12 + - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) 13 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/a2xx.xml ( 32814 bytes, from 2013-11-30 15:07:33) 14 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_common.xml ( 8900 bytes, from 2013-10-22 23:57:49) 15 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_pm4.xml ( 10574 bytes, from 2013-11-13 05:44:45) 16 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/a3xx.xml ( 53644 bytes, from 2013-11-30 15:07:33) 17 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/a4xx.xml ( 8344 bytes, from 2013-11-30 14:49:47) 17 18 18 19 Copyright (C) 2013 by the following authors: 19 20 - Rob Clark <robdclark@gmail.com> (robclark) ··· 293 292 #define A3XX_RBBM_STATUS_GPU_BUSY_NOHC 0x40000000 294 293 #define A3XX_RBBM_STATUS_GPU_BUSY 0x80000000 295 294 295 + #define REG_A3XX_RBBM_NQWAIT_UNTIL 0x00000040 296 + 296 297 #define REG_A3XX_RBBM_WAIT_IDLE_CLOCKS_CTL 0x00000033 297 298 298 299 #define REG_A3XX_RBBM_INTERFACE_HANG_INT_CTL 0x00000050 ··· 306 303 #define REG_A3XX_RBBM_INTERFACE_HANG_MASK_CTL2 0x00000057 307 304 308 305 #define REG_A3XX_RBBM_INTERFACE_HANG_MASK_CTL3 0x0000005a 306 + 307 + #define REG_A3XX_RBBM_INT_SET_CMD 0x00000060 309 308 310 309 #define REG_A3XX_RBBM_INT_CLEAR_CMD 0x00000061 311 310 ··· 942 937 return ((util_float_to_half(val)) << A3XX_RB_BLEND_ALPHA_FLOAT__SHIFT) & A3XX_RB_BLEND_ALPHA_FLOAT__MASK; 943 938 } 944 939 945 - #define REG_A3XX_UNKNOWN_20E8 0x000020e8 940 + #define REG_A3XX_RB_CLEAR_COLOR_DW0 0x000020e8 946 941 947 - #define REG_A3XX_UNKNOWN_20E9 0x000020e9 942 + #define REG_A3XX_RB_CLEAR_COLOR_DW1 0x000020e9 948 943 949 - #define REG_A3XX_UNKNOWN_20EA 0x000020ea 944 + #define REG_A3XX_RB_CLEAR_COLOR_DW2 0x000020ea 950 945 951 - #define REG_A3XX_UNKNOWN_20EB 0x000020eb 946 + #define REG_A3XX_RB_CLEAR_COLOR_DW3 0x000020eb 952 947 953 948 #define REG_A3XX_RB_COPY_CONTROL 0x000020ec 954 949 #define A3XX_RB_COPY_CONTROL_MSAA_RESOLVE__MASK 0x00000003 ··· 1031 1026 #define A3XX_RB_DEPTH_CONTROL_BF_ENABLE 0x00000080 1032 1027 #define A3XX_RB_DEPTH_CONTROL_Z_TEST_ENABLE 0x80000000 1033 1028 1034 - #define REG_A3XX_UNKNOWN_2101 0x00002101 1029 + #define REG_A3XX_RB_DEPTH_CLEAR 0x00002101 1035 1030 1036 1031 #define REG_A3XX_RB_DEPTH_INFO 0x00002102 1037 1032 #define A3XX_RB_DEPTH_INFO_DEPTH_FORMAT__MASK 0x00000001 ··· 1108 1103 return ((val) << A3XX_RB_STENCIL_CONTROL_ZFAIL_BF__SHIFT) & A3XX_RB_STENCIL_CONTROL_ZFAIL_BF__MASK; 1109 1104 } 1110 1105 1111 - #define REG_A3XX_UNKNOWN_2105 0x00002105 1106 + #define REG_A3XX_RB_STENCIL_CLEAR 0x00002105 1112 1107 1113 - #define REG_A3XX_UNKNOWN_2106 0x00002106 1108 + #define REG_A3XX_RB_STENCIL_BUF_INFO 0x00002106 1114 1109 1115 - #define REG_A3XX_UNKNOWN_2107 0x00002107 1110 + #define REG_A3XX_RB_STENCIL_BUF_PITCH 0x00002107 1116 1111 1117 1112 #define REG_A3XX_RB_STENCILREFMASK 0x00002108 1118 1113 #define A3XX_RB_STENCILREFMASK_STENCILREF__MASK 0x000000ff ··· 1154 1149 return ((val) << A3XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK__SHIFT) & A3XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK__MASK; 1155 1150 } 1156 1151 1157 - #define REG_A3XX_PA_SC_WINDOW_OFFSET 0x0000210e 1158 - #define A3XX_PA_SC_WINDOW_OFFSET_X__MASK 0x0000ffff 1159 - #define A3XX_PA_SC_WINDOW_OFFSET_X__SHIFT 0 1160 - static inline uint32_t A3XX_PA_SC_WINDOW_OFFSET_X(uint32_t val) 1152 + #define REG_A3XX_RB_LRZ_VSC_CONTROL 0x0000210c 1153 + #define A3XX_RB_LRZ_VSC_CONTROL_BINNING_ENABLE 0x00000002 1154 + 1155 + #define REG_A3XX_RB_WINDOW_OFFSET 0x0000210e 1156 + #define A3XX_RB_WINDOW_OFFSET_X__MASK 0x0000ffff 1157 + #define A3XX_RB_WINDOW_OFFSET_X__SHIFT 0 1158 + static inline uint32_t A3XX_RB_WINDOW_OFFSET_X(uint32_t val) 1161 1159 { 1162 - return ((val) << A3XX_PA_SC_WINDOW_OFFSET_X__SHIFT) & A3XX_PA_SC_WINDOW_OFFSET_X__MASK; 1160 + return ((val) << A3XX_RB_WINDOW_OFFSET_X__SHIFT) & A3XX_RB_WINDOW_OFFSET_X__MASK; 1163 1161 } 1164 - #define A3XX_PA_SC_WINDOW_OFFSET_Y__MASK 0xffff0000 1165 - #define A3XX_PA_SC_WINDOW_OFFSET_Y__SHIFT 16 1166 - static inline uint32_t A3XX_PA_SC_WINDOW_OFFSET_Y(uint32_t val) 1162 + #define A3XX_RB_WINDOW_OFFSET_Y__MASK 0xffff0000 1163 + #define A3XX_RB_WINDOW_OFFSET_Y__SHIFT 16 1164 + static inline uint32_t A3XX_RB_WINDOW_OFFSET_Y(uint32_t val) 1167 1165 { 1168 - return ((val) << A3XX_PA_SC_WINDOW_OFFSET_Y__SHIFT) & A3XX_PA_SC_WINDOW_OFFSET_Y__MASK; 1166 + return ((val) << A3XX_RB_WINDOW_OFFSET_Y__SHIFT) & A3XX_RB_WINDOW_OFFSET_Y__MASK; 1169 1167 } 1168 + 1169 + #define REG_A3XX_RB_SAMPLE_COUNT_CONTROL 0x00002110 1170 + 1171 + #define REG_A3XX_RB_SAMPLE_COUNT_ADDR 0x00002111 1172 + 1173 + #define REG_A3XX_RB_Z_CLAMP_MIN 0x00002114 1174 + 1175 + #define REG_A3XX_RB_Z_CLAMP_MAX 0x00002115 1170 1176 1171 1177 #define REG_A3XX_PC_VSTREAM_CONTROL 0x000021e4 1172 1178 ··· 1324 1308 #define REG_A3XX_HLSQ_CL_KERNEL_CONST_REG 0x00002214 1325 1309 1326 1310 #define REG_A3XX_HLSQ_CL_KERNEL_GROUP_X_REG 0x00002215 1311 + 1312 + #define REG_A3XX_HLSQ_CL_KERNEL_GROUP_Y_REG 0x00002216 1327 1313 1328 1314 #define REG_A3XX_HLSQ_CL_KERNEL_GROUP_Z_REG 0x00002217 1329 1315 ··· 1509 1491 1510 1492 #define REG_A3XX_SP_SP_CTRL_REG 0x000022c0 1511 1493 #define A3XX_SP_SP_CTRL_REG_RESOLVE 0x00010000 1512 - #define A3XX_SP_SP_CTRL_REG_CONSTMODE__MASK 0x000c0000 1494 + #define A3XX_SP_SP_CTRL_REG_CONSTMODE__MASK 0x00040000 1513 1495 #define A3XX_SP_SP_CTRL_REG_CONSTMODE__SHIFT 18 1514 1496 static inline uint32_t A3XX_SP_SP_CTRL_REG_CONSTMODE(uint32_t val) 1515 1497 { 1516 1498 return ((val) << A3XX_SP_SP_CTRL_REG_CONSTMODE__SHIFT) & A3XX_SP_SP_CTRL_REG_CONSTMODE__MASK; 1517 1499 } 1500 + #define A3XX_SP_SP_CTRL_REG_BINNING 0x00080000 1518 1501 #define A3XX_SP_SP_CTRL_REG_SLEEPMODE__MASK 0x00300000 1519 1502 #define A3XX_SP_SP_CTRL_REG_SLEEPMODE__SHIFT 20 1520 1503 static inline uint32_t A3XX_SP_SP_CTRL_REG_SLEEPMODE(uint32_t val) ··· 1688 1669 1689 1670 #define REG_A3XX_SP_VS_OBJ_START_REG 0x000022d5 1690 1671 1691 - #define REG_A3XX_SP_VS_PVT_MEM_CTRL_REG 0x000022d6 1672 + #define REG_A3XX_SP_VS_PVT_MEM_PARAM_REG 0x000022d6 1692 1673 1693 1674 #define REG_A3XX_SP_VS_PVT_MEM_ADDR_REG 0x000022d7 1694 1675 ··· 1791 1772 1792 1773 #define REG_A3XX_SP_FS_OBJ_START_REG 0x000022e3 1793 1774 1794 - #define REG_A3XX_SP_FS_PVT_MEM_CTRL_REG 0x000022e4 1775 + #define REG_A3XX_SP_FS_PVT_MEM_PARAM_REG 0x000022e4 1795 1776 1796 1777 #define REG_A3XX_SP_FS_PVT_MEM_ADDR_REG 0x000022e5 1797 1778 ··· 1962 1943 1963 1944 static inline uint32_t REG_A3XX_VSC_PIPE_DATA_LENGTH(uint32_t i0) { return 0x00000c08 + 0x3*i0; } 1964 1945 1946 + #define REG_A3XX_VSC_BIN_CONTROL 0x00000c3c 1947 + #define A3XX_VSC_BIN_CONTROL_BINNING_ENABLE 0x00000001 1948 + 1965 1949 #define REG_A3XX_UNKNOWN_0C3D 0x00000c3d 1966 1950 1967 1951 #define REG_A3XX_PC_PERFCOUNTER0_SELECT 0x00000c48 ··· 1975 1953 1976 1954 #define REG_A3XX_PC_PERFCOUNTER3_SELECT 0x00000c4b 1977 1955 1978 - #define REG_A3XX_UNKNOWN_0C81 0x00000c81 1956 + #define REG_A3XX_GRAS_TSE_DEBUG_ECO 0x00000c81 1979 1957 1980 1958 #define REG_A3XX_GRAS_PERFCOUNTER0_SELECT 0x00000c88 1981 1959 ··· 1997 1975 1998 1976 #define REG_A3XX_RB_GMEM_BASE_ADDR 0x00000cc0 1999 1977 1978 + #define REG_A3XX_RB_DEBUG_ECO_CONTROLS_ADDR 0x00000cc1 1979 + 2000 1980 #define REG_A3XX_RB_PERFCOUNTER0_SELECT 0x00000cc6 2001 1981 2002 1982 #define REG_A3XX_RB_PERFCOUNTER1_SELECT 0x00000cc7 2003 1983 2004 - #define REG_A3XX_RB_WINDOW_SIZE 0x00000ce0 2005 - #define A3XX_RB_WINDOW_SIZE_WIDTH__MASK 0x00003fff 2006 - #define A3XX_RB_WINDOW_SIZE_WIDTH__SHIFT 0 2007 - static inline uint32_t A3XX_RB_WINDOW_SIZE_WIDTH(uint32_t val) 1984 + #define REG_A3XX_RB_FRAME_BUFFER_DIMENSION 0x00000ce0 1985 + #define A3XX_RB_FRAME_BUFFER_DIMENSION_WIDTH__MASK 0x00003fff 1986 + #define A3XX_RB_FRAME_BUFFER_DIMENSION_WIDTH__SHIFT 0 1987 + static inline uint32_t A3XX_RB_FRAME_BUFFER_DIMENSION_WIDTH(uint32_t val) 2008 1988 { 2009 - return ((val) << A3XX_RB_WINDOW_SIZE_WIDTH__SHIFT) & A3XX_RB_WINDOW_SIZE_WIDTH__MASK; 1989 + return ((val) << A3XX_RB_FRAME_BUFFER_DIMENSION_WIDTH__SHIFT) & A3XX_RB_FRAME_BUFFER_DIMENSION_WIDTH__MASK; 2010 1990 } 2011 - #define A3XX_RB_WINDOW_SIZE_HEIGHT__MASK 0x0fffc000 2012 - #define A3XX_RB_WINDOW_SIZE_HEIGHT__SHIFT 14 2013 - static inline uint32_t A3XX_RB_WINDOW_SIZE_HEIGHT(uint32_t val) 1991 + #define A3XX_RB_FRAME_BUFFER_DIMENSION_HEIGHT__MASK 0x0fffc000 1992 + #define A3XX_RB_FRAME_BUFFER_DIMENSION_HEIGHT__SHIFT 14 1993 + static inline uint32_t A3XX_RB_FRAME_BUFFER_DIMENSION_HEIGHT(uint32_t val) 2014 1994 { 2015 - return ((val) << A3XX_RB_WINDOW_SIZE_HEIGHT__SHIFT) & A3XX_RB_WINDOW_SIZE_HEIGHT__MASK; 1995 + return ((val) << A3XX_RB_FRAME_BUFFER_DIMENSION_HEIGHT__SHIFT) & A3XX_RB_FRAME_BUFFER_DIMENSION_HEIGHT__MASK; 2016 1996 } 2017 1997 2018 1998 #define REG_A3XX_HLSQ_PERFCOUNTER0_SELECT 0x00000e00 ··· 2112 2088 2113 2089 #define REG_A3XX_TP_PERFCOUNTER5_SELECT 0x00000f09 2114 2090 2091 + #define REG_A3XX_VGT_CL_INITIATOR 0x000021f0 2092 + 2093 + #define REG_A3XX_VGT_EVENT_INITIATOR 0x000021f9 2094 + 2095 + #define REG_A3XX_VGT_DRAW_INITIATOR 0x000021fc 2096 + 2097 + #define REG_A3XX_VGT_IMMED_DATA 0x000021fd 2098 + 2115 2099 #define REG_A3XX_TEX_SAMP_0 0x00000000 2116 2100 #define A3XX_TEX_SAMP_0_MIPFILTER_LINEAR 0x00000002 2117 2101 #define A3XX_TEX_SAMP_0_XY_MAG__MASK 0x0000000c ··· 2155 2123 #define A3XX_TEX_SAMP_0_UNNORM_COORDS 0x80000000 2156 2124 2157 2125 #define REG_A3XX_TEX_SAMP_1 0x00000001 2126 + #define A3XX_TEX_SAMP_1_MAX_LOD__MASK 0x003ff000 2127 + #define A3XX_TEX_SAMP_1_MAX_LOD__SHIFT 12 2128 + static inline uint32_t A3XX_TEX_SAMP_1_MAX_LOD(float val) 2129 + { 2130 + return ((((uint32_t)(val * 12.0))) << A3XX_TEX_SAMP_1_MAX_LOD__SHIFT) & A3XX_TEX_SAMP_1_MAX_LOD__MASK; 2131 + } 2132 + #define A3XX_TEX_SAMP_1_MIN_LOD__MASK 0xffc00000 2133 + #define A3XX_TEX_SAMP_1_MIN_LOD__SHIFT 22 2134 + static inline uint32_t A3XX_TEX_SAMP_1_MIN_LOD(float val) 2135 + { 2136 + return ((((uint32_t)(val * 12.0))) << A3XX_TEX_SAMP_1_MIN_LOD__SHIFT) & A3XX_TEX_SAMP_1_MIN_LOD__MASK; 2137 + } 2158 2138 2159 2139 #define REG_A3XX_TEX_CONST_0 0x00000000 2160 2140 #define A3XX_TEX_CONST_0_TILED 0x00000001
+75 -96
drivers/gpu/drm/msm/adreno/adreno_common.xml.h
··· 8 8 git clone https://github.com/freedreno/envytools.git 9 9 10 10 The rules-ng-ng source files this header was generated from are: 11 - - /home/robclark/src/freedreno/envytools/rnndb/adreno.xml ( 327 bytes, from 2013-07-05 19:21:12) 12 - - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) 13 - - /home/robclark/src/freedreno/envytools/rnndb/a2xx/a2xx.xml ( 31003 bytes, from 2013-09-19 18:50:16) 14 - - /home/robclark/src/freedreno/envytools/rnndb/adreno_common.xml ( 8983 bytes, from 2013-07-24 01:38:36) 15 - - /home/robclark/src/freedreno/envytools/rnndb/adreno_pm4.xml ( 9759 bytes, from 2013-09-10 00:52:33) 16 - - /home/robclark/src/freedreno/envytools/rnndb/a3xx/a3xx.xml ( 51983 bytes, from 2013-09-10 00:52:32) 11 + - /home/robclark/src/freedreno/envytools/rnndb/adreno.xml ( 364 bytes, from 2013-11-30 14:47:15) 12 + - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) 13 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/a2xx.xml ( 32814 bytes, from 2013-11-30 15:07:33) 14 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_common.xml ( 8900 bytes, from 2013-10-22 23:57:49) 15 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_pm4.xml ( 10574 bytes, from 2013-11-13 05:44:45) 16 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/a3xx.xml ( 53644 bytes, from 2013-11-30 15:07:33) 17 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/a4xx.xml ( 8344 bytes, from 2013-11-30 14:49:47) 17 18 18 19 Copyright (C) 2013 by the following authors: 19 20 - Rob Clark <robdclark@gmail.com> (robclark) ··· 116 115 DEPTHX_24_8 = 1, 117 116 }; 118 117 119 - enum adreno_mmu_clnt_beh { 120 - BEH_NEVR = 0, 121 - BEH_TRAN_RNG = 1, 122 - BEH_TRAN_FLT = 2, 123 - }; 124 - 125 - #define REG_AXXX_MH_MMU_CONFIG 0x00000040 126 - #define AXXX_MH_MMU_CONFIG_MMU_ENABLE 0x00000001 127 - #define AXXX_MH_MMU_CONFIG_SPLIT_MODE_ENABLE 0x00000002 128 - #define AXXX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR__MASK 0x00000030 129 - #define AXXX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR__SHIFT 4 130 - static inline uint32_t AXXX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 131 - { 132 - return ((val) << AXXX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR__MASK; 133 - } 134 - #define AXXX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR__MASK 0x000000c0 135 - #define AXXX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR__SHIFT 6 136 - static inline uint32_t AXXX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 137 - { 138 - return ((val) << AXXX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR__MASK; 139 - } 140 - #define AXXX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR__MASK 0x00000300 141 - #define AXXX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR__SHIFT 8 142 - static inline uint32_t AXXX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 143 - { 144 - return ((val) << AXXX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR__MASK; 145 - } 146 - #define AXXX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR__MASK 0x00000c00 147 - #define AXXX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR__SHIFT 10 148 - static inline uint32_t AXXX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 149 - { 150 - return ((val) << AXXX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR__MASK; 151 - } 152 - #define AXXX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR__MASK 0x00003000 153 - #define AXXX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR__SHIFT 12 154 - static inline uint32_t AXXX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 155 - { 156 - return ((val) << AXXX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR__MASK; 157 - } 158 - #define AXXX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR__MASK 0x0000c000 159 - #define AXXX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR__SHIFT 14 160 - static inline uint32_t AXXX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 161 - { 162 - return ((val) << AXXX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR__MASK; 163 - } 164 - #define AXXX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR__MASK 0x00030000 165 - #define AXXX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR__SHIFT 16 166 - static inline uint32_t AXXX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 167 - { 168 - return ((val) << AXXX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR__MASK; 169 - } 170 - #define AXXX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR__MASK 0x000c0000 171 - #define AXXX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR__SHIFT 18 172 - static inline uint32_t AXXX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 173 - { 174 - return ((val) << AXXX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR__MASK; 175 - } 176 - #define AXXX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR__MASK 0x00300000 177 - #define AXXX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR__SHIFT 20 178 - static inline uint32_t AXXX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 179 - { 180 - return ((val) << AXXX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR__MASK; 181 - } 182 - #define AXXX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR__MASK 0x00c00000 183 - #define AXXX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR__SHIFT 22 184 - static inline uint32_t AXXX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 185 - { 186 - return ((val) << AXXX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR__MASK; 187 - } 188 - #define AXXX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR__MASK 0x03000000 189 - #define AXXX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR__SHIFT 24 190 - static inline uint32_t AXXX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val) 191 - { 192 - return ((val) << AXXX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR__SHIFT) & AXXX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR__MASK; 193 - } 194 - 195 - #define REG_AXXX_MH_MMU_VA_RANGE 0x00000041 196 - 197 - #define REG_AXXX_MH_MMU_PT_BASE 0x00000042 198 - 199 - #define REG_AXXX_MH_MMU_PAGE_FAULT 0x00000043 200 - 201 - #define REG_AXXX_MH_MMU_TRAN_ERROR 0x00000044 202 - 203 - #define REG_AXXX_MH_MMU_INVALIDATE 0x00000045 204 - 205 - #define REG_AXXX_MH_MMU_MPU_BASE 0x00000046 206 - 207 - #define REG_AXXX_MH_MMU_MPU_END 0x00000047 208 - 209 118 #define REG_AXXX_CP_RB_BASE 0x000001c0 210 119 211 120 #define REG_AXXX_CP_RB_CNTL 0x000001c1 ··· 186 275 } 187 276 188 277 #define REG_AXXX_CP_MEQ_THRESHOLDS 0x000001d6 278 + #define AXXX_CP_MEQ_THRESHOLDS_MEQ_END__MASK 0x001f0000 279 + #define AXXX_CP_MEQ_THRESHOLDS_MEQ_END__SHIFT 16 280 + static inline uint32_t AXXX_CP_MEQ_THRESHOLDS_MEQ_END(uint32_t val) 281 + { 282 + return ((val) << AXXX_CP_MEQ_THRESHOLDS_MEQ_END__SHIFT) & AXXX_CP_MEQ_THRESHOLDS_MEQ_END__MASK; 283 + } 284 + #define AXXX_CP_MEQ_THRESHOLDS_ROQ_END__MASK 0x1f000000 285 + #define AXXX_CP_MEQ_THRESHOLDS_ROQ_END__SHIFT 24 286 + static inline uint32_t AXXX_CP_MEQ_THRESHOLDS_ROQ_END(uint32_t val) 287 + { 288 + return ((val) << AXXX_CP_MEQ_THRESHOLDS_ROQ_END__SHIFT) & AXXX_CP_MEQ_THRESHOLDS_ROQ_END__MASK; 289 + } 189 290 190 291 #define REG_AXXX_CP_CSQ_AVAIL 0x000001d7 191 292 #define AXXX_CP_CSQ_AVAIL_RING__MASK 0x0000007f ··· 325 402 return ((val) << AXXX_CP_CSQ_IB2_STAT_WPTR__SHIFT) & AXXX_CP_CSQ_IB2_STAT_WPTR__MASK; 326 403 } 327 404 405 + #define REG_AXXX_CP_NON_PREFETCH_CNTRS 0x00000440 406 + 407 + #define REG_AXXX_CP_STQ_ST_STAT 0x00000443 408 + 409 + #define REG_AXXX_CP_ST_BASE 0x0000044d 410 + 411 + #define REG_AXXX_CP_ST_BUFSZ 0x0000044e 412 + 413 + #define REG_AXXX_CP_MEQ_STAT 0x0000044f 414 + 415 + #define REG_AXXX_CP_MIU_TAG_STAT 0x00000452 416 + 417 + #define REG_AXXX_CP_BIN_MASK_LO 0x00000454 418 + 419 + #define REG_AXXX_CP_BIN_MASK_HI 0x00000455 420 + 421 + #define REG_AXXX_CP_BIN_SELECT_LO 0x00000456 422 + 423 + #define REG_AXXX_CP_BIN_SELECT_HI 0x00000457 424 + 425 + #define REG_AXXX_CP_IB1_BASE 0x00000458 426 + 427 + #define REG_AXXX_CP_IB1_BUFSZ 0x00000459 428 + 429 + #define REG_AXXX_CP_IB2_BASE 0x0000045a 430 + 431 + #define REG_AXXX_CP_IB2_BUFSZ 0x0000045b 432 + 433 + #define REG_AXXX_CP_STAT 0x0000047f 434 + 328 435 #define REG_AXXX_CP_SCRATCH_REG0 0x00000578 329 436 330 437 #define REG_AXXX_CP_SCRATCH_REG1 0x00000579 ··· 371 418 372 419 #define REG_AXXX_CP_SCRATCH_REG7 0x0000057f 373 420 421 + #define REG_AXXX_CP_ME_VS_EVENT_SRC 0x00000600 422 + 423 + #define REG_AXXX_CP_ME_VS_EVENT_ADDR 0x00000601 424 + 425 + #define REG_AXXX_CP_ME_VS_EVENT_DATA 0x00000602 426 + 427 + #define REG_AXXX_CP_ME_VS_EVENT_ADDR_SWM 0x00000603 428 + 429 + #define REG_AXXX_CP_ME_VS_EVENT_DATA_SWM 0x00000604 430 + 431 + #define REG_AXXX_CP_ME_PS_EVENT_SRC 0x00000605 432 + 433 + #define REG_AXXX_CP_ME_PS_EVENT_ADDR 0x00000606 434 + 435 + #define REG_AXXX_CP_ME_PS_EVENT_DATA 0x00000607 436 + 437 + #define REG_AXXX_CP_ME_PS_EVENT_ADDR_SWM 0x00000608 438 + 439 + #define REG_AXXX_CP_ME_PS_EVENT_DATA_SWM 0x00000609 440 + 374 441 #define REG_AXXX_CP_ME_CF_EVENT_SRC 0x0000060a 375 442 376 443 #define REG_AXXX_CP_ME_CF_EVENT_ADDR 0x0000060b ··· 400 427 #define REG_AXXX_CP_ME_NRT_ADDR 0x0000060d 401 428 402 429 #define REG_AXXX_CP_ME_NRT_DATA 0x0000060e 430 + 431 + #define REG_AXXX_CP_ME_VS_FETCH_DONE_SRC 0x00000612 432 + 433 + #define REG_AXXX_CP_ME_VS_FETCH_DONE_ADDR 0x00000613 434 + 435 + #define REG_AXXX_CP_ME_VS_FETCH_DONE_DATA 0x00000614 403 436 404 437 405 438 #endif /* ADRENO_COMMON_XML */
+21 -9
drivers/gpu/drm/msm/adreno/adreno_pm4.xml.h
··· 8 8 git clone https://github.com/freedreno/envytools.git 9 9 10 10 The rules-ng-ng source files this header was generated from are: 11 - - /home/robclark/src/freedreno/envytools/rnndb/adreno.xml ( 327 bytes, from 2013-07-05 19:21:12) 12 - - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) 13 - - /home/robclark/src/freedreno/envytools/rnndb/a2xx/a2xx.xml ( 31003 bytes, from 2013-09-19 18:50:16) 14 - - /home/robclark/src/freedreno/envytools/rnndb/adreno_common.xml ( 8983 bytes, from 2013-07-24 01:38:36) 15 - - /home/robclark/src/freedreno/envytools/rnndb/adreno_pm4.xml ( 9759 bytes, from 2013-09-10 00:52:33) 16 - - /home/robclark/src/freedreno/envytools/rnndb/a3xx/a3xx.xml ( 51983 bytes, from 2013-09-10 00:52:32) 11 + - /home/robclark/src/freedreno/envytools/rnndb/adreno.xml ( 364 bytes, from 2013-11-30 14:47:15) 12 + - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) 13 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/a2xx.xml ( 32814 bytes, from 2013-11-30 15:07:33) 14 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_common.xml ( 8900 bytes, from 2013-10-22 23:57:49) 15 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_pm4.xml ( 10574 bytes, from 2013-11-13 05:44:45) 16 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/a3xx.xml ( 53644 bytes, from 2013-11-30 15:07:33) 17 + - /home/robclark/src/freedreno/envytools/rnndb/adreno/a4xx.xml ( 8344 bytes, from 2013-11-30 14:49:47) 17 18 18 19 Copyright (C) 2013 by the following authors: 19 20 - Rob Clark <robdclark@gmail.com> (robclark) ··· 67 66 68 67 enum pc_di_primtype { 69 68 DI_PT_NONE = 0, 70 - DI_PT_POINTLIST = 1, 69 + DI_PT_POINTLIST_A2XX = 1, 71 70 DI_PT_LINELIST = 2, 72 71 DI_PT_LINESTRIP = 3, 73 72 DI_PT_TRILIST = 4, 74 73 DI_PT_TRIFAN = 5, 75 74 DI_PT_TRISTRIP = 6, 75 + DI_PT_LINELOOP = 7, 76 76 DI_PT_RECTLIST = 8, 77 + DI_PT_POINTLIST_A3XX = 9, 77 78 DI_PT_QUADLIST = 13, 78 79 DI_PT_QUADSTRIP = 14, 79 80 DI_PT_POLYGON = 15, ··· 122 119 CP_WAIT_FOR_IDLE = 38, 123 120 CP_WAIT_REG_MEM = 60, 124 121 CP_WAIT_REG_EQ = 82, 125 - CP_WAT_REG_GTE = 83, 122 + CP_WAIT_REG_GTE = 83, 126 123 CP_WAIT_UNTIL_READ = 92, 127 124 CP_WAIT_IB_PFD_COMPLETE = 93, 128 125 CP_REG_RMW = 33, ··· 154 151 CP_CONTEXT_UPDATE = 94, 155 152 CP_INTERRUPT = 64, 156 153 CP_IM_STORE = 44, 157 - CP_SET_BIN_BASE_OFFSET = 75, 158 154 CP_SET_DRAW_INIT_FLAGS = 75, 159 155 CP_SET_PROTECTED_MODE = 95, 160 156 CP_LOAD_STATE = 48, ··· 161 159 CP_COND_INDIRECT_BUFFER_PFD = 50, 162 160 CP_INDIRECT_BUFFER_PFE = 63, 163 161 CP_SET_BIN = 76, 162 + CP_TEST_TWO_MEMS = 113, 163 + CP_WAIT_FOR_ME = 19, 164 + IN_IB_PREFETCH_END = 23, 165 + IN_SUBBLK_PREFETCH = 31, 166 + IN_INSTR_PREFETCH = 32, 167 + IN_INSTR_MATCH = 71, 168 + IN_CONST_PREFETCH = 73, 169 + IN_INCR_UPDT_STATE = 85, 170 + IN_INCR_UPDT_CONST = 86, 171 + IN_INCR_UPDT_INSTR = 87, 164 172 }; 165 173 166 174 enum adreno_state_block {
+5 -3
drivers/gpu/drm/msm/dsi/dsi.xml.h
··· 8 8 git clone https://github.com/freedreno/envytools.git 9 9 10 10 The rules-ng-ng source files this header was generated from are: 11 - - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 595 bytes, from 2013-07-05 19:21:12) 11 + - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 647 bytes, from 2013-11-30 14:45:35) 12 12 - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) 13 - - /home/robclark/src/freedreno/envytools/rnndb/mdp4/mdp4.xml ( 19332 bytes, from 2013-10-07 16:36:48) 13 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp4.xml ( 17996 bytes, from 2013-12-01 19:10:31) 14 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml ( 1615 bytes, from 2013-11-30 15:00:52) 15 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml ( 22517 bytes, from 2013-12-03 20:59:13) 14 16 - /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml ( 11712 bytes, from 2013-08-17 17:13:43) 15 17 - /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml ( 344 bytes, from 2013-08-11 19:26:32) 16 18 - /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml ( 1544 bytes, from 2013-08-16 19:17:05) 17 19 - /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml ( 600 bytes, from 2013-07-05 19:21:12) 18 - - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 19288 bytes, from 2013-08-11 18:14:15) 20 + - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 20932 bytes, from 2013-12-01 15:13:04) 19 21 20 22 Copyright (C) 2013 by the following authors: 21 23 - Rob Clark <robdclark@gmail.com> (robclark)
+5 -3
drivers/gpu/drm/msm/dsi/mmss_cc.xml.h
··· 8 8 git clone https://github.com/freedreno/envytools.git 9 9 10 10 The rules-ng-ng source files this header was generated from are: 11 - - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 595 bytes, from 2013-07-05 19:21:12) 11 + - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 647 bytes, from 2013-11-30 14:45:35) 12 12 - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) 13 - - /home/robclark/src/freedreno/envytools/rnndb/mdp4/mdp4.xml ( 19332 bytes, from 2013-10-07 16:36:48) 13 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp4.xml ( 17996 bytes, from 2013-12-01 19:10:31) 14 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml ( 1615 bytes, from 2013-11-30 15:00:52) 15 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml ( 22517 bytes, from 2013-12-03 20:59:13) 14 16 - /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml ( 11712 bytes, from 2013-08-17 17:13:43) 15 17 - /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml ( 344 bytes, from 2013-08-11 19:26:32) 16 18 - /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml ( 1544 bytes, from 2013-08-16 19:17:05) 17 19 - /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml ( 600 bytes, from 2013-07-05 19:21:12) 18 - - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 19288 bytes, from 2013-08-11 18:14:15) 20 + - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 20932 bytes, from 2013-12-01 15:13:04) 19 21 20 22 Copyright (C) 2013 by the following authors: 21 23 - Rob Clark <robdclark@gmail.com> (robclark)
+5 -3
drivers/gpu/drm/msm/dsi/sfpb.xml.h
··· 8 8 git clone https://github.com/freedreno/envytools.git 9 9 10 10 The rules-ng-ng source files this header was generated from are: 11 - - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 595 bytes, from 2013-07-05 19:21:12) 11 + - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 647 bytes, from 2013-11-30 14:45:35) 12 12 - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) 13 - - /home/robclark/src/freedreno/envytools/rnndb/mdp4/mdp4.xml ( 19332 bytes, from 2013-10-07 16:36:48) 13 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp4.xml ( 17996 bytes, from 2013-12-01 19:10:31) 14 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml ( 1615 bytes, from 2013-11-30 15:00:52) 15 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml ( 22517 bytes, from 2013-12-03 20:59:13) 14 16 - /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml ( 11712 bytes, from 2013-08-17 17:13:43) 15 17 - /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml ( 344 bytes, from 2013-08-11 19:26:32) 16 18 - /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml ( 1544 bytes, from 2013-08-16 19:17:05) 17 19 - /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml ( 600 bytes, from 2013-07-05 19:21:12) 18 - - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 19288 bytes, from 2013-08-11 18:14:15) 20 + - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 20932 bytes, from 2013-12-01 15:13:04) 19 21 20 22 Copyright (C) 2013 by the following authors: 21 23 - Rob Clark <robdclark@gmail.com> (robclark)
+75 -8
drivers/gpu/drm/msm/hdmi/hdmi.xml.h
··· 8 8 git clone https://github.com/freedreno/envytools.git 9 9 10 10 The rules-ng-ng source files this header was generated from are: 11 - - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 595 bytes, from 2013-07-05 19:21:12) 11 + - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 647 bytes, from 2013-11-30 14:45:35) 12 12 - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) 13 - - /home/robclark/src/freedreno/envytools/rnndb/mdp4/mdp4.xml ( 19332 bytes, from 2013-10-07 16:36:48) 13 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp4.xml ( 17996 bytes, from 2013-12-01 19:10:31) 14 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml ( 1615 bytes, from 2013-11-30 15:00:52) 15 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml ( 22517 bytes, from 2013-12-03 20:59:13) 14 16 - /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml ( 11712 bytes, from 2013-08-17 17:13:43) 15 17 - /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml ( 344 bytes, from 2013-08-11 19:26:32) 16 18 - /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml ( 1544 bytes, from 2013-08-16 19:17:05) 17 19 - /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml ( 600 bytes, from 2013-07-05 19:21:12) 18 - - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 19288 bytes, from 2013-08-11 18:14:15) 20 + - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 20932 bytes, from 2013-12-01 15:13:04) 19 21 20 22 Copyright (C) 2013 by the following authors: 21 23 - Rob Clark <robdclark@gmail.com> (robclark) ··· 214 212 #define REG_HDMI_HDCP_RESET 0x00000130 215 213 #define HDMI_HDCP_RESET_LINK0_DEAUTHENTICATE 0x00000001 216 214 215 + #define REG_HDMI_VENSPEC_INFO0 0x0000016c 216 + 217 + #define REG_HDMI_VENSPEC_INFO1 0x00000170 218 + 219 + #define REG_HDMI_VENSPEC_INFO2 0x00000174 220 + 221 + #define REG_HDMI_VENSPEC_INFO3 0x00000178 222 + 223 + #define REG_HDMI_VENSPEC_INFO4 0x0000017c 224 + 225 + #define REG_HDMI_VENSPEC_INFO5 0x00000180 226 + 227 + #define REG_HDMI_VENSPEC_INFO6 0x00000184 228 + 217 229 #define REG_HDMI_AUDIO_CFG 0x000001d0 218 230 #define HDMI_AUDIO_CFG_ENGINE_ENABLE 0x00000001 219 231 #define HDMI_AUDIO_CFG_FIFO_WATERMARK__MASK 0x000000f0 ··· 250 234 { 251 235 return ((val) << HDMI_DDC_CTRL_TRANSACTION_CNT__SHIFT) & HDMI_DDC_CTRL_TRANSACTION_CNT__MASK; 252 236 } 237 + 238 + #define REG_HDMI_DDC_ARBITRATION 0x00000210 239 + #define HDMI_DDC_ARBITRATION_HW_ARBITRATION 0x00000010 253 240 254 241 #define REG_HDMI_DDC_INT_CTRL 0x00000214 255 242 #define HDMI_DDC_INT_CTRL_SW_DONE_INT 0x00000001 ··· 359 340 return ((val) << HDMI_DDC_REF_REFTIMER__SHIFT) & HDMI_DDC_REF_REFTIMER__MASK; 360 341 } 361 342 343 + #define REG_HDMI_CEC_STATUS 0x00000298 344 + 345 + #define REG_HDMI_CEC_INT 0x0000029c 346 + 347 + #define REG_HDMI_CEC_ADDR 0x000002a0 348 + 349 + #define REG_HDMI_CEC_TIME 0x000002a4 350 + 351 + #define REG_HDMI_CEC_REFTIMER 0x000002a8 352 + 353 + #define REG_HDMI_CEC_RD_DATA 0x000002ac 354 + 355 + #define REG_HDMI_CEC_RD_FILTER 0x000002b0 356 + 362 357 #define REG_HDMI_ACTIVE_HSYNC 0x000002b4 363 358 #define HDMI_ACTIVE_HSYNC_START__MASK 0x00000fff 364 359 #define HDMI_ACTIVE_HSYNC_START__SHIFT 0 ··· 443 410 #define HDMI_FRAME_CTRL_HSYNC_LOW 0x20000000 444 411 #define HDMI_FRAME_CTRL_INTERLACED_EN 0x80000000 445 412 413 + #define REG_HDMI_AUD_INT 0x000002cc 414 + #define HDMI_AUD_INT_AUD_FIFO_URUN_INT 0x00000001 415 + #define HDMI_AUD_INT_AUD_FIFO_URAN_MASK 0x00000002 416 + #define HDMI_AUD_INT_AUD_SAM_DROP_INT 0x00000004 417 + #define HDMI_AUD_INT_AUD_SAM_DROP_MASK 0x00000008 418 + 446 419 #define REG_HDMI_PHY_CTRL 0x000002d4 447 420 #define HDMI_PHY_CTRL_SW_RESET_PLL 0x00000001 448 421 #define HDMI_PHY_CTRL_SW_RESET_PLL_LOW 0x00000002 449 422 #define HDMI_PHY_CTRL_SW_RESET 0x00000004 450 423 #define HDMI_PHY_CTRL_SW_RESET_LOW 0x00000008 451 424 452 - #define REG_HDMI_AUD_INT 0x000002cc 453 - #define HDMI_AUD_INT_AUD_FIFO_URUN_INT 0x00000001 454 - #define HDMI_AUD_INT_AUD_FIFO_URAN_MASK 0x00000002 455 - #define HDMI_AUD_INT_AUD_SAM_DROP_INT 0x00000004 456 - #define HDMI_AUD_INT_AUD_SAM_DROP_MASK 0x00000008 425 + #define REG_HDMI_CEC_WR_RANGE 0x000002dc 426 + 427 + #define REG_HDMI_CEC_RD_RANGE 0x000002e0 428 + 429 + #define REG_HDMI_VERSION 0x000002e4 430 + 431 + #define REG_HDMI_CEC_COMPL_CTL 0x00000360 432 + 433 + #define REG_HDMI_CEC_RD_START_RANGE 0x00000364 434 + 435 + #define REG_HDMI_CEC_RD_TOTAL_RANGE 0x00000368 436 + 437 + #define REG_HDMI_CEC_RD_ERR_RESP_LO 0x0000036c 438 + 439 + #define REG_HDMI_CEC_WR_CHECK_CONFIG 0x00000370 457 440 458 441 #define REG_HDMI_8x60_PHY_REG0 0x00000300 459 442 #define HDMI_8x60_PHY_REG0_DESER_DEL_CTRL__MASK 0x0000001c ··· 552 503 #define REG_HDMI_8960_PHY_REG11 0x0000042c 553 504 554 505 #define REG_HDMI_8960_PHY_REG12 0x00000430 506 + 507 + #define REG_HDMI_8x74_ANA_CFG0 0x00000000 508 + 509 + #define REG_HDMI_8x74_ANA_CFG1 0x00000004 510 + 511 + #define REG_HDMI_8x74_PD_CTRL0 0x00000010 512 + 513 + #define REG_HDMI_8x74_PD_CTRL1 0x00000014 514 + 515 + #define REG_HDMI_8x74_BIST_CFG0 0x00000034 516 + 517 + #define REG_HDMI_8x74_BIST_PATN0 0x0000003c 518 + 519 + #define REG_HDMI_8x74_BIST_PATN1 0x00000040 520 + 521 + #define REG_HDMI_8x74_BIST_PATN2 0x00000044 522 + 523 + #define REG_HDMI_8x74_BIST_PATN3 0x00000048 555 524 556 525 557 526 #endif /* HDMI_XML */
+5 -3
drivers/gpu/drm/msm/hdmi/qfprom.xml.h
··· 8 8 git clone https://github.com/freedreno/envytools.git 9 9 10 10 The rules-ng-ng source files this header was generated from are: 11 - - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 595 bytes, from 2013-07-05 19:21:12) 11 + - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 647 bytes, from 2013-11-30 14:45:35) 12 12 - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) 13 - - /home/robclark/src/freedreno/envytools/rnndb/mdp4/mdp4.xml ( 19332 bytes, from 2013-10-07 16:36:48) 13 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp4.xml ( 17996 bytes, from 2013-12-01 19:10:31) 14 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml ( 1615 bytes, from 2013-11-30 15:00:52) 15 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml ( 22517 bytes, from 2013-12-03 20:59:13) 14 16 - /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml ( 11712 bytes, from 2013-08-17 17:13:43) 15 17 - /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml ( 344 bytes, from 2013-08-11 19:26:32) 16 18 - /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml ( 1544 bytes, from 2013-08-16 19:17:05) 17 19 - /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml ( 600 bytes, from 2013-07-05 19:21:12) 18 - - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 19288 bytes, from 2013-08-11 18:14:15) 20 + - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 20932 bytes, from 2013-12-01 15:13:04) 19 21 20 22 Copyright (C) 2013 by the following authors: 21 23 - Rob Clark <robdclark@gmail.com> (robclark)
+30 -58
drivers/gpu/drm/msm/mdp/mdp4/mdp4.xml.h
··· 8 8 git clone https://github.com/freedreno/envytools.git 9 9 10 10 The rules-ng-ng source files this header was generated from are: 11 - - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 595 bytes, from 2013-07-05 19:21:12) 11 + - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 647 bytes, from 2013-11-30 14:45:35) 12 12 - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) 13 - - /home/robclark/src/freedreno/envytools/rnndb/mdp4/mdp4.xml ( 19332 bytes, from 2013-10-07 16:36:48) 13 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp4.xml ( 17996 bytes, from 2013-12-01 19:10:31) 14 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml ( 1615 bytes, from 2013-11-30 15:00:52) 15 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml ( 22517 bytes, from 2013-12-03 20:59:13) 14 16 - /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml ( 11712 bytes, from 2013-08-17 17:13:43) 15 17 - /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml ( 344 bytes, from 2013-08-11 19:26:32) 16 18 - /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml ( 1544 bytes, from 2013-08-16 19:17:05) 17 19 - /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml ( 600 bytes, from 2013-07-05 19:21:12) 18 - - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 19288 bytes, from 2013-08-11 18:14:15) 20 + - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 20932 bytes, from 2013-12-01 15:13:04) 19 21 20 22 Copyright (C) 2013 by the following authors: 21 23 - Rob Clark <robdclark@gmail.com> (robclark) ··· 44 42 */ 45 43 46 44 47 - enum mdp4_bpc { 48 - BPC1 = 0, 49 - BPC5 = 1, 50 - BPC6 = 2, 51 - BPC8 = 3, 52 - }; 53 - 54 - enum mdp4_bpc_alpha { 55 - BPC1A = 0, 56 - BPC4A = 1, 57 - BPC6A = 2, 58 - BPC8A = 3, 59 - }; 60 - 61 - enum mdp4_alpha_type { 62 - FG_CONST = 0, 63 - BG_CONST = 1, 64 - FG_PIXEL = 2, 65 - BG_PIXEL = 3, 66 - }; 67 - 68 45 enum mdp4_pipe { 69 46 VG1 = 0, 70 47 VG2 = 1, ··· 58 77 MIXER0 = 0, 59 78 MIXER1 = 1, 60 79 MIXER2 = 2, 61 - }; 62 - 63 - enum mdp4_mixer_stage_id { 64 - STAGE_UNUSED = 0, 65 - STAGE_BASE = 1, 66 - STAGE0 = 2, 67 - STAGE1 = 3, 68 - STAGE2 = 4, 69 - STAGE3 = 5, 70 80 }; 71 81 72 82 enum mdp4_intf { ··· 166 194 #define REG_MDP4_LAYERMIXER2_IN_CFG 0x000100f0 167 195 #define MDP4_LAYERMIXER2_IN_CFG_PIPE0__MASK 0x00000007 168 196 #define MDP4_LAYERMIXER2_IN_CFG_PIPE0__SHIFT 0 169 - static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE0(enum mdp4_mixer_stage_id val) 197 + static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE0(enum mdp_mixer_stage_id val) 170 198 { 171 199 return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE0__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE0__MASK; 172 200 } 173 201 #define MDP4_LAYERMIXER2_IN_CFG_PIPE0_MIXER1 0x00000008 174 202 #define MDP4_LAYERMIXER2_IN_CFG_PIPE1__MASK 0x00000070 175 203 #define MDP4_LAYERMIXER2_IN_CFG_PIPE1__SHIFT 4 176 - static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE1(enum mdp4_mixer_stage_id val) 204 + static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE1(enum mdp_mixer_stage_id val) 177 205 { 178 206 return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE1__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE1__MASK; 179 207 } 180 208 #define MDP4_LAYERMIXER2_IN_CFG_PIPE1_MIXER1 0x00000080 181 209 #define MDP4_LAYERMIXER2_IN_CFG_PIPE2__MASK 0x00000700 182 210 #define MDP4_LAYERMIXER2_IN_CFG_PIPE2__SHIFT 8 183 - static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE2(enum mdp4_mixer_stage_id val) 211 + static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE2(enum mdp_mixer_stage_id val) 184 212 { 185 213 return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE2__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE2__MASK; 186 214 } 187 215 #define MDP4_LAYERMIXER2_IN_CFG_PIPE2_MIXER1 0x00000800 188 216 #define MDP4_LAYERMIXER2_IN_CFG_PIPE3__MASK 0x00007000 189 217 #define MDP4_LAYERMIXER2_IN_CFG_PIPE3__SHIFT 12 190 - static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE3(enum mdp4_mixer_stage_id val) 218 + static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE3(enum mdp_mixer_stage_id val) 191 219 { 192 220 return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE3__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE3__MASK; 193 221 } 194 222 #define MDP4_LAYERMIXER2_IN_CFG_PIPE3_MIXER1 0x00008000 195 223 #define MDP4_LAYERMIXER2_IN_CFG_PIPE4__MASK 0x00070000 196 224 #define MDP4_LAYERMIXER2_IN_CFG_PIPE4__SHIFT 16 197 - static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE4(enum mdp4_mixer_stage_id val) 225 + static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE4(enum mdp_mixer_stage_id val) 198 226 { 199 227 return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE4__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE4__MASK; 200 228 } 201 229 #define MDP4_LAYERMIXER2_IN_CFG_PIPE4_MIXER1 0x00080000 202 230 #define MDP4_LAYERMIXER2_IN_CFG_PIPE5__MASK 0x00700000 203 231 #define MDP4_LAYERMIXER2_IN_CFG_PIPE5__SHIFT 20 204 - static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE5(enum mdp4_mixer_stage_id val) 232 + static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE5(enum mdp_mixer_stage_id val) 205 233 { 206 234 return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE5__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE5__MASK; 207 235 } 208 236 #define MDP4_LAYERMIXER2_IN_CFG_PIPE5_MIXER1 0x00800000 209 237 #define MDP4_LAYERMIXER2_IN_CFG_PIPE6__MASK 0x07000000 210 238 #define MDP4_LAYERMIXER2_IN_CFG_PIPE6__SHIFT 24 211 - static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE6(enum mdp4_mixer_stage_id val) 239 + static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE6(enum mdp_mixer_stage_id val) 212 240 { 213 241 return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE6__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE6__MASK; 214 242 } 215 243 #define MDP4_LAYERMIXER2_IN_CFG_PIPE6_MIXER1 0x08000000 216 244 #define MDP4_LAYERMIXER2_IN_CFG_PIPE7__MASK 0x70000000 217 245 #define MDP4_LAYERMIXER2_IN_CFG_PIPE7__SHIFT 28 218 - static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE7(enum mdp4_mixer_stage_id val) 246 + static inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE7(enum mdp_mixer_stage_id val) 219 247 { 220 248 return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE7__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE7__MASK; 221 249 } ··· 226 254 #define REG_MDP4_LAYERMIXER_IN_CFG 0x00010100 227 255 #define MDP4_LAYERMIXER_IN_CFG_PIPE0__MASK 0x00000007 228 256 #define MDP4_LAYERMIXER_IN_CFG_PIPE0__SHIFT 0 229 - static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE0(enum mdp4_mixer_stage_id val) 257 + static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE0(enum mdp_mixer_stage_id val) 230 258 { 231 259 return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE0__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE0__MASK; 232 260 } 233 261 #define MDP4_LAYERMIXER_IN_CFG_PIPE0_MIXER1 0x00000008 234 262 #define MDP4_LAYERMIXER_IN_CFG_PIPE1__MASK 0x00000070 235 263 #define MDP4_LAYERMIXER_IN_CFG_PIPE1__SHIFT 4 236 - static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE1(enum mdp4_mixer_stage_id val) 264 + static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE1(enum mdp_mixer_stage_id val) 237 265 { 238 266 return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE1__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE1__MASK; 239 267 } 240 268 #define MDP4_LAYERMIXER_IN_CFG_PIPE1_MIXER1 0x00000080 241 269 #define MDP4_LAYERMIXER_IN_CFG_PIPE2__MASK 0x00000700 242 270 #define MDP4_LAYERMIXER_IN_CFG_PIPE2__SHIFT 8 243 - static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE2(enum mdp4_mixer_stage_id val) 271 + static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE2(enum mdp_mixer_stage_id val) 244 272 { 245 273 return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE2__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE2__MASK; 246 274 } 247 275 #define MDP4_LAYERMIXER_IN_CFG_PIPE2_MIXER1 0x00000800 248 276 #define MDP4_LAYERMIXER_IN_CFG_PIPE3__MASK 0x00007000 249 277 #define MDP4_LAYERMIXER_IN_CFG_PIPE3__SHIFT 12 250 - static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE3(enum mdp4_mixer_stage_id val) 278 + static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE3(enum mdp_mixer_stage_id val) 251 279 { 252 280 return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE3__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE3__MASK; 253 281 } 254 282 #define MDP4_LAYERMIXER_IN_CFG_PIPE3_MIXER1 0x00008000 255 283 #define MDP4_LAYERMIXER_IN_CFG_PIPE4__MASK 0x00070000 256 284 #define MDP4_LAYERMIXER_IN_CFG_PIPE4__SHIFT 16 257 - static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE4(enum mdp4_mixer_stage_id val) 285 + static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE4(enum mdp_mixer_stage_id val) 258 286 { 259 287 return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE4__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE4__MASK; 260 288 } 261 289 #define MDP4_LAYERMIXER_IN_CFG_PIPE4_MIXER1 0x00080000 262 290 #define MDP4_LAYERMIXER_IN_CFG_PIPE5__MASK 0x00700000 263 291 #define MDP4_LAYERMIXER_IN_CFG_PIPE5__SHIFT 20 264 - static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE5(enum mdp4_mixer_stage_id val) 292 + static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE5(enum mdp_mixer_stage_id val) 265 293 { 266 294 return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE5__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE5__MASK; 267 295 } 268 296 #define MDP4_LAYERMIXER_IN_CFG_PIPE5_MIXER1 0x00800000 269 297 #define MDP4_LAYERMIXER_IN_CFG_PIPE6__MASK 0x07000000 270 298 #define MDP4_LAYERMIXER_IN_CFG_PIPE6__SHIFT 24 271 - static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE6(enum mdp4_mixer_stage_id val) 299 + static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE6(enum mdp_mixer_stage_id val) 272 300 { 273 301 return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE6__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE6__MASK; 274 302 } 275 303 #define MDP4_LAYERMIXER_IN_CFG_PIPE6_MIXER1 0x08000000 276 304 #define MDP4_LAYERMIXER_IN_CFG_PIPE7__MASK 0x70000000 277 305 #define MDP4_LAYERMIXER_IN_CFG_PIPE7__SHIFT 28 278 - static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE7(enum mdp4_mixer_stage_id val) 306 + static inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE7(enum mdp_mixer_stage_id val) 279 307 { 280 308 return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE7__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE7__MASK; 281 309 } ··· 341 369 static inline uint32_t REG_MDP4_OVLP_STAGE_OP(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_OVLP(i0) + __offset_STAGE(i1); } 342 370 #define MDP4_OVLP_STAGE_OP_FG_ALPHA__MASK 0x00000003 343 371 #define MDP4_OVLP_STAGE_OP_FG_ALPHA__SHIFT 0 344 - static inline uint32_t MDP4_OVLP_STAGE_OP_FG_ALPHA(enum mdp4_alpha_type val) 372 + static inline uint32_t MDP4_OVLP_STAGE_OP_FG_ALPHA(enum mdp_alpha_type val) 345 373 { 346 374 return ((val) << MDP4_OVLP_STAGE_OP_FG_ALPHA__SHIFT) & MDP4_OVLP_STAGE_OP_FG_ALPHA__MASK; 347 375 } ··· 349 377 #define MDP4_OVLP_STAGE_OP_FG_MOD_ALPHA 0x00000008 350 378 #define MDP4_OVLP_STAGE_OP_BG_ALPHA__MASK 0x00000030 351 379 #define MDP4_OVLP_STAGE_OP_BG_ALPHA__SHIFT 4 352 - static inline uint32_t MDP4_OVLP_STAGE_OP_BG_ALPHA(enum mdp4_alpha_type val) 380 + static inline uint32_t MDP4_OVLP_STAGE_OP_BG_ALPHA(enum mdp_alpha_type val) 353 381 { 354 382 return ((val) << MDP4_OVLP_STAGE_OP_BG_ALPHA__SHIFT) & MDP4_OVLP_STAGE_OP_BG_ALPHA__MASK; 355 383 } ··· 444 472 static inline uint32_t REG_MDP4_DMA_CONFIG(enum mdp4_dma i0) { return 0x00000000 + __offset_DMA(i0); } 445 473 #define MDP4_DMA_CONFIG_G_BPC__MASK 0x00000003 446 474 #define MDP4_DMA_CONFIG_G_BPC__SHIFT 0 447 - static inline uint32_t MDP4_DMA_CONFIG_G_BPC(enum mdp4_bpc val) 475 + static inline uint32_t MDP4_DMA_CONFIG_G_BPC(enum mdp_bpc val) 448 476 { 449 477 return ((val) << MDP4_DMA_CONFIG_G_BPC__SHIFT) & MDP4_DMA_CONFIG_G_BPC__MASK; 450 478 } 451 479 #define MDP4_DMA_CONFIG_B_BPC__MASK 0x0000000c 452 480 #define MDP4_DMA_CONFIG_B_BPC__SHIFT 2 453 - static inline uint32_t MDP4_DMA_CONFIG_B_BPC(enum mdp4_bpc val) 481 + static inline uint32_t MDP4_DMA_CONFIG_B_BPC(enum mdp_bpc val) 454 482 { 455 483 return ((val) << MDP4_DMA_CONFIG_B_BPC__SHIFT) & MDP4_DMA_CONFIG_B_BPC__MASK; 456 484 } 457 485 #define MDP4_DMA_CONFIG_R_BPC__MASK 0x00000030 458 486 #define MDP4_DMA_CONFIG_R_BPC__SHIFT 4 459 - static inline uint32_t MDP4_DMA_CONFIG_R_BPC(enum mdp4_bpc val) 487 + static inline uint32_t MDP4_DMA_CONFIG_R_BPC(enum mdp_bpc val) 460 488 { 461 489 return ((val) << MDP4_DMA_CONFIG_R_BPC__SHIFT) & MDP4_DMA_CONFIG_R_BPC__MASK; 462 490 } ··· 682 710 static inline uint32_t REG_MDP4_PIPE_SRC_FORMAT(enum mdp4_pipe i0) { return 0x00020050 + 0x10000*i0; } 683 711 #define MDP4_PIPE_SRC_FORMAT_G_BPC__MASK 0x00000003 684 712 #define MDP4_PIPE_SRC_FORMAT_G_BPC__SHIFT 0 685 - static inline uint32_t MDP4_PIPE_SRC_FORMAT_G_BPC(enum mdp4_bpc val) 713 + static inline uint32_t MDP4_PIPE_SRC_FORMAT_G_BPC(enum mdp_bpc val) 686 714 { 687 715 return ((val) << MDP4_PIPE_SRC_FORMAT_G_BPC__SHIFT) & MDP4_PIPE_SRC_FORMAT_G_BPC__MASK; 688 716 } 689 717 #define MDP4_PIPE_SRC_FORMAT_B_BPC__MASK 0x0000000c 690 718 #define MDP4_PIPE_SRC_FORMAT_B_BPC__SHIFT 2 691 - static inline uint32_t MDP4_PIPE_SRC_FORMAT_B_BPC(enum mdp4_bpc val) 719 + static inline uint32_t MDP4_PIPE_SRC_FORMAT_B_BPC(enum mdp_bpc val) 692 720 { 693 721 return ((val) << MDP4_PIPE_SRC_FORMAT_B_BPC__SHIFT) & MDP4_PIPE_SRC_FORMAT_B_BPC__MASK; 694 722 } 695 723 #define MDP4_PIPE_SRC_FORMAT_R_BPC__MASK 0x00000030 696 724 #define MDP4_PIPE_SRC_FORMAT_R_BPC__SHIFT 4 697 - static inline uint32_t MDP4_PIPE_SRC_FORMAT_R_BPC(enum mdp4_bpc val) 725 + static inline uint32_t MDP4_PIPE_SRC_FORMAT_R_BPC(enum mdp_bpc val) 698 726 { 699 727 return ((val) << MDP4_PIPE_SRC_FORMAT_R_BPC__SHIFT) & MDP4_PIPE_SRC_FORMAT_R_BPC__MASK; 700 728 } 701 729 #define MDP4_PIPE_SRC_FORMAT_A_BPC__MASK 0x000000c0 702 730 #define MDP4_PIPE_SRC_FORMAT_A_BPC__SHIFT 6 703 - static inline uint32_t MDP4_PIPE_SRC_FORMAT_A_BPC(enum mdp4_bpc_alpha val) 731 + static inline uint32_t MDP4_PIPE_SRC_FORMAT_A_BPC(enum mdp_bpc_alpha val) 704 732 { 705 733 return ((val) << MDP4_PIPE_SRC_FORMAT_A_BPC__SHIFT) & MDP4_PIPE_SRC_FORMAT_A_BPC__MASK; 706 734 }
+1 -1
drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
··· 232 232 struct mdp4_kms *mdp4_kms = get_kms(crtc); 233 233 int i, ovlp = mdp4_crtc->ovlp; 234 234 uint32_t mixer_cfg = 0; 235 - static const enum mdp4_mixer_stage_id stages[] = { 235 + static const enum mdp_mixer_stage_id stages[] = { 236 236 STAGE_BASE, STAGE0, STAGE1, STAGE2, STAGE3, 237 237 }; 238 238 /* statically (for now) map planes to mixer stage (z-order): */
+4 -3
drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h
··· 23 23 #include <linux/regulator/consumer.h> 24 24 25 25 #include "msm_drv.h" 26 + #include "mdp/mdp_common.xml.h" 26 27 #include "mdp4.xml.h" 27 28 28 29 ··· 76 75 77 76 struct mdp4_format { 78 77 struct msm_format base; 79 - enum mdp4_bpc bpc_r, bpc_g, bpc_b; 80 - enum mdp4_bpc_alpha bpc_a; 78 + enum mdp_bpc bpc_r, bpc_g, bpc_b; 79 + enum mdp_bpc_alpha bpc_a; 81 80 uint8_t unpack[4]; 82 81 bool alpha_enable, unpack_tight; 83 82 uint8_t cpp, unpack_count; ··· 135 134 } 136 135 137 136 static inline uint32_t mixercfg(int mixer, enum mdp4_pipe pipe, 138 - enum mdp4_mixer_stage_id stage) 137 + enum mdp_mixer_stage_id stage) 139 138 { 140 139 uint32_t mixer_cfg = 0; 141 140
+1036
drivers/gpu/drm/msm/mdp/mdp5/mdp5.xml.h
··· 1 + #ifndef MDP5_XML 2 + #define MDP5_XML 3 + 4 + /* Autogenerated file, DO NOT EDIT manually! 5 + 6 + This file was generated by the rules-ng-ng headergen tool in this git repository: 7 + http://github.com/freedreno/envytools/ 8 + git clone https://github.com/freedreno/envytools.git 9 + 10 + The rules-ng-ng source files this header was generated from are: 11 + - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 647 bytes, from 2013-11-30 14:45:35) 12 + - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) 13 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp4.xml ( 17996 bytes, from 2013-12-01 19:10:31) 14 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml ( 1615 bytes, from 2013-11-30 15:00:52) 15 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml ( 22517 bytes, from 2013-12-03 20:59:13) 16 + - /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml ( 11712 bytes, from 2013-08-17 17:13:43) 17 + - /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml ( 344 bytes, from 2013-08-11 19:26:32) 18 + - /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml ( 1544 bytes, from 2013-08-16 19:17:05) 19 + - /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml ( 600 bytes, from 2013-07-05 19:21:12) 20 + - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 20932 bytes, from 2013-12-01 15:13:04) 21 + 22 + Copyright (C) 2013 by the following authors: 23 + - Rob Clark <robdclark@gmail.com> (robclark) 24 + 25 + Permission is hereby granted, free of charge, to any person obtaining 26 + a copy of this software and associated documentation files (the 27 + "Software"), to deal in the Software without restriction, including 28 + without limitation the rights to use, copy, modify, merge, publish, 29 + distribute, sublicense, and/or sell copies of the Software, and to 30 + permit persons to whom the Software is furnished to do so, subject to 31 + the following conditions: 32 + 33 + The above copyright notice and this permission notice (including the 34 + next paragraph) shall be included in all copies or substantial 35 + portions of the Software. 36 + 37 + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 38 + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 39 + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 40 + IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE 41 + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 42 + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 43 + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 44 + */ 45 + 46 + 47 + enum mdp5_intf { 48 + INTF_DSI = 1, 49 + INTF_HDMI = 3, 50 + INTF_LCDC = 5, 51 + INTF_eDP = 9, 52 + }; 53 + 54 + enum mdp5_intfnum { 55 + NO_INTF = 0, 56 + INTF0 = 1, 57 + INTF1 = 2, 58 + INTF2 = 3, 59 + INTF3 = 4, 60 + }; 61 + 62 + enum mdp5_pipe { 63 + SSPP_VIG0 = 0, 64 + SSPP_VIG1 = 1, 65 + SSPP_VIG2 = 2, 66 + SSPP_RGB0 = 3, 67 + SSPP_RGB1 = 4, 68 + SSPP_RGB2 = 5, 69 + SSPP_DMA0 = 6, 70 + SSPP_DMA1 = 7, 71 + }; 72 + 73 + enum mdp5_ctl_mode { 74 + MODE_NONE = 0, 75 + MODE_ROT0 = 1, 76 + MODE_ROT1 = 2, 77 + MODE_WB0 = 3, 78 + MODE_WB1 = 4, 79 + MODE_WFD = 5, 80 + }; 81 + 82 + enum mdp5_pack_3d { 83 + PACK_3D_FRAME_INT = 0, 84 + PACK_3D_H_ROW_INT = 1, 85 + PACK_3D_V_ROW_INT = 2, 86 + PACK_3D_COL_INT = 3, 87 + }; 88 + 89 + enum mdp5_chroma_samp_type { 90 + CHROMA_RGB = 0, 91 + CHROMA_H2V1 = 1, 92 + CHROMA_H1V2 = 2, 93 + CHROMA_420 = 3, 94 + }; 95 + 96 + enum mdp5_scale_filter { 97 + SCALE_FILTER_NEAREST = 0, 98 + SCALE_FILTER_BIL = 1, 99 + SCALE_FILTER_PCMN = 2, 100 + SCALE_FILTER_CA = 3, 101 + }; 102 + 103 + enum mdp5_pipe_bwc { 104 + BWC_LOSSLESS = 0, 105 + BWC_Q_HIGH = 1, 106 + BWC_Q_MED = 2, 107 + }; 108 + 109 + enum mdp5_client_id { 110 + CID_UNUSED = 0, 111 + CID_VIG0_Y = 1, 112 + CID_VIG0_CR = 2, 113 + CID_VIG0_CB = 3, 114 + CID_VIG1_Y = 4, 115 + CID_VIG1_CR = 5, 116 + CID_VIG1_CB = 6, 117 + CID_VIG2_Y = 7, 118 + CID_VIG2_CR = 8, 119 + CID_VIG2_CB = 9, 120 + CID_DMA0_Y = 10, 121 + CID_DMA0_CR = 11, 122 + CID_DMA0_CB = 12, 123 + CID_DMA1_Y = 13, 124 + CID_DMA1_CR = 14, 125 + CID_DMA1_CB = 15, 126 + CID_RGB0 = 16, 127 + CID_RGB1 = 17, 128 + CID_RGB2 = 18, 129 + CID_MAX = 19, 130 + }; 131 + 132 + enum mdp5_igc_type { 133 + IGC_VIG = 0, 134 + IGC_RGB = 1, 135 + IGC_DMA = 2, 136 + IGC_DSPP = 3, 137 + }; 138 + 139 + #define MDP5_IRQ_INTF0_WB_ROT_COMP 0x00000001 140 + #define MDP5_IRQ_INTF1_WB_ROT_COMP 0x00000002 141 + #define MDP5_IRQ_INTF2_WB_ROT_COMP 0x00000004 142 + #define MDP5_IRQ_INTF3_WB_ROT_COMP 0x00000008 143 + #define MDP5_IRQ_INTF0_WB_WFD 0x00000010 144 + #define MDP5_IRQ_INTF1_WB_WFD 0x00000020 145 + #define MDP5_IRQ_INTF2_WB_WFD 0x00000040 146 + #define MDP5_IRQ_INTF3_WB_WFD 0x00000080 147 + #define MDP5_IRQ_INTF0_PING_PONG_COMP 0x00000100 148 + #define MDP5_IRQ_INTF1_PING_PONG_COMP 0x00000200 149 + #define MDP5_IRQ_INTF2_PING_PONG_COMP 0x00000400 150 + #define MDP5_IRQ_INTF3_PING_PONG_COMP 0x00000800 151 + #define MDP5_IRQ_INTF0_PING_PONG_RD_PTR 0x00001000 152 + #define MDP5_IRQ_INTF1_PING_PONG_RD_PTR 0x00002000 153 + #define MDP5_IRQ_INTF2_PING_PONG_RD_PTR 0x00004000 154 + #define MDP5_IRQ_INTF3_PING_PONG_RD_PTR 0x00008000 155 + #define MDP5_IRQ_INTF0_PING_PONG_WR_PTR 0x00010000 156 + #define MDP5_IRQ_INTF1_PING_PONG_WR_PTR 0x00020000 157 + #define MDP5_IRQ_INTF2_PING_PONG_WR_PTR 0x00040000 158 + #define MDP5_IRQ_INTF3_PING_PONG_WR_PTR 0x00080000 159 + #define MDP5_IRQ_INTF0_PING_PONG_AUTO_REF 0x00100000 160 + #define MDP5_IRQ_INTF1_PING_PONG_AUTO_REF 0x00200000 161 + #define MDP5_IRQ_INTF2_PING_PONG_AUTO_REF 0x00400000 162 + #define MDP5_IRQ_INTF3_PING_PONG_AUTO_REF 0x00800000 163 + #define MDP5_IRQ_INTF0_UNDER_RUN 0x01000000 164 + #define MDP5_IRQ_INTF0_VSYNC 0x02000000 165 + #define MDP5_IRQ_INTF1_UNDER_RUN 0x04000000 166 + #define MDP5_IRQ_INTF1_VSYNC 0x08000000 167 + #define MDP5_IRQ_INTF2_UNDER_RUN 0x10000000 168 + #define MDP5_IRQ_INTF2_VSYNC 0x20000000 169 + #define MDP5_IRQ_INTF3_UNDER_RUN 0x40000000 170 + #define MDP5_IRQ_INTF3_VSYNC 0x80000000 171 + #define REG_MDP5_HW_VERSION 0x00000000 172 + 173 + #define REG_MDP5_HW_INTR_STATUS 0x00000010 174 + #define MDP5_HW_INTR_STATUS_INTR_MDP 0x00000001 175 + #define MDP5_HW_INTR_STATUS_INTR_DSI0 0x00000010 176 + #define MDP5_HW_INTR_STATUS_INTR_DSI1 0x00000020 177 + #define MDP5_HW_INTR_STATUS_INTR_HDMI 0x00000100 178 + #define MDP5_HW_INTR_STATUS_INTR_EDP 0x00001000 179 + 180 + #define REG_MDP5_MDP_VERSION 0x00000100 181 + #define MDP5_MDP_VERSION_MINOR__MASK 0x00ff0000 182 + #define MDP5_MDP_VERSION_MINOR__SHIFT 16 183 + static inline uint32_t MDP5_MDP_VERSION_MINOR(uint32_t val) 184 + { 185 + return ((val) << MDP5_MDP_VERSION_MINOR__SHIFT) & MDP5_MDP_VERSION_MINOR__MASK; 186 + } 187 + #define MDP5_MDP_VERSION_MAJOR__MASK 0xf0000000 188 + #define MDP5_MDP_VERSION_MAJOR__SHIFT 28 189 + static inline uint32_t MDP5_MDP_VERSION_MAJOR(uint32_t val) 190 + { 191 + return ((val) << MDP5_MDP_VERSION_MAJOR__SHIFT) & MDP5_MDP_VERSION_MAJOR__MASK; 192 + } 193 + 194 + #define REG_MDP5_DISP_INTF_SEL 0x00000104 195 + #define MDP5_DISP_INTF_SEL_INTF0__MASK 0x000000ff 196 + #define MDP5_DISP_INTF_SEL_INTF0__SHIFT 0 197 + static inline uint32_t MDP5_DISP_INTF_SEL_INTF0(enum mdp5_intf val) 198 + { 199 + return ((val) << MDP5_DISP_INTF_SEL_INTF0__SHIFT) & MDP5_DISP_INTF_SEL_INTF0__MASK; 200 + } 201 + #define MDP5_DISP_INTF_SEL_INTF1__MASK 0x0000ff00 202 + #define MDP5_DISP_INTF_SEL_INTF1__SHIFT 8 203 + static inline uint32_t MDP5_DISP_INTF_SEL_INTF1(enum mdp5_intf val) 204 + { 205 + return ((val) << MDP5_DISP_INTF_SEL_INTF1__SHIFT) & MDP5_DISP_INTF_SEL_INTF1__MASK; 206 + } 207 + #define MDP5_DISP_INTF_SEL_INTF2__MASK 0x00ff0000 208 + #define MDP5_DISP_INTF_SEL_INTF2__SHIFT 16 209 + static inline uint32_t MDP5_DISP_INTF_SEL_INTF2(enum mdp5_intf val) 210 + { 211 + return ((val) << MDP5_DISP_INTF_SEL_INTF2__SHIFT) & MDP5_DISP_INTF_SEL_INTF2__MASK; 212 + } 213 + #define MDP5_DISP_INTF_SEL_INTF3__MASK 0xff000000 214 + #define MDP5_DISP_INTF_SEL_INTF3__SHIFT 24 215 + static inline uint32_t MDP5_DISP_INTF_SEL_INTF3(enum mdp5_intf val) 216 + { 217 + return ((val) << MDP5_DISP_INTF_SEL_INTF3__SHIFT) & MDP5_DISP_INTF_SEL_INTF3__MASK; 218 + } 219 + 220 + #define REG_MDP5_INTR_EN 0x00000110 221 + 222 + #define REG_MDP5_INTR_STATUS 0x00000114 223 + 224 + #define REG_MDP5_INTR_CLEAR 0x00000118 225 + 226 + #define REG_MDP5_HIST_INTR_EN 0x0000011c 227 + 228 + #define REG_MDP5_HIST_INTR_STATUS 0x00000120 229 + 230 + #define REG_MDP5_HIST_INTR_CLEAR 0x00000124 231 + 232 + static inline uint32_t REG_MDP5_SMP_ALLOC_W(uint32_t i0) { return 0x00000180 + 0x4*i0; } 233 + 234 + static inline uint32_t REG_MDP5_SMP_ALLOC_W_REG(uint32_t i0) { return 0x00000180 + 0x4*i0; } 235 + #define MDP5_SMP_ALLOC_W_REG_CLIENT0__MASK 0x000000ff 236 + #define MDP5_SMP_ALLOC_W_REG_CLIENT0__SHIFT 0 237 + static inline uint32_t MDP5_SMP_ALLOC_W_REG_CLIENT0(enum mdp5_client_id val) 238 + { 239 + return ((val) << MDP5_SMP_ALLOC_W_REG_CLIENT0__SHIFT) & MDP5_SMP_ALLOC_W_REG_CLIENT0__MASK; 240 + } 241 + #define MDP5_SMP_ALLOC_W_REG_CLIENT1__MASK 0x0000ff00 242 + #define MDP5_SMP_ALLOC_W_REG_CLIENT1__SHIFT 8 243 + static inline uint32_t MDP5_SMP_ALLOC_W_REG_CLIENT1(enum mdp5_client_id val) 244 + { 245 + return ((val) << MDP5_SMP_ALLOC_W_REG_CLIENT1__SHIFT) & MDP5_SMP_ALLOC_W_REG_CLIENT1__MASK; 246 + } 247 + #define MDP5_SMP_ALLOC_W_REG_CLIENT2__MASK 0x00ff0000 248 + #define MDP5_SMP_ALLOC_W_REG_CLIENT2__SHIFT 16 249 + static inline uint32_t MDP5_SMP_ALLOC_W_REG_CLIENT2(enum mdp5_client_id val) 250 + { 251 + return ((val) << MDP5_SMP_ALLOC_W_REG_CLIENT2__SHIFT) & MDP5_SMP_ALLOC_W_REG_CLIENT2__MASK; 252 + } 253 + 254 + static inline uint32_t REG_MDP5_SMP_ALLOC_R(uint32_t i0) { return 0x00000230 + 0x4*i0; } 255 + 256 + static inline uint32_t REG_MDP5_SMP_ALLOC_R_REG(uint32_t i0) { return 0x00000230 + 0x4*i0; } 257 + #define MDP5_SMP_ALLOC_R_REG_CLIENT0__MASK 0x000000ff 258 + #define MDP5_SMP_ALLOC_R_REG_CLIENT0__SHIFT 0 259 + static inline uint32_t MDP5_SMP_ALLOC_R_REG_CLIENT0(enum mdp5_client_id val) 260 + { 261 + return ((val) << MDP5_SMP_ALLOC_R_REG_CLIENT0__SHIFT) & MDP5_SMP_ALLOC_R_REG_CLIENT0__MASK; 262 + } 263 + #define MDP5_SMP_ALLOC_R_REG_CLIENT1__MASK 0x0000ff00 264 + #define MDP5_SMP_ALLOC_R_REG_CLIENT1__SHIFT 8 265 + static inline uint32_t MDP5_SMP_ALLOC_R_REG_CLIENT1(enum mdp5_client_id val) 266 + { 267 + return ((val) << MDP5_SMP_ALLOC_R_REG_CLIENT1__SHIFT) & MDP5_SMP_ALLOC_R_REG_CLIENT1__MASK; 268 + } 269 + #define MDP5_SMP_ALLOC_R_REG_CLIENT2__MASK 0x00ff0000 270 + #define MDP5_SMP_ALLOC_R_REG_CLIENT2__SHIFT 16 271 + static inline uint32_t MDP5_SMP_ALLOC_R_REG_CLIENT2(enum mdp5_client_id val) 272 + { 273 + return ((val) << MDP5_SMP_ALLOC_R_REG_CLIENT2__SHIFT) & MDP5_SMP_ALLOC_R_REG_CLIENT2__MASK; 274 + } 275 + 276 + static inline uint32_t __offset_IGC(enum mdp5_igc_type idx) 277 + { 278 + switch (idx) { 279 + case IGC_VIG: return 0x00000300; 280 + case IGC_RGB: return 0x00000310; 281 + case IGC_DMA: return 0x00000320; 282 + case IGC_DSPP: return 0x00000400; 283 + default: return INVALID_IDX(idx); 284 + } 285 + } 286 + static inline uint32_t REG_MDP5_IGC(enum mdp5_igc_type i0) { return 0x00000000 + __offset_IGC(i0); } 287 + 288 + static inline uint32_t REG_MDP5_IGC_LUT(enum mdp5_igc_type i0, uint32_t i1) { return 0x00000000 + __offset_IGC(i0) + 0x4*i1; } 289 + 290 + static inline uint32_t REG_MDP5_IGC_LUT_REG(enum mdp5_igc_type i0, uint32_t i1) { return 0x00000000 + __offset_IGC(i0) + 0x4*i1; } 291 + #define MDP5_IGC_LUT_REG_VAL__MASK 0x00000fff 292 + #define MDP5_IGC_LUT_REG_VAL__SHIFT 0 293 + static inline uint32_t MDP5_IGC_LUT_REG_VAL(uint32_t val) 294 + { 295 + return ((val) << MDP5_IGC_LUT_REG_VAL__SHIFT) & MDP5_IGC_LUT_REG_VAL__MASK; 296 + } 297 + #define MDP5_IGC_LUT_REG_INDEX_UPDATE 0x02000000 298 + #define MDP5_IGC_LUT_REG_DISABLE_PIPE_0 0x10000000 299 + #define MDP5_IGC_LUT_REG_DISABLE_PIPE_1 0x20000000 300 + #define MDP5_IGC_LUT_REG_DISABLE_PIPE_2 0x40000000 301 + 302 + static inline uint32_t REG_MDP5_CTL(uint32_t i0) { return 0x00000600 + 0x100*i0; } 303 + 304 + static inline uint32_t REG_MDP5_CTL_LAYER(uint32_t i0, uint32_t i1) { return 0x00000600 + 0x100*i0 + 0x4*i1; } 305 + 306 + static inline uint32_t REG_MDP5_CTL_LAYER_REG(uint32_t i0, uint32_t i1) { return 0x00000600 + 0x100*i0 + 0x4*i1; } 307 + #define MDP5_CTL_LAYER_REG_VIG0__MASK 0x00000007 308 + #define MDP5_CTL_LAYER_REG_VIG0__SHIFT 0 309 + static inline uint32_t MDP5_CTL_LAYER_REG_VIG0(enum mdp_mixer_stage_id val) 310 + { 311 + return ((val) << MDP5_CTL_LAYER_REG_VIG0__SHIFT) & MDP5_CTL_LAYER_REG_VIG0__MASK; 312 + } 313 + #define MDP5_CTL_LAYER_REG_VIG1__MASK 0x00000038 314 + #define MDP5_CTL_LAYER_REG_VIG1__SHIFT 3 315 + static inline uint32_t MDP5_CTL_LAYER_REG_VIG1(enum mdp_mixer_stage_id val) 316 + { 317 + return ((val) << MDP5_CTL_LAYER_REG_VIG1__SHIFT) & MDP5_CTL_LAYER_REG_VIG1__MASK; 318 + } 319 + #define MDP5_CTL_LAYER_REG_VIG2__MASK 0x000001c0 320 + #define MDP5_CTL_LAYER_REG_VIG2__SHIFT 6 321 + static inline uint32_t MDP5_CTL_LAYER_REG_VIG2(enum mdp_mixer_stage_id val) 322 + { 323 + return ((val) << MDP5_CTL_LAYER_REG_VIG2__SHIFT) & MDP5_CTL_LAYER_REG_VIG2__MASK; 324 + } 325 + #define MDP5_CTL_LAYER_REG_RGB0__MASK 0x00000e00 326 + #define MDP5_CTL_LAYER_REG_RGB0__SHIFT 9 327 + static inline uint32_t MDP5_CTL_LAYER_REG_RGB0(enum mdp_mixer_stage_id val) 328 + { 329 + return ((val) << MDP5_CTL_LAYER_REG_RGB0__SHIFT) & MDP5_CTL_LAYER_REG_RGB0__MASK; 330 + } 331 + #define MDP5_CTL_LAYER_REG_RGB1__MASK 0x00007000 332 + #define MDP5_CTL_LAYER_REG_RGB1__SHIFT 12 333 + static inline uint32_t MDP5_CTL_LAYER_REG_RGB1(enum mdp_mixer_stage_id val) 334 + { 335 + return ((val) << MDP5_CTL_LAYER_REG_RGB1__SHIFT) & MDP5_CTL_LAYER_REG_RGB1__MASK; 336 + } 337 + #define MDP5_CTL_LAYER_REG_RGB2__MASK 0x00038000 338 + #define MDP5_CTL_LAYER_REG_RGB2__SHIFT 15 339 + static inline uint32_t MDP5_CTL_LAYER_REG_RGB2(enum mdp_mixer_stage_id val) 340 + { 341 + return ((val) << MDP5_CTL_LAYER_REG_RGB2__SHIFT) & MDP5_CTL_LAYER_REG_RGB2__MASK; 342 + } 343 + #define MDP5_CTL_LAYER_REG_DMA0__MASK 0x001c0000 344 + #define MDP5_CTL_LAYER_REG_DMA0__SHIFT 18 345 + static inline uint32_t MDP5_CTL_LAYER_REG_DMA0(enum mdp_mixer_stage_id val) 346 + { 347 + return ((val) << MDP5_CTL_LAYER_REG_DMA0__SHIFT) & MDP5_CTL_LAYER_REG_DMA0__MASK; 348 + } 349 + #define MDP5_CTL_LAYER_REG_DMA1__MASK 0x00e00000 350 + #define MDP5_CTL_LAYER_REG_DMA1__SHIFT 21 351 + static inline uint32_t MDP5_CTL_LAYER_REG_DMA1(enum mdp_mixer_stage_id val) 352 + { 353 + return ((val) << MDP5_CTL_LAYER_REG_DMA1__SHIFT) & MDP5_CTL_LAYER_REG_DMA1__MASK; 354 + } 355 + #define MDP5_CTL_LAYER_REG_BORDER_COLOR 0x01000000 356 + #define MDP5_CTL_LAYER_REG_CURSOR_OUT 0x02000000 357 + 358 + static inline uint32_t REG_MDP5_CTL_OP(uint32_t i0) { return 0x00000614 + 0x100*i0; } 359 + #define MDP5_CTL_OP_MODE__MASK 0x0000000f 360 + #define MDP5_CTL_OP_MODE__SHIFT 0 361 + static inline uint32_t MDP5_CTL_OP_MODE(enum mdp5_ctl_mode val) 362 + { 363 + return ((val) << MDP5_CTL_OP_MODE__SHIFT) & MDP5_CTL_OP_MODE__MASK; 364 + } 365 + #define MDP5_CTL_OP_INTF_NUM__MASK 0x00000070 366 + #define MDP5_CTL_OP_INTF_NUM__SHIFT 4 367 + static inline uint32_t MDP5_CTL_OP_INTF_NUM(enum mdp5_intfnum val) 368 + { 369 + return ((val) << MDP5_CTL_OP_INTF_NUM__SHIFT) & MDP5_CTL_OP_INTF_NUM__MASK; 370 + } 371 + #define MDP5_CTL_OP_CMD_MODE 0x00020000 372 + #define MDP5_CTL_OP_PACK_3D_ENABLE 0x00080000 373 + #define MDP5_CTL_OP_PACK_3D__MASK 0x00300000 374 + #define MDP5_CTL_OP_PACK_3D__SHIFT 20 375 + static inline uint32_t MDP5_CTL_OP_PACK_3D(enum mdp5_pack_3d val) 376 + { 377 + return ((val) << MDP5_CTL_OP_PACK_3D__SHIFT) & MDP5_CTL_OP_PACK_3D__MASK; 378 + } 379 + 380 + static inline uint32_t REG_MDP5_CTL_FLUSH(uint32_t i0) { return 0x00000618 + 0x100*i0; } 381 + #define MDP5_CTL_FLUSH_VIG0 0x00000001 382 + #define MDP5_CTL_FLUSH_VIG1 0x00000002 383 + #define MDP5_CTL_FLUSH_VIG2 0x00000004 384 + #define MDP5_CTL_FLUSH_RGB0 0x00000008 385 + #define MDP5_CTL_FLUSH_RGB1 0x00000010 386 + #define MDP5_CTL_FLUSH_RGB2 0x00000020 387 + #define MDP5_CTL_FLUSH_LM0 0x00000040 388 + #define MDP5_CTL_FLUSH_LM1 0x00000080 389 + #define MDP5_CTL_FLUSH_LM2 0x00000100 390 + #define MDP5_CTL_FLUSH_DMA0 0x00000800 391 + #define MDP5_CTL_FLUSH_DMA1 0x00001000 392 + #define MDP5_CTL_FLUSH_DSPP0 0x00002000 393 + #define MDP5_CTL_FLUSH_DSPP1 0x00004000 394 + #define MDP5_CTL_FLUSH_DSPP2 0x00008000 395 + #define MDP5_CTL_FLUSH_CTL 0x00020000 396 + 397 + static inline uint32_t REG_MDP5_CTL_START(uint32_t i0) { return 0x0000061c + 0x100*i0; } 398 + 399 + static inline uint32_t REG_MDP5_CTL_PACK_3D(uint32_t i0) { return 0x00000620 + 0x100*i0; } 400 + 401 + static inline uint32_t REG_MDP5_PIPE(enum mdp5_pipe i0) { return 0x00001200 + 0x400*i0; } 402 + 403 + static inline uint32_t REG_MDP5_PIPE_HIST_CTL_BASE(enum mdp5_pipe i0) { return 0x000014c4 + 0x400*i0; } 404 + 405 + static inline uint32_t REG_MDP5_PIPE_HIST_LUT_BASE(enum mdp5_pipe i0) { return 0x000014f0 + 0x400*i0; } 406 + 407 + static inline uint32_t REG_MDP5_PIPE_HIST_LUT_SWAP(enum mdp5_pipe i0) { return 0x00001500 + 0x400*i0; } 408 + 409 + static inline uint32_t REG_MDP5_PIPE_SRC_SIZE(enum mdp5_pipe i0) { return 0x00001200 + 0x400*i0; } 410 + #define MDP5_PIPE_SRC_SIZE_HEIGHT__MASK 0xffff0000 411 + #define MDP5_PIPE_SRC_SIZE_HEIGHT__SHIFT 16 412 + static inline uint32_t MDP5_PIPE_SRC_SIZE_HEIGHT(uint32_t val) 413 + { 414 + return ((val) << MDP5_PIPE_SRC_SIZE_HEIGHT__SHIFT) & MDP5_PIPE_SRC_SIZE_HEIGHT__MASK; 415 + } 416 + #define MDP5_PIPE_SRC_SIZE_WIDTH__MASK 0x0000ffff 417 + #define MDP5_PIPE_SRC_SIZE_WIDTH__SHIFT 0 418 + static inline uint32_t MDP5_PIPE_SRC_SIZE_WIDTH(uint32_t val) 419 + { 420 + return ((val) << MDP5_PIPE_SRC_SIZE_WIDTH__SHIFT) & MDP5_PIPE_SRC_SIZE_WIDTH__MASK; 421 + } 422 + 423 + static inline uint32_t REG_MDP5_PIPE_SRC_IMG_SIZE(enum mdp5_pipe i0) { return 0x00001204 + 0x400*i0; } 424 + #define MDP5_PIPE_SRC_IMG_SIZE_HEIGHT__MASK 0xffff0000 425 + #define MDP5_PIPE_SRC_IMG_SIZE_HEIGHT__SHIFT 16 426 + static inline uint32_t MDP5_PIPE_SRC_IMG_SIZE_HEIGHT(uint32_t val) 427 + { 428 + return ((val) << MDP5_PIPE_SRC_IMG_SIZE_HEIGHT__SHIFT) & MDP5_PIPE_SRC_IMG_SIZE_HEIGHT__MASK; 429 + } 430 + #define MDP5_PIPE_SRC_IMG_SIZE_WIDTH__MASK 0x0000ffff 431 + #define MDP5_PIPE_SRC_IMG_SIZE_WIDTH__SHIFT 0 432 + static inline uint32_t MDP5_PIPE_SRC_IMG_SIZE_WIDTH(uint32_t val) 433 + { 434 + return ((val) << MDP5_PIPE_SRC_IMG_SIZE_WIDTH__SHIFT) & MDP5_PIPE_SRC_IMG_SIZE_WIDTH__MASK; 435 + } 436 + 437 + static inline uint32_t REG_MDP5_PIPE_SRC_XY(enum mdp5_pipe i0) { return 0x00001208 + 0x400*i0; } 438 + #define MDP5_PIPE_SRC_XY_Y__MASK 0xffff0000 439 + #define MDP5_PIPE_SRC_XY_Y__SHIFT 16 440 + static inline uint32_t MDP5_PIPE_SRC_XY_Y(uint32_t val) 441 + { 442 + return ((val) << MDP5_PIPE_SRC_XY_Y__SHIFT) & MDP5_PIPE_SRC_XY_Y__MASK; 443 + } 444 + #define MDP5_PIPE_SRC_XY_X__MASK 0x0000ffff 445 + #define MDP5_PIPE_SRC_XY_X__SHIFT 0 446 + static inline uint32_t MDP5_PIPE_SRC_XY_X(uint32_t val) 447 + { 448 + return ((val) << MDP5_PIPE_SRC_XY_X__SHIFT) & MDP5_PIPE_SRC_XY_X__MASK; 449 + } 450 + 451 + static inline uint32_t REG_MDP5_PIPE_OUT_SIZE(enum mdp5_pipe i0) { return 0x0000120c + 0x400*i0; } 452 + #define MDP5_PIPE_OUT_SIZE_HEIGHT__MASK 0xffff0000 453 + #define MDP5_PIPE_OUT_SIZE_HEIGHT__SHIFT 16 454 + static inline uint32_t MDP5_PIPE_OUT_SIZE_HEIGHT(uint32_t val) 455 + { 456 + return ((val) << MDP5_PIPE_OUT_SIZE_HEIGHT__SHIFT) & MDP5_PIPE_OUT_SIZE_HEIGHT__MASK; 457 + } 458 + #define MDP5_PIPE_OUT_SIZE_WIDTH__MASK 0x0000ffff 459 + #define MDP5_PIPE_OUT_SIZE_WIDTH__SHIFT 0 460 + static inline uint32_t MDP5_PIPE_OUT_SIZE_WIDTH(uint32_t val) 461 + { 462 + return ((val) << MDP5_PIPE_OUT_SIZE_WIDTH__SHIFT) & MDP5_PIPE_OUT_SIZE_WIDTH__MASK; 463 + } 464 + 465 + static inline uint32_t REG_MDP5_PIPE_OUT_XY(enum mdp5_pipe i0) { return 0x00001210 + 0x400*i0; } 466 + #define MDP5_PIPE_OUT_XY_Y__MASK 0xffff0000 467 + #define MDP5_PIPE_OUT_XY_Y__SHIFT 16 468 + static inline uint32_t MDP5_PIPE_OUT_XY_Y(uint32_t val) 469 + { 470 + return ((val) << MDP5_PIPE_OUT_XY_Y__SHIFT) & MDP5_PIPE_OUT_XY_Y__MASK; 471 + } 472 + #define MDP5_PIPE_OUT_XY_X__MASK 0x0000ffff 473 + #define MDP5_PIPE_OUT_XY_X__SHIFT 0 474 + static inline uint32_t MDP5_PIPE_OUT_XY_X(uint32_t val) 475 + { 476 + return ((val) << MDP5_PIPE_OUT_XY_X__SHIFT) & MDP5_PIPE_OUT_XY_X__MASK; 477 + } 478 + 479 + static inline uint32_t REG_MDP5_PIPE_SRC0_ADDR(enum mdp5_pipe i0) { return 0x00001214 + 0x400*i0; } 480 + 481 + static inline uint32_t REG_MDP5_PIPE_SRC1_ADDR(enum mdp5_pipe i0) { return 0x00001218 + 0x400*i0; } 482 + 483 + static inline uint32_t REG_MDP5_PIPE_SRC2_ADDR(enum mdp5_pipe i0) { return 0x0000121c + 0x400*i0; } 484 + 485 + static inline uint32_t REG_MDP5_PIPE_SRC3_ADDR(enum mdp5_pipe i0) { return 0x00001220 + 0x400*i0; } 486 + 487 + static inline uint32_t REG_MDP5_PIPE_SRC_STRIDE_A(enum mdp5_pipe i0) { return 0x00001224 + 0x400*i0; } 488 + #define MDP5_PIPE_SRC_STRIDE_A_P0__MASK 0x0000ffff 489 + #define MDP5_PIPE_SRC_STRIDE_A_P0__SHIFT 0 490 + static inline uint32_t MDP5_PIPE_SRC_STRIDE_A_P0(uint32_t val) 491 + { 492 + return ((val) << MDP5_PIPE_SRC_STRIDE_A_P0__SHIFT) & MDP5_PIPE_SRC_STRIDE_A_P0__MASK; 493 + } 494 + #define MDP5_PIPE_SRC_STRIDE_A_P1__MASK 0xffff0000 495 + #define MDP5_PIPE_SRC_STRIDE_A_P1__SHIFT 16 496 + static inline uint32_t MDP5_PIPE_SRC_STRIDE_A_P1(uint32_t val) 497 + { 498 + return ((val) << MDP5_PIPE_SRC_STRIDE_A_P1__SHIFT) & MDP5_PIPE_SRC_STRIDE_A_P1__MASK; 499 + } 500 + 501 + static inline uint32_t REG_MDP5_PIPE_SRC_STRIDE_B(enum mdp5_pipe i0) { return 0x00001228 + 0x400*i0; } 502 + #define MDP5_PIPE_SRC_STRIDE_B_P2__MASK 0x0000ffff 503 + #define MDP5_PIPE_SRC_STRIDE_B_P2__SHIFT 0 504 + static inline uint32_t MDP5_PIPE_SRC_STRIDE_B_P2(uint32_t val) 505 + { 506 + return ((val) << MDP5_PIPE_SRC_STRIDE_B_P2__SHIFT) & MDP5_PIPE_SRC_STRIDE_B_P2__MASK; 507 + } 508 + #define MDP5_PIPE_SRC_STRIDE_B_P3__MASK 0xffff0000 509 + #define MDP5_PIPE_SRC_STRIDE_B_P3__SHIFT 16 510 + static inline uint32_t MDP5_PIPE_SRC_STRIDE_B_P3(uint32_t val) 511 + { 512 + return ((val) << MDP5_PIPE_SRC_STRIDE_B_P3__SHIFT) & MDP5_PIPE_SRC_STRIDE_B_P3__MASK; 513 + } 514 + 515 + static inline uint32_t REG_MDP5_PIPE_STILE_FRAME_SIZE(enum mdp5_pipe i0) { return 0x0000122c + 0x400*i0; } 516 + 517 + static inline uint32_t REG_MDP5_PIPE_SRC_FORMAT(enum mdp5_pipe i0) { return 0x00001230 + 0x400*i0; } 518 + #define MDP5_PIPE_SRC_FORMAT_G_BPC__MASK 0x00000003 519 + #define MDP5_PIPE_SRC_FORMAT_G_BPC__SHIFT 0 520 + static inline uint32_t MDP5_PIPE_SRC_FORMAT_G_BPC(enum mdp_bpc val) 521 + { 522 + return ((val) << MDP5_PIPE_SRC_FORMAT_G_BPC__SHIFT) & MDP5_PIPE_SRC_FORMAT_G_BPC__MASK; 523 + } 524 + #define MDP5_PIPE_SRC_FORMAT_B_BPC__MASK 0x0000000c 525 + #define MDP5_PIPE_SRC_FORMAT_B_BPC__SHIFT 2 526 + static inline uint32_t MDP5_PIPE_SRC_FORMAT_B_BPC(enum mdp_bpc val) 527 + { 528 + return ((val) << MDP5_PIPE_SRC_FORMAT_B_BPC__SHIFT) & MDP5_PIPE_SRC_FORMAT_B_BPC__MASK; 529 + } 530 + #define MDP5_PIPE_SRC_FORMAT_R_BPC__MASK 0x00000030 531 + #define MDP5_PIPE_SRC_FORMAT_R_BPC__SHIFT 4 532 + static inline uint32_t MDP5_PIPE_SRC_FORMAT_R_BPC(enum mdp_bpc val) 533 + { 534 + return ((val) << MDP5_PIPE_SRC_FORMAT_R_BPC__SHIFT) & MDP5_PIPE_SRC_FORMAT_R_BPC__MASK; 535 + } 536 + #define MDP5_PIPE_SRC_FORMAT_A_BPC__MASK 0x000000c0 537 + #define MDP5_PIPE_SRC_FORMAT_A_BPC__SHIFT 6 538 + static inline uint32_t MDP5_PIPE_SRC_FORMAT_A_BPC(enum mdp_bpc_alpha val) 539 + { 540 + return ((val) << MDP5_PIPE_SRC_FORMAT_A_BPC__SHIFT) & MDP5_PIPE_SRC_FORMAT_A_BPC__MASK; 541 + } 542 + #define MDP5_PIPE_SRC_FORMAT_ALPHA_ENABLE 0x00000100 543 + #define MDP5_PIPE_SRC_FORMAT_CPP__MASK 0x00000600 544 + #define MDP5_PIPE_SRC_FORMAT_CPP__SHIFT 9 545 + static inline uint32_t MDP5_PIPE_SRC_FORMAT_CPP(uint32_t val) 546 + { 547 + return ((val) << MDP5_PIPE_SRC_FORMAT_CPP__SHIFT) & MDP5_PIPE_SRC_FORMAT_CPP__MASK; 548 + } 549 + #define MDP5_PIPE_SRC_FORMAT_ROT90 0x00000800 550 + #define MDP5_PIPE_SRC_FORMAT_UNPACK_COUNT__MASK 0x00003000 551 + #define MDP5_PIPE_SRC_FORMAT_UNPACK_COUNT__SHIFT 12 552 + static inline uint32_t MDP5_PIPE_SRC_FORMAT_UNPACK_COUNT(uint32_t val) 553 + { 554 + return ((val) << MDP5_PIPE_SRC_FORMAT_UNPACK_COUNT__SHIFT) & MDP5_PIPE_SRC_FORMAT_UNPACK_COUNT__MASK; 555 + } 556 + #define MDP5_PIPE_SRC_FORMAT_UNPACK_TIGHT 0x00020000 557 + #define MDP5_PIPE_SRC_FORMAT_UNPACK_ALIGN_MSB 0x00040000 558 + #define MDP5_PIPE_SRC_FORMAT_NUM_PLANES__MASK 0x00780000 559 + #define MDP5_PIPE_SRC_FORMAT_NUM_PLANES__SHIFT 19 560 + static inline uint32_t MDP5_PIPE_SRC_FORMAT_NUM_PLANES(uint32_t val) 561 + { 562 + return ((val) << MDP5_PIPE_SRC_FORMAT_NUM_PLANES__SHIFT) & MDP5_PIPE_SRC_FORMAT_NUM_PLANES__MASK; 563 + } 564 + #define MDP5_PIPE_SRC_FORMAT_CHROMA_SAMP__MASK 0x01800000 565 + #define MDP5_PIPE_SRC_FORMAT_CHROMA_SAMP__SHIFT 23 566 + static inline uint32_t MDP5_PIPE_SRC_FORMAT_CHROMA_SAMP(enum mdp5_chroma_samp_type val) 567 + { 568 + return ((val) << MDP5_PIPE_SRC_FORMAT_CHROMA_SAMP__SHIFT) & MDP5_PIPE_SRC_FORMAT_CHROMA_SAMP__MASK; 569 + } 570 + 571 + static inline uint32_t REG_MDP5_PIPE_SRC_UNPACK(enum mdp5_pipe i0) { return 0x00001234 + 0x400*i0; } 572 + #define MDP5_PIPE_SRC_UNPACK_ELEM0__MASK 0x000000ff 573 + #define MDP5_PIPE_SRC_UNPACK_ELEM0__SHIFT 0 574 + static inline uint32_t MDP5_PIPE_SRC_UNPACK_ELEM0(uint32_t val) 575 + { 576 + return ((val) << MDP5_PIPE_SRC_UNPACK_ELEM0__SHIFT) & MDP5_PIPE_SRC_UNPACK_ELEM0__MASK; 577 + } 578 + #define MDP5_PIPE_SRC_UNPACK_ELEM1__MASK 0x0000ff00 579 + #define MDP5_PIPE_SRC_UNPACK_ELEM1__SHIFT 8 580 + static inline uint32_t MDP5_PIPE_SRC_UNPACK_ELEM1(uint32_t val) 581 + { 582 + return ((val) << MDP5_PIPE_SRC_UNPACK_ELEM1__SHIFT) & MDP5_PIPE_SRC_UNPACK_ELEM1__MASK; 583 + } 584 + #define MDP5_PIPE_SRC_UNPACK_ELEM2__MASK 0x00ff0000 585 + #define MDP5_PIPE_SRC_UNPACK_ELEM2__SHIFT 16 586 + static inline uint32_t MDP5_PIPE_SRC_UNPACK_ELEM2(uint32_t val) 587 + { 588 + return ((val) << MDP5_PIPE_SRC_UNPACK_ELEM2__SHIFT) & MDP5_PIPE_SRC_UNPACK_ELEM2__MASK; 589 + } 590 + #define MDP5_PIPE_SRC_UNPACK_ELEM3__MASK 0xff000000 591 + #define MDP5_PIPE_SRC_UNPACK_ELEM3__SHIFT 24 592 + static inline uint32_t MDP5_PIPE_SRC_UNPACK_ELEM3(uint32_t val) 593 + { 594 + return ((val) << MDP5_PIPE_SRC_UNPACK_ELEM3__SHIFT) & MDP5_PIPE_SRC_UNPACK_ELEM3__MASK; 595 + } 596 + 597 + static inline uint32_t REG_MDP5_PIPE_SRC_OP_MODE(enum mdp5_pipe i0) { return 0x00001238 + 0x400*i0; } 598 + #define MDP5_PIPE_SRC_OP_MODE_BWC_EN 0x00000001 599 + #define MDP5_PIPE_SRC_OP_MODE_BWC__MASK 0x00000006 600 + #define MDP5_PIPE_SRC_OP_MODE_BWC__SHIFT 1 601 + static inline uint32_t MDP5_PIPE_SRC_OP_MODE_BWC(enum mdp5_pipe_bwc val) 602 + { 603 + return ((val) << MDP5_PIPE_SRC_OP_MODE_BWC__SHIFT) & MDP5_PIPE_SRC_OP_MODE_BWC__MASK; 604 + } 605 + #define MDP5_PIPE_SRC_OP_MODE_FLIP_LR 0x00002000 606 + #define MDP5_PIPE_SRC_OP_MODE_FLIP_UD 0x00004000 607 + #define MDP5_PIPE_SRC_OP_MODE_IGC_EN 0x00010000 608 + #define MDP5_PIPE_SRC_OP_MODE_IGC_ROM_0 0x00020000 609 + #define MDP5_PIPE_SRC_OP_MODE_IGC_ROM_1 0x00040000 610 + #define MDP5_PIPE_SRC_OP_MODE_DEINTERLACE 0x00400000 611 + #define MDP5_PIPE_SRC_OP_MODE_DEINTERLACE_ODD 0x00800000 612 + 613 + static inline uint32_t REG_MDP5_PIPE_SRC_CONSTANT_COLOR(enum mdp5_pipe i0) { return 0x0000123c + 0x400*i0; } 614 + 615 + static inline uint32_t REG_MDP5_PIPE_FETCH_CONFIG(enum mdp5_pipe i0) { return 0x00001248 + 0x400*i0; } 616 + 617 + static inline uint32_t REG_MDP5_PIPE_VC1_RANGE(enum mdp5_pipe i0) { return 0x0000124c + 0x400*i0; } 618 + 619 + static inline uint32_t REG_MDP5_PIPE_REQPRIO_FIFO_WM_0(enum mdp5_pipe i0) { return 0x00001250 + 0x400*i0; } 620 + 621 + static inline uint32_t REG_MDP5_PIPE_REQPRIO_FIFO_WM_1(enum mdp5_pipe i0) { return 0x00001254 + 0x400*i0; } 622 + 623 + static inline uint32_t REG_MDP5_PIPE_REQPRIO_FIFO_WM_2(enum mdp5_pipe i0) { return 0x00001258 + 0x400*i0; } 624 + 625 + static inline uint32_t REG_MDP5_PIPE_SRC_ADDR_SW_STATUS(enum mdp5_pipe i0) { return 0x00001270 + 0x400*i0; } 626 + 627 + static inline uint32_t REG_MDP5_PIPE_CURRENT_SRC0_ADDR(enum mdp5_pipe i0) { return 0x000012a4 + 0x400*i0; } 628 + 629 + static inline uint32_t REG_MDP5_PIPE_CURRENT_SRC1_ADDR(enum mdp5_pipe i0) { return 0x000012a8 + 0x400*i0; } 630 + 631 + static inline uint32_t REG_MDP5_PIPE_CURRENT_SRC2_ADDR(enum mdp5_pipe i0) { return 0x000012ac + 0x400*i0; } 632 + 633 + static inline uint32_t REG_MDP5_PIPE_CURRENT_SRC3_ADDR(enum mdp5_pipe i0) { return 0x000012b0 + 0x400*i0; } 634 + 635 + static inline uint32_t REG_MDP5_PIPE_DECIMATION(enum mdp5_pipe i0) { return 0x000012b4 + 0x400*i0; } 636 + #define MDP5_PIPE_DECIMATION_VERT__MASK 0x000000ff 637 + #define MDP5_PIPE_DECIMATION_VERT__SHIFT 0 638 + static inline uint32_t MDP5_PIPE_DECIMATION_VERT(uint32_t val) 639 + { 640 + return ((val) << MDP5_PIPE_DECIMATION_VERT__SHIFT) & MDP5_PIPE_DECIMATION_VERT__MASK; 641 + } 642 + #define MDP5_PIPE_DECIMATION_HORZ__MASK 0x0000ff00 643 + #define MDP5_PIPE_DECIMATION_HORZ__SHIFT 8 644 + static inline uint32_t MDP5_PIPE_DECIMATION_HORZ(uint32_t val) 645 + { 646 + return ((val) << MDP5_PIPE_DECIMATION_HORZ__SHIFT) & MDP5_PIPE_DECIMATION_HORZ__MASK; 647 + } 648 + 649 + static inline uint32_t REG_MDP5_PIPE_SCALE_CONFIG(enum mdp5_pipe i0) { return 0x00001404 + 0x400*i0; } 650 + #define MDP5_PIPE_SCALE_CONFIG_SCALEX_EN 0x00000001 651 + #define MDP5_PIPE_SCALE_CONFIG_SCALEY_EN 0x00000002 652 + #define MDP5_PIPE_SCALE_CONFIG_SCALEX_MIN_FILTER__MASK 0x00000300 653 + #define MDP5_PIPE_SCALE_CONFIG_SCALEX_MIN_FILTER__SHIFT 8 654 + static inline uint32_t MDP5_PIPE_SCALE_CONFIG_SCALEX_MIN_FILTER(enum mdp5_scale_filter val) 655 + { 656 + return ((val) << MDP5_PIPE_SCALE_CONFIG_SCALEX_MIN_FILTER__SHIFT) & MDP5_PIPE_SCALE_CONFIG_SCALEX_MIN_FILTER__MASK; 657 + } 658 + #define MDP5_PIPE_SCALE_CONFIG_SCALEY_MIN_FILTER__MASK 0x00000c00 659 + #define MDP5_PIPE_SCALE_CONFIG_SCALEY_MIN_FILTER__SHIFT 10 660 + static inline uint32_t MDP5_PIPE_SCALE_CONFIG_SCALEY_MIN_FILTER(enum mdp5_scale_filter val) 661 + { 662 + return ((val) << MDP5_PIPE_SCALE_CONFIG_SCALEY_MIN_FILTER__SHIFT) & MDP5_PIPE_SCALE_CONFIG_SCALEY_MIN_FILTER__MASK; 663 + } 664 + #define MDP5_PIPE_SCALE_CONFIG_SCALEX_CR_FILTER__MASK 0x00003000 665 + #define MDP5_PIPE_SCALE_CONFIG_SCALEX_CR_FILTER__SHIFT 12 666 + static inline uint32_t MDP5_PIPE_SCALE_CONFIG_SCALEX_CR_FILTER(enum mdp5_scale_filter val) 667 + { 668 + return ((val) << MDP5_PIPE_SCALE_CONFIG_SCALEX_CR_FILTER__SHIFT) & MDP5_PIPE_SCALE_CONFIG_SCALEX_CR_FILTER__MASK; 669 + } 670 + #define MDP5_PIPE_SCALE_CONFIG_SCALEY_CR_FILTER__MASK 0x0000c000 671 + #define MDP5_PIPE_SCALE_CONFIG_SCALEY_CR_FILTER__SHIFT 14 672 + static inline uint32_t MDP5_PIPE_SCALE_CONFIG_SCALEY_CR_FILTER(enum mdp5_scale_filter val) 673 + { 674 + return ((val) << MDP5_PIPE_SCALE_CONFIG_SCALEY_CR_FILTER__SHIFT) & MDP5_PIPE_SCALE_CONFIG_SCALEY_CR_FILTER__MASK; 675 + } 676 + #define MDP5_PIPE_SCALE_CONFIG_SCALEX_MAX_FILTER__MASK 0x00030000 677 + #define MDP5_PIPE_SCALE_CONFIG_SCALEX_MAX_FILTER__SHIFT 16 678 + static inline uint32_t MDP5_PIPE_SCALE_CONFIG_SCALEX_MAX_FILTER(enum mdp5_scale_filter val) 679 + { 680 + return ((val) << MDP5_PIPE_SCALE_CONFIG_SCALEX_MAX_FILTER__SHIFT) & MDP5_PIPE_SCALE_CONFIG_SCALEX_MAX_FILTER__MASK; 681 + } 682 + #define MDP5_PIPE_SCALE_CONFIG_SCALEY_MAX_FILTER__MASK 0x000c0000 683 + #define MDP5_PIPE_SCALE_CONFIG_SCALEY_MAX_FILTER__SHIFT 18 684 + static inline uint32_t MDP5_PIPE_SCALE_CONFIG_SCALEY_MAX_FILTER(enum mdp5_scale_filter val) 685 + { 686 + return ((val) << MDP5_PIPE_SCALE_CONFIG_SCALEY_MAX_FILTER__SHIFT) & MDP5_PIPE_SCALE_CONFIG_SCALEY_MAX_FILTER__MASK; 687 + } 688 + 689 + static inline uint32_t REG_MDP5_PIPE_SCALE_PHASE_STEP_X(enum mdp5_pipe i0) { return 0x00001410 + 0x400*i0; } 690 + 691 + static inline uint32_t REG_MDP5_PIPE_SCALE_PHASE_STEP_Y(enum mdp5_pipe i0) { return 0x00001414 + 0x400*i0; } 692 + 693 + static inline uint32_t REG_MDP5_PIPE_SCALE_INIT_PHASE_X(enum mdp5_pipe i0) { return 0x00001420 + 0x400*i0; } 694 + 695 + static inline uint32_t REG_MDP5_PIPE_SCALE_INIT_PHASE_Y(enum mdp5_pipe i0) { return 0x00001424 + 0x400*i0; } 696 + 697 + static inline uint32_t REG_MDP5_LM(uint32_t i0) { return 0x00003200 + 0x400*i0; } 698 + 699 + static inline uint32_t REG_MDP5_LM_BLEND_COLOR_OUT(uint32_t i0) { return 0x00003200 + 0x400*i0; } 700 + #define MDP5_LM_BLEND_COLOR_OUT_STAGE0_FG_ALPHA 0x00000002 701 + #define MDP5_LM_BLEND_COLOR_OUT_STAGE1_FG_ALPHA 0x00000004 702 + #define MDP5_LM_BLEND_COLOR_OUT_STAGE2_FG_ALPHA 0x00000008 703 + #define MDP5_LM_BLEND_COLOR_OUT_STAGE3_FG_ALPHA 0x00000010 704 + 705 + static inline uint32_t REG_MDP5_LM_OUT_SIZE(uint32_t i0) { return 0x00003204 + 0x400*i0; } 706 + #define MDP5_LM_OUT_SIZE_HEIGHT__MASK 0xffff0000 707 + #define MDP5_LM_OUT_SIZE_HEIGHT__SHIFT 16 708 + static inline uint32_t MDP5_LM_OUT_SIZE_HEIGHT(uint32_t val) 709 + { 710 + return ((val) << MDP5_LM_OUT_SIZE_HEIGHT__SHIFT) & MDP5_LM_OUT_SIZE_HEIGHT__MASK; 711 + } 712 + #define MDP5_LM_OUT_SIZE_WIDTH__MASK 0x0000ffff 713 + #define MDP5_LM_OUT_SIZE_WIDTH__SHIFT 0 714 + static inline uint32_t MDP5_LM_OUT_SIZE_WIDTH(uint32_t val) 715 + { 716 + return ((val) << MDP5_LM_OUT_SIZE_WIDTH__SHIFT) & MDP5_LM_OUT_SIZE_WIDTH__MASK; 717 + } 718 + 719 + static inline uint32_t REG_MDP5_LM_BORDER_COLOR_0(uint32_t i0) { return 0x00003208 + 0x400*i0; } 720 + 721 + static inline uint32_t REG_MDP5_LM_BORDER_COLOR_1(uint32_t i0) { return 0x00003210 + 0x400*i0; } 722 + 723 + static inline uint32_t REG_MDP5_LM_BLEND(uint32_t i0, uint32_t i1) { return 0x00003220 + 0x400*i0 + 0x30*i1; } 724 + 725 + static inline uint32_t REG_MDP5_LM_BLEND_OP_MODE(uint32_t i0, uint32_t i1) { return 0x00003220 + 0x400*i0 + 0x30*i1; } 726 + #define MDP5_LM_BLEND_OP_MODE_FG_ALPHA__MASK 0x00000003 727 + #define MDP5_LM_BLEND_OP_MODE_FG_ALPHA__SHIFT 0 728 + static inline uint32_t MDP5_LM_BLEND_OP_MODE_FG_ALPHA(enum mdp_alpha_type val) 729 + { 730 + return ((val) << MDP5_LM_BLEND_OP_MODE_FG_ALPHA__SHIFT) & MDP5_LM_BLEND_OP_MODE_FG_ALPHA__MASK; 731 + } 732 + #define MDP5_LM_BLEND_OP_MODE_FG_INV_ALPHA 0x00000004 733 + #define MDP5_LM_BLEND_OP_MODE_FG_MOD_ALPHA 0x00000008 734 + #define MDP5_LM_BLEND_OP_MODE_FG_INV_MOD_ALPHA 0x00000010 735 + #define MDP5_LM_BLEND_OP_MODE_FG_TRANSP_EN 0x00000020 736 + #define MDP5_LM_BLEND_OP_MODE_BG_ALPHA__MASK 0x00000300 737 + #define MDP5_LM_BLEND_OP_MODE_BG_ALPHA__SHIFT 8 738 + static inline uint32_t MDP5_LM_BLEND_OP_MODE_BG_ALPHA(enum mdp_alpha_type val) 739 + { 740 + return ((val) << MDP5_LM_BLEND_OP_MODE_BG_ALPHA__SHIFT) & MDP5_LM_BLEND_OP_MODE_BG_ALPHA__MASK; 741 + } 742 + #define MDP5_LM_BLEND_OP_MODE_BG_INV_ALPHA 0x00000400 743 + #define MDP5_LM_BLEND_OP_MODE_BG_MOD_ALPHA 0x00000800 744 + #define MDP5_LM_BLEND_OP_MODE_BG_INV_MOD_ALPHA 0x00001000 745 + #define MDP5_LM_BLEND_OP_MODE_BG_TRANSP_EN 0x00002000 746 + 747 + static inline uint32_t REG_MDP5_LM_BLEND_FG_ALPHA(uint32_t i0, uint32_t i1) { return 0x00003224 + 0x400*i0 + 0x30*i1; } 748 + 749 + static inline uint32_t REG_MDP5_LM_BLEND_BG_ALPHA(uint32_t i0, uint32_t i1) { return 0x00003228 + 0x400*i0 + 0x30*i1; } 750 + 751 + static inline uint32_t REG_MDP5_LM_BLEND_FG_TRANSP_LOW0(uint32_t i0, uint32_t i1) { return 0x0000322c + 0x400*i0 + 0x30*i1; } 752 + 753 + static inline uint32_t REG_MDP5_LM_BLEND_FG_TRANSP_LOW1(uint32_t i0, uint32_t i1) { return 0x00003230 + 0x400*i0 + 0x30*i1; } 754 + 755 + static inline uint32_t REG_MDP5_LM_BLEND_FG_TRANSP_HIGH0(uint32_t i0, uint32_t i1) { return 0x00003234 + 0x400*i0 + 0x30*i1; } 756 + 757 + static inline uint32_t REG_MDP5_LM_BLEND_FG_TRANSP_HIGH1(uint32_t i0, uint32_t i1) { return 0x00003238 + 0x400*i0 + 0x30*i1; } 758 + 759 + static inline uint32_t REG_MDP5_LM_BLEND_BG_TRANSP_LOW0(uint32_t i0, uint32_t i1) { return 0x0000323c + 0x400*i0 + 0x30*i1; } 760 + 761 + static inline uint32_t REG_MDP5_LM_BLEND_BG_TRANSP_LOW1(uint32_t i0, uint32_t i1) { return 0x00003240 + 0x400*i0 + 0x30*i1; } 762 + 763 + static inline uint32_t REG_MDP5_LM_BLEND_BG_TRANSP_HIGH0(uint32_t i0, uint32_t i1) { return 0x00003244 + 0x400*i0 + 0x30*i1; } 764 + 765 + static inline uint32_t REG_MDP5_LM_BLEND_BG_TRANSP_HIGH1(uint32_t i0, uint32_t i1) { return 0x00003248 + 0x400*i0 + 0x30*i1; } 766 + 767 + static inline uint32_t REG_MDP5_LM_CURSOR_IMG_SIZE(uint32_t i0) { return 0x000032e0 + 0x400*i0; } 768 + 769 + static inline uint32_t REG_MDP5_LM_CURSOR_SIZE(uint32_t i0) { return 0x000032e4 + 0x400*i0; } 770 + 771 + static inline uint32_t REG_MDP5_LM_CURSOR_XY(uint32_t i0) { return 0x000032e8 + 0x400*i0; } 772 + 773 + static inline uint32_t REG_MDP5_LM_CURSOR_STRIDE(uint32_t i0) { return 0x000032dc + 0x400*i0; } 774 + 775 + static inline uint32_t REG_MDP5_LM_CURSOR_FORMAT(uint32_t i0) { return 0x000032ec + 0x400*i0; } 776 + 777 + static inline uint32_t REG_MDP5_LM_CURSOR_BASE_ADDR(uint32_t i0) { return 0x000032f0 + 0x400*i0; } 778 + 779 + static inline uint32_t REG_MDP5_LM_CURSOR_START_XY(uint32_t i0) { return 0x000032f4 + 0x400*i0; } 780 + 781 + static inline uint32_t REG_MDP5_LM_CURSOR_BLEND_CONFIG(uint32_t i0) { return 0x000032f8 + 0x400*i0; } 782 + 783 + static inline uint32_t REG_MDP5_LM_CURSOR_BLEND_PARAM(uint32_t i0) { return 0x000032fc + 0x400*i0; } 784 + 785 + static inline uint32_t REG_MDP5_LM_CURSOR_BLEND_TRANSP_LOW0(uint32_t i0) { return 0x00003300 + 0x400*i0; } 786 + 787 + static inline uint32_t REG_MDP5_LM_CURSOR_BLEND_TRANSP_LOW1(uint32_t i0) { return 0x00003304 + 0x400*i0; } 788 + 789 + static inline uint32_t REG_MDP5_LM_CURSOR_BLEND_TRANSP_HIGH0(uint32_t i0) { return 0x00003308 + 0x400*i0; } 790 + 791 + static inline uint32_t REG_MDP5_LM_CURSOR_BLEND_TRANSP_HIGH1(uint32_t i0) { return 0x0000330c + 0x400*i0; } 792 + 793 + static inline uint32_t REG_MDP5_LM_GC_LUT_BASE(uint32_t i0) { return 0x00003310 + 0x400*i0; } 794 + 795 + static inline uint32_t REG_MDP5_DSPP(uint32_t i0) { return 0x00004600 + 0x400*i0; } 796 + 797 + static inline uint32_t REG_MDP5_DSPP_OP_MODE(uint32_t i0) { return 0x00004600 + 0x400*i0; } 798 + #define MDP5_DSPP_OP_MODE_IGC_LUT_EN 0x00000001 799 + #define MDP5_DSPP_OP_MODE_IGC_TBL_IDX__MASK 0x0000000e 800 + #define MDP5_DSPP_OP_MODE_IGC_TBL_IDX__SHIFT 1 801 + static inline uint32_t MDP5_DSPP_OP_MODE_IGC_TBL_IDX(uint32_t val) 802 + { 803 + return ((val) << MDP5_DSPP_OP_MODE_IGC_TBL_IDX__SHIFT) & MDP5_DSPP_OP_MODE_IGC_TBL_IDX__MASK; 804 + } 805 + #define MDP5_DSPP_OP_MODE_PCC_EN 0x00000010 806 + #define MDP5_DSPP_OP_MODE_DITHER_EN 0x00000100 807 + #define MDP5_DSPP_OP_MODE_HIST_EN 0x00010000 808 + #define MDP5_DSPP_OP_MODE_AUTO_CLEAR 0x00020000 809 + #define MDP5_DSPP_OP_MODE_HIST_LUT_EN 0x00080000 810 + #define MDP5_DSPP_OP_MODE_PA_EN 0x00100000 811 + #define MDP5_DSPP_OP_MODE_GAMUT_EN 0x00800000 812 + #define MDP5_DSPP_OP_MODE_GAMUT_ORDER 0x01000000 813 + 814 + static inline uint32_t REG_MDP5_DSPP_PCC_BASE(uint32_t i0) { return 0x00004630 + 0x400*i0; } 815 + 816 + static inline uint32_t REG_MDP5_DSPP_DITHER_DEPTH(uint32_t i0) { return 0x00004750 + 0x400*i0; } 817 + 818 + static inline uint32_t REG_MDP5_DSPP_HIST_CTL_BASE(uint32_t i0) { return 0x00004810 + 0x400*i0; } 819 + 820 + static inline uint32_t REG_MDP5_DSPP_HIST_LUT_BASE(uint32_t i0) { return 0x00004830 + 0x400*i0; } 821 + 822 + static inline uint32_t REG_MDP5_DSPP_HIST_LUT_SWAP(uint32_t i0) { return 0x00004834 + 0x400*i0; } 823 + 824 + static inline uint32_t REG_MDP5_DSPP_PA_BASE(uint32_t i0) { return 0x00004838 + 0x400*i0; } 825 + 826 + static inline uint32_t REG_MDP5_DSPP_GAMUT_BASE(uint32_t i0) { return 0x000048dc + 0x400*i0; } 827 + 828 + static inline uint32_t REG_MDP5_DSPP_GC_BASE(uint32_t i0) { return 0x000048b0 + 0x400*i0; } 829 + 830 + static inline uint32_t REG_MDP5_INTF(uint32_t i0) { return 0x00012500 + 0x200*i0; } 831 + 832 + static inline uint32_t REG_MDP5_INTF_TIMING_ENGINE_EN(uint32_t i0) { return 0x00012500 + 0x200*i0; } 833 + 834 + static inline uint32_t REG_MDP5_INTF_CONFIG(uint32_t i0) { return 0x00012504 + 0x200*i0; } 835 + 836 + static inline uint32_t REG_MDP5_INTF_HSYNC_CTL(uint32_t i0) { return 0x00012508 + 0x200*i0; } 837 + #define MDP5_INTF_HSYNC_CTL_PULSEW__MASK 0x0000ffff 838 + #define MDP5_INTF_HSYNC_CTL_PULSEW__SHIFT 0 839 + static inline uint32_t MDP5_INTF_HSYNC_CTL_PULSEW(uint32_t val) 840 + { 841 + return ((val) << MDP5_INTF_HSYNC_CTL_PULSEW__SHIFT) & MDP5_INTF_HSYNC_CTL_PULSEW__MASK; 842 + } 843 + #define MDP5_INTF_HSYNC_CTL_PERIOD__MASK 0xffff0000 844 + #define MDP5_INTF_HSYNC_CTL_PERIOD__SHIFT 16 845 + static inline uint32_t MDP5_INTF_HSYNC_CTL_PERIOD(uint32_t val) 846 + { 847 + return ((val) << MDP5_INTF_HSYNC_CTL_PERIOD__SHIFT) & MDP5_INTF_HSYNC_CTL_PERIOD__MASK; 848 + } 849 + 850 + static inline uint32_t REG_MDP5_INTF_VSYNC_PERIOD_F0(uint32_t i0) { return 0x0001250c + 0x200*i0; } 851 + 852 + static inline uint32_t REG_MDP5_INTF_VSYNC_PERIOD_F1(uint32_t i0) { return 0x00012510 + 0x200*i0; } 853 + 854 + static inline uint32_t REG_MDP5_INTF_VSYNC_LEN_F0(uint32_t i0) { return 0x00012514 + 0x200*i0; } 855 + 856 + static inline uint32_t REG_MDP5_INTF_VSYNC_LEN_F1(uint32_t i0) { return 0x00012518 + 0x200*i0; } 857 + 858 + static inline uint32_t REG_MDP5_INTF_DISPLAY_VSTART_F0(uint32_t i0) { return 0x0001251c + 0x200*i0; } 859 + 860 + static inline uint32_t REG_MDP5_INTF_DISPLAY_VSTART_F1(uint32_t i0) { return 0x00012520 + 0x200*i0; } 861 + 862 + static inline uint32_t REG_MDP5_INTF_DISPLAY_VEND_F0(uint32_t i0) { return 0x00012524 + 0x200*i0; } 863 + 864 + static inline uint32_t REG_MDP5_INTF_DISPLAY_VEND_F1(uint32_t i0) { return 0x00012528 + 0x200*i0; } 865 + 866 + static inline uint32_t REG_MDP5_INTF_ACTIVE_VSTART_F0(uint32_t i0) { return 0x0001252c + 0x200*i0; } 867 + #define MDP5_INTF_ACTIVE_VSTART_F0_VAL__MASK 0x7fffffff 868 + #define MDP5_INTF_ACTIVE_VSTART_F0_VAL__SHIFT 0 869 + static inline uint32_t MDP5_INTF_ACTIVE_VSTART_F0_VAL(uint32_t val) 870 + { 871 + return ((val) << MDP5_INTF_ACTIVE_VSTART_F0_VAL__SHIFT) & MDP5_INTF_ACTIVE_VSTART_F0_VAL__MASK; 872 + } 873 + #define MDP5_INTF_ACTIVE_VSTART_F0_ACTIVE_V_ENABLE 0x80000000 874 + 875 + static inline uint32_t REG_MDP5_INTF_ACTIVE_VSTART_F1(uint32_t i0) { return 0x00012530 + 0x200*i0; } 876 + #define MDP5_INTF_ACTIVE_VSTART_F1_VAL__MASK 0x7fffffff 877 + #define MDP5_INTF_ACTIVE_VSTART_F1_VAL__SHIFT 0 878 + static inline uint32_t MDP5_INTF_ACTIVE_VSTART_F1_VAL(uint32_t val) 879 + { 880 + return ((val) << MDP5_INTF_ACTIVE_VSTART_F1_VAL__SHIFT) & MDP5_INTF_ACTIVE_VSTART_F1_VAL__MASK; 881 + } 882 + 883 + static inline uint32_t REG_MDP5_INTF_ACTIVE_VEND_F0(uint32_t i0) { return 0x00012534 + 0x200*i0; } 884 + 885 + static inline uint32_t REG_MDP5_INTF_ACTIVE_VEND_F1(uint32_t i0) { return 0x00012538 + 0x200*i0; } 886 + 887 + static inline uint32_t REG_MDP5_INTF_DISPLAY_HCTL(uint32_t i0) { return 0x0001253c + 0x200*i0; } 888 + #define MDP5_INTF_DISPLAY_HCTL_START__MASK 0x0000ffff 889 + #define MDP5_INTF_DISPLAY_HCTL_START__SHIFT 0 890 + static inline uint32_t MDP5_INTF_DISPLAY_HCTL_START(uint32_t val) 891 + { 892 + return ((val) << MDP5_INTF_DISPLAY_HCTL_START__SHIFT) & MDP5_INTF_DISPLAY_HCTL_START__MASK; 893 + } 894 + #define MDP5_INTF_DISPLAY_HCTL_END__MASK 0xffff0000 895 + #define MDP5_INTF_DISPLAY_HCTL_END__SHIFT 16 896 + static inline uint32_t MDP5_INTF_DISPLAY_HCTL_END(uint32_t val) 897 + { 898 + return ((val) << MDP5_INTF_DISPLAY_HCTL_END__SHIFT) & MDP5_INTF_DISPLAY_HCTL_END__MASK; 899 + } 900 + 901 + static inline uint32_t REG_MDP5_INTF_ACTIVE_HCTL(uint32_t i0) { return 0x00012540 + 0x200*i0; } 902 + #define MDP5_INTF_ACTIVE_HCTL_START__MASK 0x00007fff 903 + #define MDP5_INTF_ACTIVE_HCTL_START__SHIFT 0 904 + static inline uint32_t MDP5_INTF_ACTIVE_HCTL_START(uint32_t val) 905 + { 906 + return ((val) << MDP5_INTF_ACTIVE_HCTL_START__SHIFT) & MDP5_INTF_ACTIVE_HCTL_START__MASK; 907 + } 908 + #define MDP5_INTF_ACTIVE_HCTL_END__MASK 0x7fff0000 909 + #define MDP5_INTF_ACTIVE_HCTL_END__SHIFT 16 910 + static inline uint32_t MDP5_INTF_ACTIVE_HCTL_END(uint32_t val) 911 + { 912 + return ((val) << MDP5_INTF_ACTIVE_HCTL_END__SHIFT) & MDP5_INTF_ACTIVE_HCTL_END__MASK; 913 + } 914 + #define MDP5_INTF_ACTIVE_HCTL_ACTIVE_H_ENABLE 0x80000000 915 + 916 + static inline uint32_t REG_MDP5_INTF_BORDER_COLOR(uint32_t i0) { return 0x00012544 + 0x200*i0; } 917 + 918 + static inline uint32_t REG_MDP5_INTF_UNDERFLOW_COLOR(uint32_t i0) { return 0x00012548 + 0x200*i0; } 919 + 920 + static inline uint32_t REG_MDP5_INTF_HSYNC_SKEW(uint32_t i0) { return 0x0001254c + 0x200*i0; } 921 + 922 + static inline uint32_t REG_MDP5_INTF_POLARITY_CTL(uint32_t i0) { return 0x00012550 + 0x200*i0; } 923 + #define MDP5_INTF_POLARITY_CTL_HSYNC_LOW 0x00000001 924 + #define MDP5_INTF_POLARITY_CTL_VSYNC_LOW 0x00000002 925 + #define MDP5_INTF_POLARITY_CTL_DATA_EN_LOW 0x00000004 926 + 927 + static inline uint32_t REG_MDP5_INTF_TEST_CTL(uint32_t i0) { return 0x00012554 + 0x200*i0; } 928 + 929 + static inline uint32_t REG_MDP5_INTF_TP_COLOR0(uint32_t i0) { return 0x00012558 + 0x200*i0; } 930 + 931 + static inline uint32_t REG_MDP5_INTF_TP_COLOR1(uint32_t i0) { return 0x0001255c + 0x200*i0; } 932 + 933 + static inline uint32_t REG_MDP5_INTF_DSI_CMD_MODE_TRIGGER_EN(uint32_t i0) { return 0x00012584 + 0x200*i0; } 934 + 935 + static inline uint32_t REG_MDP5_INTF_PANEL_FORMAT(uint32_t i0) { return 0x00012590 + 0x200*i0; } 936 + 937 + static inline uint32_t REG_MDP5_INTF_FRAME_LINE_COUNT_EN(uint32_t i0) { return 0x000125a8 + 0x200*i0; } 938 + 939 + static inline uint32_t REG_MDP5_INTF_FRAME_COUNT(uint32_t i0) { return 0x000125ac + 0x200*i0; } 940 + 941 + static inline uint32_t REG_MDP5_INTF_LINE_COUNT(uint32_t i0) { return 0x000125b0 + 0x200*i0; } 942 + 943 + static inline uint32_t REG_MDP5_INTF_DEFLICKER_CONFIG(uint32_t i0) { return 0x000125f0 + 0x200*i0; } 944 + 945 + static inline uint32_t REG_MDP5_INTF_DEFLICKER_STRNG_COEFF(uint32_t i0) { return 0x000125f4 + 0x200*i0; } 946 + 947 + static inline uint32_t REG_MDP5_INTF_DEFLICKER_WEAK_COEFF(uint32_t i0) { return 0x000125f8 + 0x200*i0; } 948 + 949 + static inline uint32_t REG_MDP5_INTF_TPG_ENABLE(uint32_t i0) { return 0x00012600 + 0x200*i0; } 950 + 951 + static inline uint32_t REG_MDP5_INTF_TPG_MAIN_CONTROL(uint32_t i0) { return 0x00012604 + 0x200*i0; } 952 + 953 + static inline uint32_t REG_MDP5_INTF_TPG_VIDEO_CONFIG(uint32_t i0) { return 0x00012608 + 0x200*i0; } 954 + 955 + static inline uint32_t REG_MDP5_INTF_TPG_COMPONENT_LIMITS(uint32_t i0) { return 0x0001260c + 0x200*i0; } 956 + 957 + static inline uint32_t REG_MDP5_INTF_TPG_RECTANGLE(uint32_t i0) { return 0x00012610 + 0x200*i0; } 958 + 959 + static inline uint32_t REG_MDP5_INTF_TPG_INITIAL_VALUE(uint32_t i0) { return 0x00012614 + 0x200*i0; } 960 + 961 + static inline uint32_t REG_MDP5_INTF_TPG_BLK_WHITE_PATTERN_FRAME(uint32_t i0) { return 0x00012618 + 0x200*i0; } 962 + 963 + static inline uint32_t REG_MDP5_INTF_TPG_RGB_MAPPING(uint32_t i0) { return 0x0001261c + 0x200*i0; } 964 + 965 + static inline uint32_t REG_MDP5_AD(uint32_t i0) { return 0x00013100 + 0x200*i0; } 966 + 967 + static inline uint32_t REG_MDP5_AD_BYPASS(uint32_t i0) { return 0x00013100 + 0x200*i0; } 968 + 969 + static inline uint32_t REG_MDP5_AD_CTRL_0(uint32_t i0) { return 0x00013104 + 0x200*i0; } 970 + 971 + static inline uint32_t REG_MDP5_AD_CTRL_1(uint32_t i0) { return 0x00013108 + 0x200*i0; } 972 + 973 + static inline uint32_t REG_MDP5_AD_FRAME_SIZE(uint32_t i0) { return 0x0001310c + 0x200*i0; } 974 + 975 + static inline uint32_t REG_MDP5_AD_CON_CTRL_0(uint32_t i0) { return 0x00013110 + 0x200*i0; } 976 + 977 + static inline uint32_t REG_MDP5_AD_CON_CTRL_1(uint32_t i0) { return 0x00013114 + 0x200*i0; } 978 + 979 + static inline uint32_t REG_MDP5_AD_STR_MAN(uint32_t i0) { return 0x00013118 + 0x200*i0; } 980 + 981 + static inline uint32_t REG_MDP5_AD_VAR(uint32_t i0) { return 0x0001311c + 0x200*i0; } 982 + 983 + static inline uint32_t REG_MDP5_AD_DITH(uint32_t i0) { return 0x00013120 + 0x200*i0; } 984 + 985 + static inline uint32_t REG_MDP5_AD_DITH_CTRL(uint32_t i0) { return 0x00013124 + 0x200*i0; } 986 + 987 + static inline uint32_t REG_MDP5_AD_AMP_LIM(uint32_t i0) { return 0x00013128 + 0x200*i0; } 988 + 989 + static inline uint32_t REG_MDP5_AD_SLOPE(uint32_t i0) { return 0x0001312c + 0x200*i0; } 990 + 991 + static inline uint32_t REG_MDP5_AD_BW_LVL(uint32_t i0) { return 0x00013130 + 0x200*i0; } 992 + 993 + static inline uint32_t REG_MDP5_AD_LOGO_POS(uint32_t i0) { return 0x00013134 + 0x200*i0; } 994 + 995 + static inline uint32_t REG_MDP5_AD_LUT_FI(uint32_t i0) { return 0x00013138 + 0x200*i0; } 996 + 997 + static inline uint32_t REG_MDP5_AD_LUT_CC(uint32_t i0) { return 0x0001317c + 0x200*i0; } 998 + 999 + static inline uint32_t REG_MDP5_AD_STR_LIM(uint32_t i0) { return 0x000131c8 + 0x200*i0; } 1000 + 1001 + static inline uint32_t REG_MDP5_AD_CALIB_AB(uint32_t i0) { return 0x000131cc + 0x200*i0; } 1002 + 1003 + static inline uint32_t REG_MDP5_AD_CALIB_CD(uint32_t i0) { return 0x000131d0 + 0x200*i0; } 1004 + 1005 + static inline uint32_t REG_MDP5_AD_MODE_SEL(uint32_t i0) { return 0x000131d4 + 0x200*i0; } 1006 + 1007 + static inline uint32_t REG_MDP5_AD_TFILT_CTRL(uint32_t i0) { return 0x000131d8 + 0x200*i0; } 1008 + 1009 + static inline uint32_t REG_MDP5_AD_BL_MINMAX(uint32_t i0) { return 0x000131dc + 0x200*i0; } 1010 + 1011 + static inline uint32_t REG_MDP5_AD_BL(uint32_t i0) { return 0x000131e0 + 0x200*i0; } 1012 + 1013 + static inline uint32_t REG_MDP5_AD_BL_MAX(uint32_t i0) { return 0x000131e8 + 0x200*i0; } 1014 + 1015 + static inline uint32_t REG_MDP5_AD_AL(uint32_t i0) { return 0x000131ec + 0x200*i0; } 1016 + 1017 + static inline uint32_t REG_MDP5_AD_AL_MIN(uint32_t i0) { return 0x000131f0 + 0x200*i0; } 1018 + 1019 + static inline uint32_t REG_MDP5_AD_AL_FILT(uint32_t i0) { return 0x000131f4 + 0x200*i0; } 1020 + 1021 + static inline uint32_t REG_MDP5_AD_CFG_BUF(uint32_t i0) { return 0x000131f8 + 0x200*i0; } 1022 + 1023 + static inline uint32_t REG_MDP5_AD_LUT_AL(uint32_t i0) { return 0x00013200 + 0x200*i0; } 1024 + 1025 + static inline uint32_t REG_MDP5_AD_TARG_STR(uint32_t i0) { return 0x00013244 + 0x200*i0; } 1026 + 1027 + static inline uint32_t REG_MDP5_AD_START_CALC(uint32_t i0) { return 0x00013248 + 0x200*i0; } 1028 + 1029 + static inline uint32_t REG_MDP5_AD_STR_OUT(uint32_t i0) { return 0x0001324c + 0x200*i0; } 1030 + 1031 + static inline uint32_t REG_MDP5_AD_BL_OUT(uint32_t i0) { return 0x00013254 + 0x200*i0; } 1032 + 1033 + static inline uint32_t REG_MDP5_AD_CALC_DONE(uint32_t i0) { return 0x00013258 + 0x200*i0; } 1034 + 1035 + 1036 + #endif /* MDP5_XML */
+78
drivers/gpu/drm/msm/mdp/mdp_common.xml.h
··· 1 + #ifndef MDP_COMMON_XML 2 + #define MDP_COMMON_XML 3 + 4 + /* Autogenerated file, DO NOT EDIT manually! 5 + 6 + This file was generated by the rules-ng-ng headergen tool in this git repository: 7 + http://github.com/freedreno/envytools/ 8 + git clone https://github.com/freedreno/envytools.git 9 + 10 + The rules-ng-ng source files this header was generated from are: 11 + - /home/robclark/src/freedreno/envytools/rnndb/msm.xml ( 647 bytes, from 2013-11-30 14:45:35) 12 + - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1453 bytes, from 2013-03-31 16:51:27) 13 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp4.xml ( 17996 bytes, from 2013-12-01 19:10:31) 14 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml ( 1615 bytes, from 2013-11-30 15:00:52) 15 + - /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml ( 22517 bytes, from 2013-12-03 20:59:13) 16 + - /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml ( 11712 bytes, from 2013-08-17 17:13:43) 17 + - /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml ( 344 bytes, from 2013-08-11 19:26:32) 18 + - /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml ( 1544 bytes, from 2013-08-16 19:17:05) 19 + - /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml ( 600 bytes, from 2013-07-05 19:21:12) 20 + - /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml ( 20932 bytes, from 2013-12-01 15:13:04) 21 + 22 + Copyright (C) 2013 by the following authors: 23 + - Rob Clark <robdclark@gmail.com> (robclark) 24 + 25 + Permission is hereby granted, free of charge, to any person obtaining 26 + a copy of this software and associated documentation files (the 27 + "Software"), to deal in the Software without restriction, including 28 + without limitation the rights to use, copy, modify, merge, publish, 29 + distribute, sublicense, and/or sell copies of the Software, and to 30 + permit persons to whom the Software is furnished to do so, subject to 31 + the following conditions: 32 + 33 + The above copyright notice and this permission notice (including the 34 + next paragraph) shall be included in all copies or substantial 35 + portions of the Software. 36 + 37 + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 38 + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 39 + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 40 + IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE 41 + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 42 + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 43 + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 44 + */ 45 + 46 + 47 + enum mdp_mixer_stage_id { 48 + STAGE_UNUSED = 0, 49 + STAGE_BASE = 1, 50 + STAGE0 = 2, 51 + STAGE1 = 3, 52 + STAGE2 = 4, 53 + STAGE3 = 5, 54 + }; 55 + 56 + enum mdp_alpha_type { 57 + FG_CONST = 0, 58 + BG_CONST = 1, 59 + FG_PIXEL = 2, 60 + BG_PIXEL = 3, 61 + }; 62 + 63 + enum mdp_bpc { 64 + BPC1 = 0, 65 + BPC5 = 1, 66 + BPC6 = 2, 67 + BPC8 = 3, 68 + }; 69 + 70 + enum mdp_bpc_alpha { 71 + BPC1A = 0, 72 + BPC4A = 1, 73 + BPC6A = 2, 74 + BPC8A = 3, 75 + }; 76 + 77 + 78 + #endif /* MDP_COMMON_XML */