| .. | .. |
|---|
| 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 |
|---|