.. | .. |
---|
34 | 34 | #define HUBP_REG_LIST_DCN(id)\ |
---|
35 | 35 | SRI(DCHUBP_CNTL, HUBP, id),\ |
---|
36 | 36 | SRI(HUBPREQ_DEBUG_DB, HUBP, id),\ |
---|
| 37 | + SRI(HUBPREQ_DEBUG, HUBP, id),\ |
---|
37 | 38 | SRI(DCSURF_ADDR_CONFIG, HUBP, id),\ |
---|
38 | 39 | SRI(DCSURF_TILING_CONFIG, HUBP, id),\ |
---|
39 | 40 | SRI(DCSURF_SURFACE_PITCH, HUBPREQ, id),\ |
---|
.. | .. |
---|
46 | 47 | SRI(DCSURF_SEC_VIEWPORT_START, HUBP, id), \ |
---|
47 | 48 | SRI(DCSURF_PRI_VIEWPORT_DIMENSION_C, HUBP, id), \ |
---|
48 | 49 | SRI(DCSURF_PRI_VIEWPORT_START_C, HUBP, id), \ |
---|
| 50 | + SRI(DCSURF_SEC_VIEWPORT_DIMENSION_C, HUBP, id), \ |
---|
| 51 | + SRI(DCSURF_SEC_VIEWPORT_START_C, HUBP, id), \ |
---|
49 | 52 | SRI(DCSURF_PRIMARY_SURFACE_ADDRESS_HIGH, HUBPREQ, id),\ |
---|
50 | 53 | SRI(DCSURF_PRIMARY_SURFACE_ADDRESS, HUBPREQ, id),\ |
---|
51 | 54 | SRI(DCSURF_SECONDARY_SURFACE_ADDRESS_HIGH, HUBPREQ, id),\ |
---|
.. | .. |
---|
56 | 59 | SRI(DCSURF_SECONDARY_META_SURFACE_ADDRESS, HUBPREQ, id),\ |
---|
57 | 60 | SRI(DCSURF_PRIMARY_SURFACE_ADDRESS_HIGH_C, HUBPREQ, id),\ |
---|
58 | 61 | SRI(DCSURF_PRIMARY_SURFACE_ADDRESS_C, HUBPREQ, id),\ |
---|
| 62 | + SRI(DCSURF_SECONDARY_SURFACE_ADDRESS_HIGH_C, HUBPREQ, id),\ |
---|
| 63 | + SRI(DCSURF_SECONDARY_SURFACE_ADDRESS_C, HUBPREQ, id),\ |
---|
59 | 64 | SRI(DCSURF_PRIMARY_META_SURFACE_ADDRESS_HIGH_C, HUBPREQ, id),\ |
---|
60 | 65 | SRI(DCSURF_PRIMARY_META_SURFACE_ADDRESS_C, HUBPREQ, id),\ |
---|
| 66 | + SRI(DCSURF_SECONDARY_META_SURFACE_ADDRESS_HIGH_C, HUBPREQ, id),\ |
---|
| 67 | + SRI(DCSURF_SECONDARY_META_SURFACE_ADDRESS_C, HUBPREQ, id),\ |
---|
61 | 68 | SRI(DCSURF_SURFACE_INUSE, HUBPREQ, id),\ |
---|
62 | 69 | SRI(DCSURF_SURFACE_INUSE_HIGH, HUBPREQ, id),\ |
---|
63 | 70 | SRI(DCSURF_SURFACE_INUSE_C, HUBPREQ, id),\ |
---|
.. | .. |
---|
124 | 131 | SRI(DCN_VM_SYSTEM_APERTURE_LOW_ADDR_LSB, HUBPREQ, id),\ |
---|
125 | 132 | SRI(DCN_VM_SYSTEM_APERTURE_HIGH_ADDR_MSB, HUBPREQ, id),\ |
---|
126 | 133 | SRI(DCN_VM_SYSTEM_APERTURE_HIGH_ADDR_LSB, HUBPREQ, id),\ |
---|
127 | | - SR(DCHUBBUB_SDPIF_FB_BASE),\ |
---|
128 | | - SR(DCHUBBUB_SDPIF_FB_OFFSET),\ |
---|
129 | 134 | SRI(CURSOR_SETTINS, HUBPREQ, id), \ |
---|
130 | 135 | SRI(CURSOR_SURFACE_ADDRESS_HIGH, CURSOR, id), \ |
---|
131 | 136 | SRI(CURSOR_SURFACE_ADDRESS, CURSOR, id), \ |
---|
.. | .. |
---|
138 | 143 | #define HUBP_COMMON_REG_VARIABLE_LIST \ |
---|
139 | 144 | uint32_t DCHUBP_CNTL; \ |
---|
140 | 145 | uint32_t HUBPREQ_DEBUG_DB; \ |
---|
| 146 | + uint32_t HUBPREQ_DEBUG; \ |
---|
141 | 147 | uint32_t DCSURF_ADDR_CONFIG; \ |
---|
142 | 148 | uint32_t DCSURF_TILING_CONFIG; \ |
---|
143 | 149 | uint32_t DCSURF_SURFACE_PITCH; \ |
---|
.. | .. |
---|
150 | 156 | uint32_t DCSURF_SEC_VIEWPORT_START; \ |
---|
151 | 157 | uint32_t DCSURF_PRI_VIEWPORT_DIMENSION_C; \ |
---|
152 | 158 | uint32_t DCSURF_PRI_VIEWPORT_START_C; \ |
---|
| 159 | + uint32_t DCSURF_SEC_VIEWPORT_DIMENSION_C; \ |
---|
| 160 | + uint32_t DCSURF_SEC_VIEWPORT_START_C; \ |
---|
153 | 161 | uint32_t DCSURF_PRIMARY_SURFACE_ADDRESS_HIGH; \ |
---|
154 | 162 | uint32_t DCSURF_PRIMARY_SURFACE_ADDRESS; \ |
---|
155 | 163 | uint32_t DCSURF_SECONDARY_SURFACE_ADDRESS_HIGH; \ |
---|
.. | .. |
---|
160 | 168 | uint32_t DCSURF_SECONDARY_META_SURFACE_ADDRESS; \ |
---|
161 | 169 | uint32_t DCSURF_PRIMARY_SURFACE_ADDRESS_HIGH_C; \ |
---|
162 | 170 | uint32_t DCSURF_PRIMARY_SURFACE_ADDRESS_C; \ |
---|
| 171 | + uint32_t DCSURF_SECONDARY_SURFACE_ADDRESS_HIGH_C; \ |
---|
| 172 | + uint32_t DCSURF_SECONDARY_SURFACE_ADDRESS_C; \ |
---|
163 | 173 | uint32_t DCSURF_PRIMARY_META_SURFACE_ADDRESS_HIGH_C; \ |
---|
164 | 174 | uint32_t DCSURF_PRIMARY_META_SURFACE_ADDRESS_C; \ |
---|
| 175 | + uint32_t DCSURF_SECONDARY_META_SURFACE_ADDRESS_HIGH_C; \ |
---|
| 176 | + uint32_t DCSURF_SECONDARY_META_SURFACE_ADDRESS_C; \ |
---|
165 | 177 | uint32_t DCSURF_SURFACE_INUSE; \ |
---|
166 | 178 | uint32_t DCSURF_SURFACE_INUSE_HIGH; \ |
---|
167 | 179 | uint32_t DCSURF_SURFACE_INUSE_C; \ |
---|
.. | .. |
---|
224 | 236 | uint32_t DCN_VM_SYSTEM_APERTURE_HIGH_ADDR_LSB; \ |
---|
225 | 237 | uint32_t DCN_VM_SYSTEM_APERTURE_LOW_ADDR; \ |
---|
226 | 238 | uint32_t DCN_VM_SYSTEM_APERTURE_HIGH_ADDR; \ |
---|
227 | | - uint32_t DCHUBBUB_SDPIF_FB_BASE; \ |
---|
228 | | - uint32_t DCHUBBUB_SDPIF_FB_OFFSET; \ |
---|
229 | | - uint32_t DCN_VM_FB_LOCATION_TOP; \ |
---|
230 | | - uint32_t DCN_VM_FB_LOCATION_BASE; \ |
---|
231 | | - uint32_t DCN_VM_FB_OFFSET; \ |
---|
232 | | - uint32_t DCN_VM_AGP_BASE; \ |
---|
233 | | - uint32_t DCN_VM_AGP_BOT; \ |
---|
234 | | - uint32_t DCN_VM_AGP_TOP; \ |
---|
235 | 239 | uint32_t CURSOR_SETTINS; \ |
---|
236 | 240 | uint32_t CURSOR_SETTINGS; \ |
---|
237 | 241 | uint32_t CURSOR_SURFACE_ADDRESS_HIGH; \ |
---|
.. | .. |
---|
247 | 251 | .field_name = reg_name ## __ ## field_name ## post_fix |
---|
248 | 252 | |
---|
249 | 253 | /* Mask/shift struct generation macro for all ASICs (including those with reduced functionality) */ |
---|
250 | | -#define HUBP_MASK_SH_LIST_DCN(mask_sh)\ |
---|
| 254 | +/*1.x, 2.x, and 3.x*/ |
---|
| 255 | +#define HUBP_MASK_SH_LIST_DCN_SHARE_COMMON(mask_sh)\ |
---|
251 | 256 | HUBP_SF(HUBP0_DCHUBP_CNTL, HUBP_BLANK_EN, mask_sh),\ |
---|
252 | 257 | HUBP_SF(HUBP0_DCHUBP_CNTL, HUBP_TTU_DISABLE, mask_sh),\ |
---|
253 | 258 | HUBP_SF(HUBP0_DCHUBP_CNTL, HUBP_UNDERFLOW_STATUS, mask_sh),\ |
---|
| 259 | + HUBP_SF(HUBP0_DCHUBP_CNTL, HUBP_UNDERFLOW_CLEAR, mask_sh),\ |
---|
254 | 260 | HUBP_SF(HUBP0_DCHUBP_CNTL, HUBP_NO_OUTSTANDING_REQ, mask_sh),\ |
---|
255 | 261 | HUBP_SF(HUBP0_DCHUBP_CNTL, HUBP_VTG_SEL, mask_sh),\ |
---|
256 | 262 | HUBP_SF(HUBP0_DCHUBP_CNTL, HUBP_DISABLE, mask_sh),\ |
---|
.. | .. |
---|
262 | 268 | HUBP_SF(HUBP0_DCSURF_ADDR_CONFIG, MAX_COMPRESSED_FRAGS, mask_sh),\ |
---|
263 | 269 | HUBP_SF(HUBP0_DCSURF_TILING_CONFIG, SW_MODE, mask_sh),\ |
---|
264 | 270 | HUBP_SF(HUBP0_DCSURF_TILING_CONFIG, META_LINEAR, mask_sh),\ |
---|
265 | | - HUBP_SF(HUBP0_DCSURF_TILING_CONFIG, RB_ALIGNED, mask_sh),\ |
---|
266 | 271 | HUBP_SF(HUBP0_DCSURF_TILING_CONFIG, PIPE_ALIGNED, mask_sh),\ |
---|
267 | 272 | HUBP_SF(HUBPREQ0_DCSURF_SURFACE_PITCH, PITCH, mask_sh),\ |
---|
268 | 273 | HUBP_SF(HUBPREQ0_DCSURF_SURFACE_PITCH, META_PITCH, mask_sh),\ |
---|
.. | .. |
---|
270 | 275 | HUBP_SF(HUBPREQ0_DCSURF_SURFACE_PITCH_C, META_PITCH_C, mask_sh),\ |
---|
271 | 276 | HUBP_SF(HUBP0_DCSURF_SURFACE_CONFIG, SURFACE_PIXEL_FORMAT, mask_sh),\ |
---|
272 | 277 | HUBP_SF(HUBPREQ0_DCSURF_FLIP_CONTROL, SURFACE_FLIP_TYPE, mask_sh),\ |
---|
| 278 | + HUBP_SF(HUBPREQ0_DCSURF_FLIP_CONTROL, SURFACE_FLIP_MODE_FOR_STEREOSYNC, mask_sh),\ |
---|
| 279 | + HUBP_SF(HUBPREQ0_DCSURF_FLIP_CONTROL, SURFACE_FLIP_IN_STEREOSYNC, mask_sh),\ |
---|
273 | 280 | HUBP_SF(HUBPREQ0_DCSURF_FLIP_CONTROL, SURFACE_FLIP_PENDING, mask_sh),\ |
---|
274 | 281 | HUBP_SF(HUBPREQ0_DCSURF_FLIP_CONTROL, SURFACE_UPDATE_LOCK, mask_sh),\ |
---|
275 | 282 | HUBP_SF(HUBP0_DCSURF_PRI_VIEWPORT_DIMENSION, PRI_VIEWPORT_WIDTH, mask_sh),\ |
---|
.. | .. |
---|
284 | 291 | HUBP_SF(HUBP0_DCSURF_PRI_VIEWPORT_DIMENSION_C, PRI_VIEWPORT_HEIGHT_C, mask_sh),\ |
---|
285 | 292 | HUBP_SF(HUBP0_DCSURF_PRI_VIEWPORT_START_C, PRI_VIEWPORT_X_START_C, mask_sh),\ |
---|
286 | 293 | HUBP_SF(HUBP0_DCSURF_PRI_VIEWPORT_START_C, PRI_VIEWPORT_Y_START_C, mask_sh),\ |
---|
| 294 | + HUBP_SF(HUBP0_DCSURF_SEC_VIEWPORT_DIMENSION_C, SEC_VIEWPORT_WIDTH_C, mask_sh),\ |
---|
| 295 | + HUBP_SF(HUBP0_DCSURF_SEC_VIEWPORT_DIMENSION_C, SEC_VIEWPORT_HEIGHT_C, mask_sh),\ |
---|
| 296 | + HUBP_SF(HUBP0_DCSURF_SEC_VIEWPORT_START_C, SEC_VIEWPORT_X_START_C, mask_sh),\ |
---|
| 297 | + HUBP_SF(HUBP0_DCSURF_SEC_VIEWPORT_START_C, SEC_VIEWPORT_Y_START_C, mask_sh),\ |
---|
287 | 298 | HUBP_SF(HUBPREQ0_DCSURF_PRIMARY_SURFACE_ADDRESS_HIGH, PRIMARY_SURFACE_ADDRESS_HIGH, mask_sh),\ |
---|
288 | 299 | HUBP_SF(HUBPREQ0_DCSURF_PRIMARY_SURFACE_ADDRESS, PRIMARY_SURFACE_ADDRESS, mask_sh),\ |
---|
289 | 300 | HUBP_SF(HUBPREQ0_DCSURF_SECONDARY_SURFACE_ADDRESS_HIGH, SECONDARY_SURFACE_ADDRESS_HIGH, mask_sh),\ |
---|
.. | .. |
---|
294 | 305 | HUBP_SF(HUBPREQ0_DCSURF_SECONDARY_META_SURFACE_ADDRESS, SECONDARY_META_SURFACE_ADDRESS, mask_sh),\ |
---|
295 | 306 | HUBP_SF(HUBPREQ0_DCSURF_PRIMARY_SURFACE_ADDRESS_HIGH_C, PRIMARY_SURFACE_ADDRESS_HIGH_C, mask_sh),\ |
---|
296 | 307 | HUBP_SF(HUBPREQ0_DCSURF_PRIMARY_SURFACE_ADDRESS_C, PRIMARY_SURFACE_ADDRESS_C, mask_sh),\ |
---|
| 308 | + HUBP_SF(HUBPREQ0_DCSURF_SECONDARY_SURFACE_ADDRESS_HIGH_C, SECONDARY_SURFACE_ADDRESS_HIGH_C, mask_sh),\ |
---|
| 309 | + HUBP_SF(HUBPREQ0_DCSURF_SECONDARY_SURFACE_ADDRESS_C, SECONDARY_SURFACE_ADDRESS_C, mask_sh),\ |
---|
297 | 310 | HUBP_SF(HUBPREQ0_DCSURF_PRIMARY_META_SURFACE_ADDRESS_HIGH_C, PRIMARY_META_SURFACE_ADDRESS_HIGH_C, mask_sh),\ |
---|
298 | 311 | HUBP_SF(HUBPREQ0_DCSURF_PRIMARY_META_SURFACE_ADDRESS_C, PRIMARY_META_SURFACE_ADDRESS_C, mask_sh),\ |
---|
| 312 | + HUBP_SF(HUBPREQ0_DCSURF_SECONDARY_META_SURFACE_ADDRESS_HIGH_C, SECONDARY_META_SURFACE_ADDRESS_HIGH_C, mask_sh),\ |
---|
| 313 | + HUBP_SF(HUBPREQ0_DCSURF_SECONDARY_META_SURFACE_ADDRESS_C, SECONDARY_META_SURFACE_ADDRESS_C, mask_sh),\ |
---|
299 | 314 | HUBP_SF(HUBPREQ0_DCSURF_SURFACE_INUSE, SURFACE_INUSE_ADDRESS, mask_sh),\ |
---|
300 | 315 | HUBP_SF(HUBPREQ0_DCSURF_SURFACE_INUSE_HIGH, SURFACE_INUSE_ADDRESS_HIGH, mask_sh),\ |
---|
301 | 316 | HUBP_SF(HUBPREQ0_DCSURF_SURFACE_INUSE_C, SURFACE_INUSE_ADDRESS_C, mask_sh),\ |
---|
.. | .. |
---|
328 | 343 | HUBP_SF(HUBP0_DCHUBP_REQ_SIZE_CONFIG, META_CHUNK_SIZE, mask_sh),\ |
---|
329 | 344 | HUBP_SF(HUBP0_DCHUBP_REQ_SIZE_CONFIG, MIN_META_CHUNK_SIZE, mask_sh),\ |
---|
330 | 345 | HUBP_SF(HUBP0_DCHUBP_REQ_SIZE_CONFIG, DPTE_GROUP_SIZE, mask_sh),\ |
---|
331 | | - HUBP_SF(HUBP0_DCHUBP_REQ_SIZE_CONFIG, MPTE_GROUP_SIZE, mask_sh),\ |
---|
332 | 346 | HUBP_SF(HUBP0_DCHUBP_REQ_SIZE_CONFIG, SWATH_HEIGHT, mask_sh),\ |
---|
333 | 347 | HUBP_SF(HUBP0_DCHUBP_REQ_SIZE_CONFIG, PTE_ROW_HEIGHT_LINEAR, mask_sh),\ |
---|
334 | 348 | HUBP_SF(HUBP0_DCHUBP_REQ_SIZE_CONFIG_C, CHUNK_SIZE_C, mask_sh),\ |
---|
.. | .. |
---|
336 | 350 | HUBP_SF(HUBP0_DCHUBP_REQ_SIZE_CONFIG_C, META_CHUNK_SIZE_C, mask_sh),\ |
---|
337 | 351 | HUBP_SF(HUBP0_DCHUBP_REQ_SIZE_CONFIG_C, MIN_META_CHUNK_SIZE_C, mask_sh),\ |
---|
338 | 352 | HUBP_SF(HUBP0_DCHUBP_REQ_SIZE_CONFIG_C, DPTE_GROUP_SIZE_C, mask_sh),\ |
---|
339 | | - HUBP_SF(HUBP0_DCHUBP_REQ_SIZE_CONFIG_C, MPTE_GROUP_SIZE_C, mask_sh),\ |
---|
340 | 353 | HUBP_SF(HUBP0_DCHUBP_REQ_SIZE_CONFIG_C, SWATH_HEIGHT_C, mask_sh),\ |
---|
341 | 354 | HUBP_SF(HUBP0_DCHUBP_REQ_SIZE_CONFIG_C, PTE_ROW_HEIGHT_LINEAR_C, mask_sh),\ |
---|
342 | 355 | HUBP_SF(HUBPREQ0_BLANK_OFFSET_0, REFCYC_H_BLANK_END, mask_sh),\ |
---|
.. | .. |
---|
369 | 382 | HUBP_SF(HUBPREQ0_DCN_SURF0_TTU_CNTL0, QoS_RAMP_DISABLE, mask_sh),\ |
---|
370 | 383 | HUBP_SF(HUBPREQ0_DCN_SURF0_TTU_CNTL1, REFCYC_PER_REQ_DELIVERY_PRE, mask_sh),\ |
---|
371 | 384 | HUBP_SF(HUBP0_HUBP_CLK_CNTL, HUBP_CLOCK_ENABLE, mask_sh) |
---|
| 385 | +/*2.x and 1.x only*/ |
---|
| 386 | +#define HUBP_MASK_SH_LIST_DCN_COMMON(mask_sh)\ |
---|
| 387 | + HUBP_MASK_SH_LIST_DCN_SHARE_COMMON(mask_sh),\ |
---|
| 388 | + HUBP_SF(HUBP0_DCSURF_TILING_CONFIG, RB_ALIGNED, mask_sh),\ |
---|
| 389 | + HUBP_SF(HUBP0_DCHUBP_REQ_SIZE_CONFIG, MPTE_GROUP_SIZE, mask_sh),\ |
---|
| 390 | + HUBP_SF(HUBP0_DCHUBP_REQ_SIZE_CONFIG_C, MPTE_GROUP_SIZE_C, mask_sh) |
---|
| 391 | + |
---|
| 392 | +/*2.x and 1.x only*/ |
---|
| 393 | +#define HUBP_MASK_SH_LIST_DCN(mask_sh)\ |
---|
| 394 | + HUBP_MASK_SH_LIST_DCN_COMMON(mask_sh) |
---|
372 | 395 | |
---|
373 | 396 | /* Mask/shift struct generation macro for ASICs with VM */ |
---|
374 | 397 | #define HUBP_MASK_SH_LIST_DCN_VM(mask_sh)\ |
---|
.. | .. |
---|
404 | 427 | HUBP_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_LOW_ADDR_LSB, MC_VM_SYSTEM_APERTURE_LOW_ADDR_LSB, mask_sh),\ |
---|
405 | 428 | HUBP_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_HIGH_ADDR_MSB, MC_VM_SYSTEM_APERTURE_HIGH_ADDR_MSB, mask_sh),\ |
---|
406 | 429 | HUBP_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_HIGH_ADDR_LSB, MC_VM_SYSTEM_APERTURE_HIGH_ADDR_LSB, mask_sh),\ |
---|
407 | | - HUBP_SF(DCHUBBUB_SDPIF_FB_BASE, SDPIF_FB_BASE, mask_sh),\ |
---|
408 | | - HUBP_SF(DCHUBBUB_SDPIF_FB_OFFSET, SDPIF_FB_OFFSET, mask_sh),\ |
---|
409 | 430 | HUBP_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_MSB, MC_VM_SYSTEM_APERTURE_DEFAULT_SYSTEM, mask_sh),\ |
---|
410 | 431 | HUBP_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_MSB, MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR_MSB, mask_sh),\ |
---|
411 | 432 | HUBP_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_LSB, MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR_LSB, mask_sh),\ |
---|
.. | .. |
---|
426 | 447 | HUBP_SF(CURSOR0_CURSOR_HOT_SPOT, CURSOR_HOT_SPOT_Y, mask_sh), \ |
---|
427 | 448 | HUBP_SF(CURSOR0_CURSOR_DST_OFFSET, CURSOR_DST_X_OFFSET, mask_sh) |
---|
428 | 449 | |
---|
429 | | -#define DCN_HUBP_REG_FIELD_LIST(type) \ |
---|
| 450 | +#define DCN_HUBP_REG_FIELD_BASE_LIST(type) \ |
---|
430 | 451 | type HUBP_BLANK_EN;\ |
---|
431 | 452 | type HUBP_DISABLE;\ |
---|
432 | 453 | type HUBP_TTU_DISABLE;\ |
---|
433 | 454 | type HUBP_NO_OUTSTANDING_REQ;\ |
---|
434 | 455 | type HUBP_VTG_SEL;\ |
---|
435 | 456 | type HUBP_UNDERFLOW_STATUS;\ |
---|
| 457 | + type HUBP_UNDERFLOW_CLEAR;\ |
---|
436 | 458 | type NUM_PIPES;\ |
---|
437 | 459 | type NUM_BANKS;\ |
---|
438 | 460 | type PIPE_INTERLEAVE;\ |
---|
.. | .. |
---|
451 | 473 | type H_MIRROR_EN;\ |
---|
452 | 474 | type SURFACE_PIXEL_FORMAT;\ |
---|
453 | 475 | type SURFACE_FLIP_TYPE;\ |
---|
| 476 | + type SURFACE_FLIP_MODE_FOR_STEREOSYNC;\ |
---|
| 477 | + type SURFACE_FLIP_IN_STEREOSYNC;\ |
---|
454 | 478 | type SURFACE_UPDATE_LOCK;\ |
---|
455 | 479 | type SURFACE_FLIP_PENDING;\ |
---|
456 | 480 | type PRI_VIEWPORT_WIDTH; \ |
---|
.. | .. |
---|
465 | 489 | type PRI_VIEWPORT_HEIGHT_C; \ |
---|
466 | 490 | type PRI_VIEWPORT_X_START_C; \ |
---|
467 | 491 | type PRI_VIEWPORT_Y_START_C; \ |
---|
| 492 | + type SEC_VIEWPORT_WIDTH_C; \ |
---|
| 493 | + type SEC_VIEWPORT_HEIGHT_C; \ |
---|
| 494 | + type SEC_VIEWPORT_X_START_C; \ |
---|
| 495 | + type SEC_VIEWPORT_Y_START_C; \ |
---|
468 | 496 | type PRIMARY_SURFACE_ADDRESS_HIGH;\ |
---|
469 | 497 | type PRIMARY_SURFACE_ADDRESS;\ |
---|
470 | 498 | type SECONDARY_SURFACE_ADDRESS_HIGH;\ |
---|
.. | .. |
---|
475 | 503 | type SECONDARY_META_SURFACE_ADDRESS;\ |
---|
476 | 504 | type PRIMARY_SURFACE_ADDRESS_HIGH_C;\ |
---|
477 | 505 | type PRIMARY_SURFACE_ADDRESS_C;\ |
---|
| 506 | + type SECONDARY_SURFACE_ADDRESS_HIGH_C;\ |
---|
| 507 | + type SECONDARY_SURFACE_ADDRESS_C;\ |
---|
478 | 508 | type PRIMARY_META_SURFACE_ADDRESS_HIGH_C;\ |
---|
479 | 509 | type PRIMARY_META_SURFACE_ADDRESS_C;\ |
---|
| 510 | + type SECONDARY_META_SURFACE_ADDRESS_HIGH_C;\ |
---|
| 511 | + type SECONDARY_META_SURFACE_ADDRESS_C;\ |
---|
480 | 512 | type SURFACE_INUSE_ADDRESS;\ |
---|
481 | 513 | type SURFACE_INUSE_ADDRESS_HIGH;\ |
---|
482 | 514 | type SURFACE_INUSE_ADDRESS_C;\ |
---|
.. | .. |
---|
577 | 609 | type MC_VM_SYSTEM_APERTURE_HIGH_ADDR_LSB;\ |
---|
578 | 610 | type MC_VM_SYSTEM_APERTURE_LOW_ADDR;\ |
---|
579 | 611 | type MC_VM_SYSTEM_APERTURE_HIGH_ADDR;\ |
---|
580 | | - type SDPIF_FB_TOP;\ |
---|
581 | | - type SDPIF_FB_BASE;\ |
---|
582 | | - type SDPIF_FB_OFFSET;\ |
---|
583 | | - type SDPIF_AGP_BASE;\ |
---|
584 | | - type SDPIF_AGP_BOT;\ |
---|
585 | | - type SDPIF_AGP_TOP;\ |
---|
586 | | - type FB_TOP;\ |
---|
587 | | - type FB_BASE;\ |
---|
588 | | - type FB_OFFSET;\ |
---|
589 | | - type AGP_BASE;\ |
---|
590 | | - type AGP_BOT;\ |
---|
591 | | - type AGP_TOP;\ |
---|
| 612 | + type DCN_VM_SYSTEM_APERTURE_DEFAULT_SYSTEM;\ |
---|
| 613 | + type DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_MSB;\ |
---|
| 614 | + type DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_LSB;\ |
---|
592 | 615 | /* todo: get these from GVM instead of reading registers ourselves */\ |
---|
593 | 616 | type PAGE_DIRECTORY_ENTRY_HI32;\ |
---|
594 | 617 | type PAGE_DIRECTORY_ENTRY_LO32;\ |
---|
.. | .. |
---|
617 | 640 | type CURSOR_DST_X_OFFSET; \ |
---|
618 | 641 | type OUTPUT_FP |
---|
619 | 642 | |
---|
| 643 | +#define DCN_HUBP_REG_FIELD_LIST(type) \ |
---|
| 644 | + DCN_HUBP_REG_FIELD_BASE_LIST(type);\ |
---|
| 645 | + type ALPHA_PLANE_EN |
---|
| 646 | + |
---|
620 | 647 | struct dcn_mi_registers { |
---|
621 | 648 | HUBP_COMMON_REG_VARIABLE_LIST; |
---|
622 | 649 | }; |
---|
.. | .. |
---|
635 | 662 | struct _vcs_dpi_display_rq_regs_st rq_regs; |
---|
636 | 663 | uint32_t pixel_format; |
---|
637 | 664 | uint32_t inuse_addr_hi; |
---|
| 665 | + uint32_t inuse_addr_lo; |
---|
638 | 666 | uint32_t viewport_width; |
---|
639 | 667 | uint32_t viewport_height; |
---|
640 | 668 | uint32_t rotation_angle; |
---|
.. | .. |
---|
642 | 670 | uint32_t sw_mode; |
---|
643 | 671 | uint32_t dcc_en; |
---|
644 | 672 | uint32_t blank_en; |
---|
| 673 | + uint32_t clock_en; |
---|
645 | 674 | uint32_t underflow_status; |
---|
646 | 675 | uint32_t ttu_disable; |
---|
647 | 676 | uint32_t min_ttu_vblank; |
---|
.. | .. |
---|
661 | 690 | struct hubp *hubp, |
---|
662 | 691 | enum surface_pixel_format format, |
---|
663 | 692 | union dc_tiling_info *tiling_info, |
---|
664 | | - union plane_size *plane_size, |
---|
| 693 | + struct plane_size *plane_size, |
---|
665 | 694 | enum dc_rotation_angle rotation, |
---|
666 | 695 | struct dc_plane_dcc_param *dcc, |
---|
667 | | - bool horizontal_mirror); |
---|
| 696 | + bool horizontal_mirror, |
---|
| 697 | + unsigned int compat_level); |
---|
668 | 698 | |
---|
669 | 699 | void hubp1_program_deadline( |
---|
670 | 700 | struct hubp *hubp, |
---|
.. | .. |
---|
682 | 712 | void hubp1_program_size( |
---|
683 | 713 | struct hubp *hubp, |
---|
684 | 714 | enum surface_pixel_format format, |
---|
685 | | - const union plane_size *plane_size, |
---|
| 715 | + const struct plane_size *plane_size, |
---|
686 | 716 | struct dc_plane_dcc_param *dcc); |
---|
687 | 717 | |
---|
688 | 718 | void hubp1_program_rotation( |
---|
.. | .. |
---|
697 | 727 | |
---|
698 | 728 | void hubp1_dcc_control(struct hubp *hubp, |
---|
699 | 729 | bool enable, |
---|
700 | | - bool independent_64b_blks); |
---|
| 730 | + enum hubp_ind_block_size independent_64b_blks); |
---|
701 | 731 | |
---|
702 | 732 | bool hubp1_program_surface_flip_and_addr( |
---|
703 | 733 | struct hubp *hubp, |
---|
.. | .. |
---|
733 | 763 | const struct dcn_mi_mask *hubp_mask); |
---|
734 | 764 | |
---|
735 | 765 | void hubp1_read_state(struct hubp *hubp); |
---|
| 766 | +void hubp1_clear_underflow(struct hubp *hubp); |
---|
736 | 767 | |
---|
737 | 768 | enum cursor_pitch hubp1_get_cursor_pitch(unsigned int pitch); |
---|
738 | 769 | |
---|
| 770 | +void hubp1_vready_workaround(struct hubp *hubp, |
---|
| 771 | + struct _vcs_dpi_display_pipe_dest_params_st *pipe_dest); |
---|
| 772 | + |
---|
| 773 | +void hubp1_init(struct hubp *hubp); |
---|
| 774 | +void hubp1_read_state_common(struct hubp *hubp); |
---|
739 | 775 | |
---|
740 | 776 | #endif |
---|