| .. | .. |
|---|
| 25 | 25 | #ifndef __DCE_HWSEQ_H__ |
|---|
| 26 | 26 | #define __DCE_HWSEQ_H__ |
|---|
| 27 | 27 | |
|---|
| 28 | | -#include "hw_sequencer.h" |
|---|
| 29 | | - |
|---|
| 30 | | -#define BL_REG_LIST()\ |
|---|
| 31 | | - SR(LVTMA_PWRSEQ_CNTL), \ |
|---|
| 32 | | - SR(LVTMA_PWRSEQ_STATE) |
|---|
| 28 | +#include "dc_types.h" |
|---|
| 33 | 29 | |
|---|
| 34 | 30 | #define HWSEQ_DCEF_REG_LIST_DCE8() \ |
|---|
| 35 | 31 | .DCFE_CLOCK_CONTROL[0] = mmCRTC0_CRTC_DCFE_CLOCK_CONTROL, \ |
|---|
| .. | .. |
|---|
| 62 | 58 | SRII(BLND_CONTROL, BLND, 4), \ |
|---|
| 63 | 59 | SRII(BLND_CONTROL, BLND, 5) |
|---|
| 64 | 60 | |
|---|
| 61 | +#define HSWEQ_DCN_PIXEL_RATE_REG_LIST(blk, inst) \ |
|---|
| 62 | + SRII(PIXEL_RATE_CNTL, blk, inst), \ |
|---|
| 63 | + SRII(PHYPLL_PIXEL_RATE_CNTL, blk, inst) |
|---|
| 64 | + |
|---|
| 65 | 65 | #define HWSEQ_PIXEL_RATE_REG_LIST(blk) \ |
|---|
| 66 | 66 | SRII(PIXEL_RATE_CNTL, blk, 0), \ |
|---|
| 67 | 67 | SRII(PIXEL_RATE_CNTL, blk, 1), \ |
|---|
| .. | .. |
|---|
| 78 | 78 | SRII(PHYPLL_PIXEL_RATE_CNTL, blk, 4), \ |
|---|
| 79 | 79 | SRII(PHYPLL_PIXEL_RATE_CNTL, blk, 5) |
|---|
| 80 | 80 | |
|---|
| 81 | +#if defined(CONFIG_DRM_AMD_DC_DCN3_0) |
|---|
| 82 | +#define HWSEQ_PIXEL_RATE_REG_LIST_3(blk) \ |
|---|
| 83 | + SRII(PIXEL_RATE_CNTL, blk, 0), \ |
|---|
| 84 | + SRII(PIXEL_RATE_CNTL, blk, 1),\ |
|---|
| 85 | + SRII(PIXEL_RATE_CNTL, blk, 2),\ |
|---|
| 86 | + SRII(PIXEL_RATE_CNTL, blk, 3), \ |
|---|
| 87 | + SRII(PIXEL_RATE_CNTL, blk, 4), \ |
|---|
| 88 | + SRII(PIXEL_RATE_CNTL, blk, 5) |
|---|
| 89 | + |
|---|
| 90 | +#define HWSEQ_PHYPLL_REG_LIST_3(blk) \ |
|---|
| 91 | + SRII(PHYPLL_PIXEL_RATE_CNTL, blk, 0), \ |
|---|
| 92 | + SRII(PHYPLL_PIXEL_RATE_CNTL, blk, 1),\ |
|---|
| 93 | + SRII(PHYPLL_PIXEL_RATE_CNTL, blk, 2),\ |
|---|
| 94 | + SRII(PHYPLL_PIXEL_RATE_CNTL, blk, 3), \ |
|---|
| 95 | + SRII(PHYPLL_PIXEL_RATE_CNTL, blk, 4), \ |
|---|
| 96 | + SRII(PHYPLL_PIXEL_RATE_CNTL, blk, 5) |
|---|
| 97 | +#endif |
|---|
| 98 | + |
|---|
| 81 | 99 | #define HWSEQ_DCE11_REG_LIST_BASE() \ |
|---|
| 82 | 100 | SR(DC_MEM_GLOBAL_PWR_REQ_CNTL), \ |
|---|
| 83 | 101 | SR(DCFEV_CLOCK_CONTROL), \ |
|---|
| .. | .. |
|---|
| 90 | 108 | SRII(BLND_CONTROL, BLND, 0),\ |
|---|
| 91 | 109 | SRII(BLND_CONTROL, BLND, 1),\ |
|---|
| 92 | 110 | SR(BLNDV_CONTROL),\ |
|---|
| 93 | | - HWSEQ_PIXEL_RATE_REG_LIST(CRTC),\ |
|---|
| 94 | | - BL_REG_LIST() |
|---|
| 111 | + HWSEQ_PIXEL_RATE_REG_LIST(CRTC) |
|---|
| 112 | + |
|---|
| 113 | +#if defined(CONFIG_DRM_AMD_DC_SI) |
|---|
| 114 | +#define HWSEQ_DCE6_REG_LIST() \ |
|---|
| 115 | + HWSEQ_DCEF_REG_LIST_DCE8(), \ |
|---|
| 116 | + HWSEQ_PIXEL_RATE_REG_LIST(CRTC) |
|---|
| 117 | +#endif |
|---|
| 95 | 118 | |
|---|
| 96 | 119 | #define HWSEQ_DCE8_REG_LIST() \ |
|---|
| 97 | 120 | HWSEQ_DCEF_REG_LIST_DCE8(), \ |
|---|
| 98 | 121 | HWSEQ_BLND_REG_LIST(), \ |
|---|
| 99 | | - HWSEQ_PIXEL_RATE_REG_LIST(CRTC),\ |
|---|
| 100 | | - BL_REG_LIST() |
|---|
| 122 | + HWSEQ_PIXEL_RATE_REG_LIST(CRTC) |
|---|
| 101 | 123 | |
|---|
| 102 | 124 | #define HWSEQ_DCE10_REG_LIST() \ |
|---|
| 103 | 125 | HWSEQ_DCEF_REG_LIST(), \ |
|---|
| 104 | 126 | HWSEQ_BLND_REG_LIST(), \ |
|---|
| 105 | | - HWSEQ_PIXEL_RATE_REG_LIST(CRTC), \ |
|---|
| 106 | | - BL_REG_LIST() |
|---|
| 127 | + HWSEQ_PIXEL_RATE_REG_LIST(CRTC) |
|---|
| 107 | 128 | |
|---|
| 108 | 129 | #define HWSEQ_ST_REG_LIST() \ |
|---|
| 109 | 130 | HWSEQ_DCE11_REG_LIST_BASE(), \ |
|---|
| .. | .. |
|---|
| 130 | 151 | SR(DCHUB_FB_LOCATION),\ |
|---|
| 131 | 152 | SR(DCHUB_AGP_BASE),\ |
|---|
| 132 | 153 | SR(DCHUB_AGP_BOT),\ |
|---|
| 133 | | - SR(DCHUB_AGP_TOP), \ |
|---|
| 134 | | - BL_REG_LIST() |
|---|
| 154 | + SR(DCHUB_AGP_TOP) |
|---|
| 155 | + |
|---|
| 156 | +#define HWSEQ_VG20_REG_LIST() \ |
|---|
| 157 | + HWSEQ_DCE120_REG_LIST(),\ |
|---|
| 158 | + MMHUB_SR(MC_VM_XGMI_LFB_CNTL) |
|---|
| 135 | 159 | |
|---|
| 136 | 160 | #define HWSEQ_DCE112_REG_LIST() \ |
|---|
| 137 | 161 | HWSEQ_DCE10_REG_LIST(), \ |
|---|
| 138 | 162 | HWSEQ_PIXEL_RATE_REG_LIST(CRTC), \ |
|---|
| 139 | | - HWSEQ_PHYPLL_REG_LIST(CRTC), \ |
|---|
| 140 | | - BL_REG_LIST() |
|---|
| 163 | + HWSEQ_PHYPLL_REG_LIST(CRTC) |
|---|
| 141 | 164 | |
|---|
| 142 | 165 | #define HWSEQ_DCN_REG_LIST()\ |
|---|
| 143 | 166 | SR(REFCLK_CNTL), \ |
|---|
| .. | .. |
|---|
| 147 | 170 | SR(DCCG_GATE_DISABLE_CNTL2), \ |
|---|
| 148 | 171 | SR(DCFCLK_CNTL),\ |
|---|
| 149 | 172 | SR(DCFCLK_CNTL), \ |
|---|
| 150 | | - SR(DC_MEM_GLOBAL_PWR_REQ_CNTL), \ |
|---|
| 173 | + SR(DC_MEM_GLOBAL_PWR_REQ_CNTL) |
|---|
| 174 | + |
|---|
| 175 | + |
|---|
| 176 | +#define MMHUB_DCN_REG_LIST()\ |
|---|
| 151 | 177 | /* todo: get these from GVM instead of reading registers ourselves */\ |
|---|
| 152 | 178 | MMHUB_SR(VM_CONTEXT0_PAGE_TABLE_BASE_ADDR_HI32),\ |
|---|
| 153 | 179 | MMHUB_SR(VM_CONTEXT0_PAGE_TABLE_BASE_ADDR_LO32),\ |
|---|
| .. | .. |
|---|
| 162 | 188 | MMHUB_SR(MC_VM_SYSTEM_APERTURE_LOW_ADDR),\ |
|---|
| 163 | 189 | MMHUB_SR(MC_VM_SYSTEM_APERTURE_HIGH_ADDR) |
|---|
| 164 | 190 | |
|---|
| 191 | + |
|---|
| 165 | 192 | #define HWSEQ_DCN1_REG_LIST()\ |
|---|
| 166 | 193 | HWSEQ_DCN_REG_LIST(), \ |
|---|
| 167 | | - HWSEQ_PIXEL_RATE_REG_LIST(OTG), \ |
|---|
| 168 | | - HWSEQ_PHYPLL_REG_LIST(OTG), \ |
|---|
| 194 | + MMHUB_DCN_REG_LIST(), \ |
|---|
| 195 | + HSWEQ_DCN_PIXEL_RATE_REG_LIST(OTG, 0), \ |
|---|
| 196 | + HSWEQ_DCN_PIXEL_RATE_REG_LIST(OTG, 1), \ |
|---|
| 197 | + HSWEQ_DCN_PIXEL_RATE_REG_LIST(OTG, 2), \ |
|---|
| 198 | + HSWEQ_DCN_PIXEL_RATE_REG_LIST(OTG, 3), \ |
|---|
| 169 | 199 | SR(DCHUBBUB_SDPIF_FB_BASE),\ |
|---|
| 170 | 200 | SR(DCHUBBUB_SDPIF_FB_OFFSET),\ |
|---|
| 171 | 201 | SR(DCHUBBUB_SDPIF_AGP_BASE),\ |
|---|
| .. | .. |
|---|
| 192 | 222 | SR(D3VGA_CONTROL), \ |
|---|
| 193 | 223 | SR(D4VGA_CONTROL), \ |
|---|
| 194 | 224 | SR(VGA_TEST_CONTROL), \ |
|---|
| 195 | | - SR(DC_IP_REQUEST_CNTL), \ |
|---|
| 196 | | - BL_REG_LIST() |
|---|
| 225 | + SR(DC_IP_REQUEST_CNTL) |
|---|
| 226 | + |
|---|
| 227 | +#if defined(CONFIG_DRM_AMD_DC_DCN3_0) |
|---|
| 228 | +#define HWSEQ_DCN30_REG_LIST()\ |
|---|
| 229 | + HWSEQ_DCN2_REG_LIST(),\ |
|---|
| 230 | + HWSEQ_DCN_REG_LIST(), \ |
|---|
| 231 | + HWSEQ_PIXEL_RATE_REG_LIST_3(OTG), \ |
|---|
| 232 | + HWSEQ_PHYPLL_REG_LIST_3(OTG), \ |
|---|
| 233 | + SR(MICROSECOND_TIME_BASE_DIV), \ |
|---|
| 234 | + SR(MILLISECOND_TIME_BASE_DIV), \ |
|---|
| 235 | + SR(DISPCLK_FREQ_CHANGE_CNTL), \ |
|---|
| 236 | + SR(RBBMIF_TIMEOUT_DIS), \ |
|---|
| 237 | + SR(RBBMIF_TIMEOUT_DIS_2), \ |
|---|
| 238 | + SR(DCHUBBUB_CRC_CTRL), \ |
|---|
| 239 | + SR(DPP_TOP0_DPP_CRC_CTRL), \ |
|---|
| 240 | + SR(DPP_TOP0_DPP_CRC_VAL_B_A), \ |
|---|
| 241 | + SR(DPP_TOP0_DPP_CRC_VAL_R_G), \ |
|---|
| 242 | + SR(MPC_CRC_CTRL), \ |
|---|
| 243 | + SR(MPC_CRC_RESULT_GB), \ |
|---|
| 244 | + SR(MPC_CRC_RESULT_C), \ |
|---|
| 245 | + SR(MPC_CRC_RESULT_AR), \ |
|---|
| 246 | + SR(AZALIA_AUDIO_DTO), \ |
|---|
| 247 | + SR(AZALIA_CONTROLLER_CLOCK_GATING) |
|---|
| 248 | +#endif |
|---|
| 249 | +#define HWSEQ_DCN2_REG_LIST()\ |
|---|
| 250 | + HWSEQ_DCN_REG_LIST(), \ |
|---|
| 251 | + HSWEQ_DCN_PIXEL_RATE_REG_LIST(OTG, 0), \ |
|---|
| 252 | + HSWEQ_DCN_PIXEL_RATE_REG_LIST(OTG, 1), \ |
|---|
| 253 | + HSWEQ_DCN_PIXEL_RATE_REG_LIST(OTG, 2), \ |
|---|
| 254 | + HSWEQ_DCN_PIXEL_RATE_REG_LIST(OTG, 3), \ |
|---|
| 255 | + HSWEQ_DCN_PIXEL_RATE_REG_LIST(OTG, 4), \ |
|---|
| 256 | + HSWEQ_DCN_PIXEL_RATE_REG_LIST(OTG, 5), \ |
|---|
| 257 | + SR(MICROSECOND_TIME_BASE_DIV), \ |
|---|
| 258 | + SR(MILLISECOND_TIME_BASE_DIV), \ |
|---|
| 259 | + SR(DISPCLK_FREQ_CHANGE_CNTL), \ |
|---|
| 260 | + SR(RBBMIF_TIMEOUT_DIS), \ |
|---|
| 261 | + SR(RBBMIF_TIMEOUT_DIS_2), \ |
|---|
| 262 | + SR(DCHUBBUB_CRC_CTRL), \ |
|---|
| 263 | + SR(DPP_TOP0_DPP_CRC_CTRL), \ |
|---|
| 264 | + SR(DPP_TOP0_DPP_CRC_VAL_B_A), \ |
|---|
| 265 | + SR(DPP_TOP0_DPP_CRC_VAL_R_G), \ |
|---|
| 266 | + SR(MPC_CRC_CTRL), \ |
|---|
| 267 | + SR(MPC_CRC_RESULT_GB), \ |
|---|
| 268 | + SR(MPC_CRC_RESULT_C), \ |
|---|
| 269 | + SR(MPC_CRC_RESULT_AR), \ |
|---|
| 270 | + SR(DOMAIN0_PG_CONFIG), \ |
|---|
| 271 | + SR(DOMAIN1_PG_CONFIG), \ |
|---|
| 272 | + SR(DOMAIN2_PG_CONFIG), \ |
|---|
| 273 | + SR(DOMAIN3_PG_CONFIG), \ |
|---|
| 274 | + SR(DOMAIN4_PG_CONFIG), \ |
|---|
| 275 | + SR(DOMAIN5_PG_CONFIG), \ |
|---|
| 276 | + SR(DOMAIN6_PG_CONFIG), \ |
|---|
| 277 | + SR(DOMAIN7_PG_CONFIG), \ |
|---|
| 278 | + SR(DOMAIN8_PG_CONFIG), \ |
|---|
| 279 | + SR(DOMAIN9_PG_CONFIG), \ |
|---|
| 280 | +/* SR(DOMAIN10_PG_CONFIG), Navi1x HUBP5 not powergate-able*/\ |
|---|
| 281 | +/* SR(DOMAIN11_PG_CONFIG), Navi1x DPP5 is not powergate-able */\ |
|---|
| 282 | + SR(DOMAIN16_PG_CONFIG), \ |
|---|
| 283 | + SR(DOMAIN17_PG_CONFIG), \ |
|---|
| 284 | + SR(DOMAIN18_PG_CONFIG), \ |
|---|
| 285 | + SR(DOMAIN19_PG_CONFIG), \ |
|---|
| 286 | + SR(DOMAIN20_PG_CONFIG), \ |
|---|
| 287 | + SR(DOMAIN21_PG_CONFIG), \ |
|---|
| 288 | + SR(DOMAIN0_PG_STATUS), \ |
|---|
| 289 | + SR(DOMAIN1_PG_STATUS), \ |
|---|
| 290 | + SR(DOMAIN2_PG_STATUS), \ |
|---|
| 291 | + SR(DOMAIN3_PG_STATUS), \ |
|---|
| 292 | + SR(DOMAIN4_PG_STATUS), \ |
|---|
| 293 | + SR(DOMAIN5_PG_STATUS), \ |
|---|
| 294 | + SR(DOMAIN6_PG_STATUS), \ |
|---|
| 295 | + SR(DOMAIN7_PG_STATUS), \ |
|---|
| 296 | + SR(DOMAIN8_PG_STATUS), \ |
|---|
| 297 | + SR(DOMAIN9_PG_STATUS), \ |
|---|
| 298 | + SR(DOMAIN10_PG_STATUS), \ |
|---|
| 299 | + SR(DOMAIN11_PG_STATUS), \ |
|---|
| 300 | + SR(DOMAIN16_PG_STATUS), \ |
|---|
| 301 | + SR(DOMAIN17_PG_STATUS), \ |
|---|
| 302 | + SR(DOMAIN18_PG_STATUS), \ |
|---|
| 303 | + SR(DOMAIN19_PG_STATUS), \ |
|---|
| 304 | + SR(DOMAIN20_PG_STATUS), \ |
|---|
| 305 | + SR(DOMAIN21_PG_STATUS), \ |
|---|
| 306 | + SR(D1VGA_CONTROL), \ |
|---|
| 307 | + SR(D2VGA_CONTROL), \ |
|---|
| 308 | + SR(D3VGA_CONTROL), \ |
|---|
| 309 | + SR(D4VGA_CONTROL), \ |
|---|
| 310 | + SR(D5VGA_CONTROL), \ |
|---|
| 311 | + SR(D6VGA_CONTROL), \ |
|---|
| 312 | + SR(DC_IP_REQUEST_CNTL) |
|---|
| 313 | + |
|---|
| 314 | +#define HWSEQ_DCN21_REG_LIST()\ |
|---|
| 315 | + HWSEQ_DCN_REG_LIST(), \ |
|---|
| 316 | + HSWEQ_DCN_PIXEL_RATE_REG_LIST(OTG, 0), \ |
|---|
| 317 | + HSWEQ_DCN_PIXEL_RATE_REG_LIST(OTG, 1), \ |
|---|
| 318 | + HSWEQ_DCN_PIXEL_RATE_REG_LIST(OTG, 2), \ |
|---|
| 319 | + HSWEQ_DCN_PIXEL_RATE_REG_LIST(OTG, 3), \ |
|---|
| 320 | + MMHUB_DCN_REG_LIST(), \ |
|---|
| 321 | + SR(MICROSECOND_TIME_BASE_DIV), \ |
|---|
| 322 | + SR(MILLISECOND_TIME_BASE_DIV), \ |
|---|
| 323 | + SR(DISPCLK_FREQ_CHANGE_CNTL), \ |
|---|
| 324 | + SR(RBBMIF_TIMEOUT_DIS), \ |
|---|
| 325 | + SR(RBBMIF_TIMEOUT_DIS_2), \ |
|---|
| 326 | + SR(DCHUBBUB_CRC_CTRL), \ |
|---|
| 327 | + SR(DPP_TOP0_DPP_CRC_CTRL), \ |
|---|
| 328 | + SR(DPP_TOP0_DPP_CRC_VAL_B_A), \ |
|---|
| 329 | + SR(DPP_TOP0_DPP_CRC_VAL_R_G), \ |
|---|
| 330 | + SR(MPC_CRC_CTRL), \ |
|---|
| 331 | + SR(MPC_CRC_RESULT_GB), \ |
|---|
| 332 | + SR(MPC_CRC_RESULT_C), \ |
|---|
| 333 | + SR(MPC_CRC_RESULT_AR), \ |
|---|
| 334 | + SR(DOMAIN0_PG_CONFIG), \ |
|---|
| 335 | + SR(DOMAIN1_PG_CONFIG), \ |
|---|
| 336 | + SR(DOMAIN2_PG_CONFIG), \ |
|---|
| 337 | + SR(DOMAIN3_PG_CONFIG), \ |
|---|
| 338 | + SR(DOMAIN4_PG_CONFIG), \ |
|---|
| 339 | + SR(DOMAIN5_PG_CONFIG), \ |
|---|
| 340 | + SR(DOMAIN6_PG_CONFIG), \ |
|---|
| 341 | + SR(DOMAIN7_PG_CONFIG), \ |
|---|
| 342 | + SR(DOMAIN16_PG_CONFIG), \ |
|---|
| 343 | + SR(DOMAIN17_PG_CONFIG), \ |
|---|
| 344 | + SR(DOMAIN18_PG_CONFIG), \ |
|---|
| 345 | + SR(DOMAIN0_PG_STATUS), \ |
|---|
| 346 | + SR(DOMAIN1_PG_STATUS), \ |
|---|
| 347 | + SR(DOMAIN2_PG_STATUS), \ |
|---|
| 348 | + SR(DOMAIN3_PG_STATUS), \ |
|---|
| 349 | + SR(DOMAIN4_PG_STATUS), \ |
|---|
| 350 | + SR(DOMAIN5_PG_STATUS), \ |
|---|
| 351 | + SR(DOMAIN6_PG_STATUS), \ |
|---|
| 352 | + SR(DOMAIN7_PG_STATUS), \ |
|---|
| 353 | + SR(DOMAIN16_PG_STATUS), \ |
|---|
| 354 | + SR(DOMAIN17_PG_STATUS), \ |
|---|
| 355 | + SR(DOMAIN18_PG_STATUS), \ |
|---|
| 356 | + SR(D1VGA_CONTROL), \ |
|---|
| 357 | + SR(D2VGA_CONTROL), \ |
|---|
| 358 | + SR(D3VGA_CONTROL), \ |
|---|
| 359 | + SR(D4VGA_CONTROL), \ |
|---|
| 360 | + SR(D5VGA_CONTROL), \ |
|---|
| 361 | + SR(D6VGA_CONTROL), \ |
|---|
| 362 | + SR(DC_IP_REQUEST_CNTL) |
|---|
| 197 | 363 | |
|---|
| 198 | 364 | struct dce_hwseq_registers { |
|---|
| 199 | | - |
|---|
| 200 | | - /* Backlight registers */ |
|---|
| 201 | | - uint32_t LVTMA_PWRSEQ_CNTL; |
|---|
| 202 | | - uint32_t LVTMA_PWRSEQ_STATE; |
|---|
| 203 | | - |
|---|
| 204 | 365 | uint32_t DCFE_CLOCK_CONTROL[6]; |
|---|
| 205 | 366 | uint32_t DCFEV_CLOCK_CONTROL; |
|---|
| 206 | 367 | uint32_t DC_MEM_GLOBAL_PWR_REQ_CNTL; |
|---|
| .. | .. |
|---|
| 233 | 394 | uint32_t DOMAIN5_PG_CONFIG; |
|---|
| 234 | 395 | uint32_t DOMAIN6_PG_CONFIG; |
|---|
| 235 | 396 | uint32_t DOMAIN7_PG_CONFIG; |
|---|
| 397 | + uint32_t DOMAIN8_PG_CONFIG; |
|---|
| 398 | + uint32_t DOMAIN9_PG_CONFIG; |
|---|
| 399 | + uint32_t DOMAIN10_PG_CONFIG; |
|---|
| 400 | + uint32_t DOMAIN11_PG_CONFIG; |
|---|
| 401 | + uint32_t DOMAIN16_PG_CONFIG; |
|---|
| 402 | + uint32_t DOMAIN17_PG_CONFIG; |
|---|
| 403 | + uint32_t DOMAIN18_PG_CONFIG; |
|---|
| 404 | + uint32_t DOMAIN19_PG_CONFIG; |
|---|
| 405 | + uint32_t DOMAIN20_PG_CONFIG; |
|---|
| 406 | + uint32_t DOMAIN21_PG_CONFIG; |
|---|
| 236 | 407 | uint32_t DOMAIN0_PG_STATUS; |
|---|
| 237 | 408 | uint32_t DOMAIN1_PG_STATUS; |
|---|
| 238 | 409 | uint32_t DOMAIN2_PG_STATUS; |
|---|
| .. | .. |
|---|
| 241 | 412 | uint32_t DOMAIN5_PG_STATUS; |
|---|
| 242 | 413 | uint32_t DOMAIN6_PG_STATUS; |
|---|
| 243 | 414 | uint32_t DOMAIN7_PG_STATUS; |
|---|
| 415 | + uint32_t DOMAIN8_PG_STATUS; |
|---|
| 416 | + uint32_t DOMAIN9_PG_STATUS; |
|---|
| 417 | + uint32_t DOMAIN10_PG_STATUS; |
|---|
| 418 | + uint32_t DOMAIN11_PG_STATUS; |
|---|
| 419 | + uint32_t DOMAIN16_PG_STATUS; |
|---|
| 420 | + uint32_t DOMAIN17_PG_STATUS; |
|---|
| 421 | + uint32_t DOMAIN18_PG_STATUS; |
|---|
| 422 | + uint32_t DOMAIN19_PG_STATUS; |
|---|
| 423 | + uint32_t DOMAIN20_PG_STATUS; |
|---|
| 424 | + uint32_t DOMAIN21_PG_STATUS; |
|---|
| 244 | 425 | uint32_t DIO_MEM_PWR_CTRL; |
|---|
| 245 | 426 | uint32_t DCCG_GATE_DISABLE_CNTL; |
|---|
| 246 | 427 | uint32_t DCCG_GATE_DISABLE_CNTL2; |
|---|
| .. | .. |
|---|
| 262 | 443 | uint32_t D2VGA_CONTROL; |
|---|
| 263 | 444 | uint32_t D3VGA_CONTROL; |
|---|
| 264 | 445 | uint32_t D4VGA_CONTROL; |
|---|
| 446 | + uint32_t D5VGA_CONTROL; |
|---|
| 447 | + uint32_t D6VGA_CONTROL; |
|---|
| 265 | 448 | uint32_t VGA_TEST_CONTROL; |
|---|
| 266 | 449 | /* MMHUB registers. read only. temporary hack */ |
|---|
| 267 | 450 | uint32_t VM_CONTEXT0_PAGE_TABLE_BASE_ADDR_HI32; |
|---|
| .. | .. |
|---|
| 276 | 459 | uint32_t MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR_LSB; |
|---|
| 277 | 460 | uint32_t MC_VM_SYSTEM_APERTURE_LOW_ADDR; |
|---|
| 278 | 461 | uint32_t MC_VM_SYSTEM_APERTURE_HIGH_ADDR; |
|---|
| 462 | + uint32_t MC_VM_XGMI_LFB_CNTL; |
|---|
| 279 | 463 | uint32_t AZALIA_AUDIO_DTO; |
|---|
| 280 | 464 | uint32_t AZALIA_CONTROLLER_CLOCK_GATING; |
|---|
| 281 | 465 | }; |
|---|
| .. | .. |
|---|
| 310 | 494 | HWS_SF1(blk, PHYPLL_PIXEL_RATE_CNTL, PHYPLL_PIXEL_RATE_SOURCE, mask_sh),\ |
|---|
| 311 | 495 | HWS_SF1(blk, PHYPLL_PIXEL_RATE_CNTL, PIXEL_RATE_PLL_SOURCE, mask_sh) |
|---|
| 312 | 496 | |
|---|
| 497 | +#if defined(CONFIG_DRM_AMD_DC_SI) |
|---|
| 498 | +#define HWSEQ_DCE6_MASK_SH_LIST(mask_sh)\ |
|---|
| 499 | + .DCFE_CLOCK_ENABLE = CRTC_DCFE_CLOCK_CONTROL__CRTC_DCFE_CLOCK_ENABLE ## mask_sh, \ |
|---|
| 500 | + HWSEQ_PIXEL_RATE_MASK_SH_LIST(mask_sh, CRTC0_) |
|---|
| 501 | +#endif |
|---|
| 502 | + |
|---|
| 313 | 503 | #define HWSEQ_DCE8_MASK_SH_LIST(mask_sh)\ |
|---|
| 314 | 504 | .DCFE_CLOCK_ENABLE = CRTC_DCFE_CLOCK_CONTROL__CRTC_DCFE_CLOCK_ENABLE ## mask_sh, \ |
|---|
| 315 | 505 | HWS_SF(BLND_, V_UPDATE_LOCK, BLND_DCP_GRPH_V_UPDATE_LOCK, mask_sh),\ |
|---|
| 316 | 506 | HWS_SF(BLND_, V_UPDATE_LOCK, BLND_SCL_V_UPDATE_LOCK, mask_sh),\ |
|---|
| 317 | 507 | HWS_SF(BLND_, V_UPDATE_LOCK, BLND_DCP_GRPH_SURF_V_UPDATE_LOCK, mask_sh),\ |
|---|
| 318 | 508 | HWS_SF(BLND_, CONTROL, BLND_MODE, mask_sh),\ |
|---|
| 319 | | - HWS_SF(, LVTMA_PWRSEQ_CNTL, LVTMA_BLON, mask_sh),\ |
|---|
| 320 | | - HWS_SF(, LVTMA_PWRSEQ_STATE, LVTMA_PWRSEQ_TARGET_STATE_R, mask_sh),\ |
|---|
| 321 | 509 | HWSEQ_PIXEL_RATE_MASK_SH_LIST(mask_sh, CRTC0_) |
|---|
| 322 | 510 | |
|---|
| 323 | 511 | #define HWSEQ_DCE10_MASK_SH_LIST(mask_sh)\ |
|---|
| 324 | 512 | HWSEQ_DCEF_MASK_SH_LIST(mask_sh, DCFE_),\ |
|---|
| 325 | 513 | HWSEQ_BLND_MASK_SH_LIST(mask_sh, BLND_),\ |
|---|
| 326 | | - HWSEQ_PIXEL_RATE_MASK_SH_LIST(mask_sh, CRTC0_), \ |
|---|
| 327 | | - HWS_SF(, LVTMA_PWRSEQ_CNTL, LVTMA_BLON, mask_sh), \ |
|---|
| 328 | | - HWS_SF(, LVTMA_PWRSEQ_STATE, LVTMA_PWRSEQ_TARGET_STATE_R, mask_sh) |
|---|
| 514 | + HWSEQ_PIXEL_RATE_MASK_SH_LIST(mask_sh, CRTC0_) |
|---|
| 329 | 515 | |
|---|
| 330 | 516 | #define HWSEQ_DCE11_MASK_SH_LIST(mask_sh)\ |
|---|
| 331 | 517 | HWSEQ_DCE10_MASK_SH_LIST(mask_sh),\ |
|---|
| 332 | 518 | SF(DCFEV_CLOCK_CONTROL, DCFEV_CLOCK_ENABLE, mask_sh),\ |
|---|
| 333 | | - HWS_SF(, LVTMA_PWRSEQ_CNTL, LVTMA_BLON, mask_sh),\ |
|---|
| 334 | | - HWS_SF(, LVTMA_PWRSEQ_CNTL, LVTMA_DIGON, mask_sh),\ |
|---|
| 335 | | - HWS_SF(, LVTMA_PWRSEQ_CNTL, LVTMA_DIGON_OVRD, mask_sh),\ |
|---|
| 336 | | - HWS_SF(, LVTMA_PWRSEQ_STATE, LVTMA_PWRSEQ_TARGET_STATE_R, mask_sh),\ |
|---|
| 337 | 519 | HWSEQ_PIXEL_RATE_MASK_SH_LIST(mask_sh, CRTC0_) |
|---|
| 338 | 520 | |
|---|
| 339 | 521 | #define HWSEQ_DCE112_MASK_SH_LIST(mask_sh)\ |
|---|
| 340 | 522 | HWSEQ_DCE10_MASK_SH_LIST(mask_sh),\ |
|---|
| 341 | | - HWS_SF(, LVTMA_PWRSEQ_CNTL, LVTMA_BLON, mask_sh),\ |
|---|
| 342 | | - HWS_SF(, LVTMA_PWRSEQ_STATE, LVTMA_PWRSEQ_TARGET_STATE_R, mask_sh),\ |
|---|
| 343 | 523 | HWSEQ_PHYPLL_MASK_SH_LIST(mask_sh, CRTC0_) |
|---|
| 344 | 524 | |
|---|
| 345 | 525 | #define HWSEQ_GFX9_DCHUB_MASK_SH_LIST(mask_sh)\ |
|---|
| .. | .. |
|---|
| 347 | 527 | SF(DCHUB_FB_LOCATION, FB_BASE, mask_sh),\ |
|---|
| 348 | 528 | SF(DCHUB_AGP_BASE, AGP_BASE, mask_sh),\ |
|---|
| 349 | 529 | SF(DCHUB_AGP_BOT, AGP_BOT, mask_sh),\ |
|---|
| 350 | | - SF(DCHUB_AGP_TOP, AGP_TOP, mask_sh), \ |
|---|
| 351 | | - HWS_SF(, LVTMA_PWRSEQ_CNTL, LVTMA_BLON, mask_sh), \ |
|---|
| 352 | | - HWS_SF(, LVTMA_PWRSEQ_STATE, LVTMA_PWRSEQ_TARGET_STATE_R, mask_sh) |
|---|
| 530 | + SF(DCHUB_AGP_TOP, AGP_TOP, mask_sh) |
|---|
| 353 | 531 | |
|---|
| 354 | 532 | #define HWSEQ_DCE12_MASK_SH_LIST(mask_sh)\ |
|---|
| 355 | 533 | HWSEQ_DCEF_MASK_SH_LIST(mask_sh, DCFE0_DCFE_),\ |
|---|
| 356 | 534 | HWSEQ_BLND_MASK_SH_LIST(mask_sh, BLND0_BLND_),\ |
|---|
| 357 | 535 | HWSEQ_PIXEL_RATE_MASK_SH_LIST(mask_sh, CRTC0_),\ |
|---|
| 358 | 536 | HWSEQ_PHYPLL_MASK_SH_LIST(mask_sh, CRTC0_),\ |
|---|
| 359 | | - HWSEQ_GFX9_DCHUB_MASK_SH_LIST(mask_sh), \ |
|---|
| 360 | | - HWS_SF(, LVTMA_PWRSEQ_CNTL, LVTMA_BLON, mask_sh), \ |
|---|
| 361 | | - HWS_SF(, LVTMA_PWRSEQ_STATE, LVTMA_PWRSEQ_TARGET_STATE_R, mask_sh) |
|---|
| 537 | + HWSEQ_GFX9_DCHUB_MASK_SH_LIST(mask_sh) |
|---|
| 538 | + |
|---|
| 539 | +#define HWSEQ_VG20_MASK_SH_LIST(mask_sh)\ |
|---|
| 540 | + HWSEQ_DCE12_MASK_SH_LIST(mask_sh),\ |
|---|
| 541 | + HWS_SF(, MC_VM_XGMI_LFB_CNTL, PF_LFB_REGION, mask_sh),\ |
|---|
| 542 | + HWS_SF(, MC_VM_XGMI_LFB_CNTL, PF_MAX_REGION, mask_sh) |
|---|
| 362 | 543 | |
|---|
| 363 | 544 | #define HWSEQ_DCN_MASK_SH_LIST(mask_sh)\ |
|---|
| 364 | 545 | HWSEQ_PIXEL_RATE_MASK_SH_LIST(mask_sh, OTG0_),\ |
|---|
| .. | .. |
|---|
| 415 | 596 | HWS_SF(, D3VGA_CONTROL, D3VGA_MODE_ENABLE, mask_sh),\ |
|---|
| 416 | 597 | HWS_SF(, D4VGA_CONTROL, D4VGA_MODE_ENABLE, mask_sh),\ |
|---|
| 417 | 598 | HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_ENABLE, mask_sh),\ |
|---|
| 418 | | - HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_RENDER_START, mask_sh),\ |
|---|
| 419 | | - HWS_SF(, LVTMA_PWRSEQ_CNTL, LVTMA_BLON, mask_sh), \ |
|---|
| 420 | | - HWS_SF(, LVTMA_PWRSEQ_CNTL, LVTMA_DIGON, mask_sh), \ |
|---|
| 421 | | - HWS_SF(, LVTMA_PWRSEQ_CNTL, LVTMA_DIGON_OVRD, mask_sh), \ |
|---|
| 422 | | - HWS_SF(, LVTMA_PWRSEQ_STATE, LVTMA_PWRSEQ_TARGET_STATE_R, mask_sh) |
|---|
| 599 | + HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_RENDER_START, mask_sh) |
|---|
| 600 | + |
|---|
| 601 | +#if defined(CONFIG_DRM_AMD_DC_DCN3_0) |
|---|
| 602 | +#define HWSEQ_DCN30_MASK_SH_LIST(mask_sh)\ |
|---|
| 603 | + HWSEQ_DCN2_MASK_SH_LIST(mask_sh), \ |
|---|
| 604 | + HWS_SF(, AZALIA_AUDIO_DTO, AZALIA_AUDIO_DTO_MODULE, mask_sh) |
|---|
| 605 | +#endif |
|---|
| 606 | + |
|---|
| 607 | +#define HWSEQ_DCN2_MASK_SH_LIST(mask_sh)\ |
|---|
| 608 | + HWSEQ_DCN_MASK_SH_LIST(mask_sh), \ |
|---|
| 609 | + HWS_SF(, DCHUBBUB_GLOBAL_TIMER_CNTL, DCHUBBUB_GLOBAL_TIMER_REFDIV, mask_sh), \ |
|---|
| 610 | + HWS_SF(, DOMAIN0_PG_CONFIG, DOMAIN0_POWER_FORCEON, mask_sh), \ |
|---|
| 611 | + HWS_SF(, DOMAIN0_PG_CONFIG, DOMAIN0_POWER_GATE, mask_sh), \ |
|---|
| 612 | + HWS_SF(, DOMAIN1_PG_CONFIG, DOMAIN1_POWER_FORCEON, mask_sh), \ |
|---|
| 613 | + HWS_SF(, DOMAIN1_PG_CONFIG, DOMAIN1_POWER_GATE, mask_sh), \ |
|---|
| 614 | + HWS_SF(, DOMAIN2_PG_CONFIG, DOMAIN2_POWER_FORCEON, mask_sh), \ |
|---|
| 615 | + HWS_SF(, DOMAIN2_PG_CONFIG, DOMAIN2_POWER_GATE, mask_sh), \ |
|---|
| 616 | + HWS_SF(, DOMAIN3_PG_CONFIG, DOMAIN3_POWER_FORCEON, mask_sh), \ |
|---|
| 617 | + HWS_SF(, DOMAIN3_PG_CONFIG, DOMAIN3_POWER_GATE, mask_sh), \ |
|---|
| 618 | + HWS_SF(, DOMAIN4_PG_CONFIG, DOMAIN4_POWER_FORCEON, mask_sh), \ |
|---|
| 619 | + HWS_SF(, DOMAIN4_PG_CONFIG, DOMAIN4_POWER_GATE, mask_sh), \ |
|---|
| 620 | + HWS_SF(, DOMAIN5_PG_CONFIG, DOMAIN5_POWER_FORCEON, mask_sh), \ |
|---|
| 621 | + HWS_SF(, DOMAIN5_PG_CONFIG, DOMAIN5_POWER_GATE, mask_sh), \ |
|---|
| 622 | + HWS_SF(, DOMAIN6_PG_CONFIG, DOMAIN6_POWER_FORCEON, mask_sh), \ |
|---|
| 623 | + HWS_SF(, DOMAIN6_PG_CONFIG, DOMAIN6_POWER_GATE, mask_sh), \ |
|---|
| 624 | + HWS_SF(, DOMAIN7_PG_CONFIG, DOMAIN7_POWER_FORCEON, mask_sh), \ |
|---|
| 625 | + HWS_SF(, DOMAIN7_PG_CONFIG, DOMAIN7_POWER_GATE, mask_sh), \ |
|---|
| 626 | + HWS_SF(, DOMAIN8_PG_CONFIG, DOMAIN8_POWER_FORCEON, mask_sh), \ |
|---|
| 627 | + HWS_SF(, DOMAIN8_PG_CONFIG, DOMAIN8_POWER_GATE, mask_sh), \ |
|---|
| 628 | + HWS_SF(, DOMAIN9_PG_CONFIG, DOMAIN9_POWER_FORCEON, mask_sh), \ |
|---|
| 629 | + HWS_SF(, DOMAIN9_PG_CONFIG, DOMAIN9_POWER_GATE, mask_sh), \ |
|---|
| 630 | + HWS_SF(, DOMAIN10_PG_CONFIG, DOMAIN10_POWER_FORCEON, mask_sh), \ |
|---|
| 631 | + HWS_SF(, DOMAIN10_PG_CONFIG, DOMAIN10_POWER_GATE, mask_sh), \ |
|---|
| 632 | + HWS_SF(, DOMAIN11_PG_CONFIG, DOMAIN11_POWER_FORCEON, mask_sh), \ |
|---|
| 633 | + HWS_SF(, DOMAIN11_PG_CONFIG, DOMAIN11_POWER_GATE, mask_sh), \ |
|---|
| 634 | + HWS_SF(, DOMAIN16_PG_CONFIG, DOMAIN16_POWER_FORCEON, mask_sh), \ |
|---|
| 635 | + HWS_SF(, DOMAIN16_PG_CONFIG, DOMAIN16_POWER_GATE, mask_sh), \ |
|---|
| 636 | + HWS_SF(, DOMAIN17_PG_CONFIG, DOMAIN17_POWER_FORCEON, mask_sh), \ |
|---|
| 637 | + HWS_SF(, DOMAIN17_PG_CONFIG, DOMAIN17_POWER_GATE, mask_sh), \ |
|---|
| 638 | + HWS_SF(, DOMAIN18_PG_CONFIG, DOMAIN18_POWER_FORCEON, mask_sh), \ |
|---|
| 639 | + HWS_SF(, DOMAIN18_PG_CONFIG, DOMAIN18_POWER_GATE, mask_sh), \ |
|---|
| 640 | + HWS_SF(, DOMAIN19_PG_CONFIG, DOMAIN19_POWER_FORCEON, mask_sh), \ |
|---|
| 641 | + HWS_SF(, DOMAIN19_PG_CONFIG, DOMAIN19_POWER_GATE, mask_sh), \ |
|---|
| 642 | + HWS_SF(, DOMAIN20_PG_CONFIG, DOMAIN20_POWER_FORCEON, mask_sh), \ |
|---|
| 643 | + HWS_SF(, DOMAIN20_PG_CONFIG, DOMAIN20_POWER_GATE, mask_sh), \ |
|---|
| 644 | + HWS_SF(, DOMAIN21_PG_CONFIG, DOMAIN21_POWER_FORCEON, mask_sh), \ |
|---|
| 645 | + HWS_SF(, DOMAIN21_PG_CONFIG, DOMAIN21_POWER_GATE, mask_sh), \ |
|---|
| 646 | + HWS_SF(, DOMAIN0_PG_STATUS, DOMAIN0_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 647 | + HWS_SF(, DOMAIN1_PG_STATUS, DOMAIN1_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 648 | + HWS_SF(, DOMAIN2_PG_STATUS, DOMAIN2_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 649 | + HWS_SF(, DOMAIN3_PG_STATUS, DOMAIN3_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 650 | + HWS_SF(, DOMAIN4_PG_STATUS, DOMAIN4_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 651 | + HWS_SF(, DOMAIN5_PG_STATUS, DOMAIN5_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 652 | + HWS_SF(, DOMAIN6_PG_STATUS, DOMAIN6_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 653 | + HWS_SF(, DOMAIN7_PG_STATUS, DOMAIN7_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 654 | + HWS_SF(, DOMAIN8_PG_STATUS, DOMAIN8_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 655 | + HWS_SF(, DOMAIN9_PG_STATUS, DOMAIN9_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 656 | + HWS_SF(, DOMAIN10_PG_STATUS, DOMAIN10_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 657 | + HWS_SF(, DOMAIN11_PG_STATUS, DOMAIN11_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 658 | + HWS_SF(, DOMAIN16_PG_STATUS, DOMAIN16_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 659 | + HWS_SF(, DOMAIN17_PG_STATUS, DOMAIN17_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 660 | + HWS_SF(, DOMAIN18_PG_STATUS, DOMAIN18_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 661 | + HWS_SF(, DOMAIN19_PG_STATUS, DOMAIN19_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 662 | + HWS_SF(, DOMAIN20_PG_STATUS, DOMAIN20_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 663 | + HWS_SF(, DOMAIN21_PG_STATUS, DOMAIN21_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 664 | + HWS_SF(, DC_IP_REQUEST_CNTL, IP_REQUEST_EN, mask_sh) |
|---|
| 665 | + |
|---|
| 666 | +#define HWSEQ_DCN21_MASK_SH_LIST(mask_sh)\ |
|---|
| 667 | + HWSEQ_DCN_MASK_SH_LIST(mask_sh), \ |
|---|
| 668 | + HWS_SF(, DCHUBBUB_GLOBAL_TIMER_CNTL, DCHUBBUB_GLOBAL_TIMER_REFDIV, mask_sh), \ |
|---|
| 669 | + HWS_SF(, MMVM_CONTEXT0_PAGE_TABLE_BASE_ADDR_HI32, PAGE_DIRECTORY_ENTRY_HI32, mask_sh),\ |
|---|
| 670 | + HWS_SF(, MMVM_CONTEXT0_PAGE_TABLE_BASE_ADDR_LO32, PAGE_DIRECTORY_ENTRY_LO32, mask_sh),\ |
|---|
| 671 | + HWS_SF(, DOMAIN0_PG_CONFIG, DOMAIN0_POWER_FORCEON, mask_sh), \ |
|---|
| 672 | + HWS_SF(, DOMAIN0_PG_CONFIG, DOMAIN0_POWER_GATE, mask_sh), \ |
|---|
| 673 | + HWS_SF(, DOMAIN1_PG_CONFIG, DOMAIN1_POWER_FORCEON, mask_sh), \ |
|---|
| 674 | + HWS_SF(, DOMAIN1_PG_CONFIG, DOMAIN1_POWER_GATE, mask_sh), \ |
|---|
| 675 | + HWS_SF(, DOMAIN2_PG_CONFIG, DOMAIN2_POWER_FORCEON, mask_sh), \ |
|---|
| 676 | + HWS_SF(, DOMAIN2_PG_CONFIG, DOMAIN2_POWER_GATE, mask_sh), \ |
|---|
| 677 | + HWS_SF(, DOMAIN3_PG_CONFIG, DOMAIN3_POWER_FORCEON, mask_sh), \ |
|---|
| 678 | + HWS_SF(, DOMAIN3_PG_CONFIG, DOMAIN3_POWER_GATE, mask_sh), \ |
|---|
| 679 | + HWS_SF(, DOMAIN4_PG_CONFIG, DOMAIN4_POWER_FORCEON, mask_sh), \ |
|---|
| 680 | + HWS_SF(, DOMAIN4_PG_CONFIG, DOMAIN4_POWER_GATE, mask_sh), \ |
|---|
| 681 | + HWS_SF(, DOMAIN5_PG_CONFIG, DOMAIN5_POWER_FORCEON, mask_sh), \ |
|---|
| 682 | + HWS_SF(, DOMAIN5_PG_CONFIG, DOMAIN5_POWER_GATE, mask_sh), \ |
|---|
| 683 | + HWS_SF(, DOMAIN6_PG_CONFIG, DOMAIN6_POWER_FORCEON, mask_sh), \ |
|---|
| 684 | + HWS_SF(, DOMAIN6_PG_CONFIG, DOMAIN6_POWER_GATE, mask_sh), \ |
|---|
| 685 | + HWS_SF(, DOMAIN7_PG_CONFIG, DOMAIN7_POWER_FORCEON, mask_sh), \ |
|---|
| 686 | + HWS_SF(, DOMAIN7_PG_CONFIG, DOMAIN7_POWER_GATE, mask_sh), \ |
|---|
| 687 | + HWS_SF(, DOMAIN16_PG_CONFIG, DOMAIN16_POWER_FORCEON, mask_sh), \ |
|---|
| 688 | + HWS_SF(, DOMAIN16_PG_CONFIG, DOMAIN16_POWER_GATE, mask_sh), \ |
|---|
| 689 | + HWS_SF(, DOMAIN17_PG_CONFIG, DOMAIN17_POWER_FORCEON, mask_sh), \ |
|---|
| 690 | + HWS_SF(, DOMAIN17_PG_CONFIG, DOMAIN17_POWER_GATE, mask_sh), \ |
|---|
| 691 | + HWS_SF(, DOMAIN18_PG_CONFIG, DOMAIN18_POWER_FORCEON, mask_sh), \ |
|---|
| 692 | + HWS_SF(, DOMAIN18_PG_CONFIG, DOMAIN18_POWER_GATE, mask_sh), \ |
|---|
| 693 | + HWS_SF(, DOMAIN0_PG_STATUS, DOMAIN0_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 694 | + HWS_SF(, DOMAIN1_PG_STATUS, DOMAIN1_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 695 | + HWS_SF(, DOMAIN2_PG_STATUS, DOMAIN2_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 696 | + HWS_SF(, DOMAIN3_PG_STATUS, DOMAIN3_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 697 | + HWS_SF(, DOMAIN4_PG_STATUS, DOMAIN4_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 698 | + HWS_SF(, DOMAIN5_PG_STATUS, DOMAIN5_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 699 | + HWS_SF(, DOMAIN6_PG_STATUS, DOMAIN6_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 700 | + HWS_SF(, DOMAIN7_PG_STATUS, DOMAIN7_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 701 | + HWS_SF(, DOMAIN16_PG_STATUS, DOMAIN16_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 702 | + HWS_SF(, DOMAIN17_PG_STATUS, DOMAIN17_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 703 | + HWS_SF(, DOMAIN18_PG_STATUS, DOMAIN18_PGFSM_PWR_STATUS, mask_sh), \ |
|---|
| 704 | + HWS_SF(, DC_IP_REQUEST_CNTL, IP_REQUEST_EN, mask_sh) |
|---|
| 423 | 705 | |
|---|
| 424 | 706 | #define HWSEQ_REG_FIELD_LIST(type) \ |
|---|
| 425 | 707 | type DCFE_CLOCK_ENABLE; \ |
|---|
| .. | .. |
|---|
| 448 | 730 | type PHYSICAL_PAGE_NUMBER_MSB;\ |
|---|
| 449 | 731 | type PHYSICAL_PAGE_NUMBER_LSB;\ |
|---|
| 450 | 732 | type LOGICAL_ADDR; \ |
|---|
| 733 | + type PF_LFB_REGION;\ |
|---|
| 734 | + type PF_MAX_REGION;\ |
|---|
| 451 | 735 | type ENABLE_L1_TLB;\ |
|---|
| 452 | | - type SYSTEM_ACCESS_MODE;\ |
|---|
| 453 | | - type LVTMA_BLON;\ |
|---|
| 454 | | - type LVTMA_PWRSEQ_TARGET_STATE_R;\ |
|---|
| 455 | | - type LVTMA_DIGON;\ |
|---|
| 456 | | - type LVTMA_DIGON_OVRD; |
|---|
| 736 | + type SYSTEM_ACCESS_MODE; |
|---|
| 457 | 737 | |
|---|
| 458 | 738 | #define HWSEQ_DCN_REG_FIELD_LIST(type) \ |
|---|
| 459 | 739 | type HUBP_VTG_SEL; \ |
|---|
| .. | .. |
|---|
| 489 | 769 | type DOMAIN6_POWER_GATE; \ |
|---|
| 490 | 770 | type DOMAIN7_POWER_FORCEON; \ |
|---|
| 491 | 771 | type DOMAIN7_POWER_GATE; \ |
|---|
| 772 | + type DOMAIN8_POWER_FORCEON; \ |
|---|
| 773 | + type DOMAIN8_POWER_GATE; \ |
|---|
| 774 | + type DOMAIN9_POWER_FORCEON; \ |
|---|
| 775 | + type DOMAIN9_POWER_GATE; \ |
|---|
| 776 | + type DOMAIN10_POWER_FORCEON; \ |
|---|
| 777 | + type DOMAIN10_POWER_GATE; \ |
|---|
| 778 | + type DOMAIN11_POWER_FORCEON; \ |
|---|
| 779 | + type DOMAIN11_POWER_GATE; \ |
|---|
| 780 | + type DOMAIN16_POWER_FORCEON; \ |
|---|
| 781 | + type DOMAIN16_POWER_GATE; \ |
|---|
| 782 | + type DOMAIN17_POWER_FORCEON; \ |
|---|
| 783 | + type DOMAIN17_POWER_GATE; \ |
|---|
| 784 | + type DOMAIN18_POWER_FORCEON; \ |
|---|
| 785 | + type DOMAIN18_POWER_GATE; \ |
|---|
| 786 | + type DOMAIN19_POWER_FORCEON; \ |
|---|
| 787 | + type DOMAIN19_POWER_GATE; \ |
|---|
| 788 | + type DOMAIN20_POWER_FORCEON; \ |
|---|
| 789 | + type DOMAIN20_POWER_GATE; \ |
|---|
| 790 | + type DOMAIN21_POWER_FORCEON; \ |
|---|
| 791 | + type DOMAIN21_POWER_GATE; \ |
|---|
| 492 | 792 | type DOMAIN0_PGFSM_PWR_STATUS; \ |
|---|
| 493 | 793 | type DOMAIN1_PGFSM_PWR_STATUS; \ |
|---|
| 494 | 794 | type DOMAIN2_PGFSM_PWR_STATUS; \ |
|---|
| .. | .. |
|---|
| 497 | 797 | type DOMAIN5_PGFSM_PWR_STATUS; \ |
|---|
| 498 | 798 | type DOMAIN6_PGFSM_PWR_STATUS; \ |
|---|
| 499 | 799 | type DOMAIN7_PGFSM_PWR_STATUS; \ |
|---|
| 800 | + type DOMAIN8_PGFSM_PWR_STATUS; \ |
|---|
| 801 | + type DOMAIN9_PGFSM_PWR_STATUS; \ |
|---|
| 802 | + type DOMAIN10_PGFSM_PWR_STATUS; \ |
|---|
| 803 | + type DOMAIN11_PGFSM_PWR_STATUS; \ |
|---|
| 804 | + type DOMAIN16_PGFSM_PWR_STATUS; \ |
|---|
| 805 | + type DOMAIN17_PGFSM_PWR_STATUS; \ |
|---|
| 806 | + type DOMAIN18_PGFSM_PWR_STATUS; \ |
|---|
| 807 | + type DOMAIN19_PGFSM_PWR_STATUS; \ |
|---|
| 808 | + type DOMAIN20_PGFSM_PWR_STATUS; \ |
|---|
| 809 | + type DOMAIN21_PGFSM_PWR_STATUS; \ |
|---|
| 500 | 810 | type DCFCLK_GATE_DIS; \ |
|---|
| 501 | 811 | type DCHUBBUB_GLOBAL_TIMER_REFDIV; \ |
|---|
| 502 | 812 | type VGA_TEST_ENABLE; \ |
|---|
| .. | .. |
|---|
| 524 | 834 | BLND_MODE_BLENDING,/* Alpha blending - blend 'current' and 'other' */ |
|---|
| 525 | 835 | }; |
|---|
| 526 | 836 | |
|---|
| 837 | +struct dce_hwseq; |
|---|
| 838 | +struct pipe_ctx; |
|---|
| 839 | +struct clock_source; |
|---|
| 840 | + |
|---|
| 527 | 841 | void dce_enable_fe_clock(struct dce_hwseq *hwss, |
|---|
| 528 | 842 | unsigned int inst, bool enable); |
|---|
| 529 | 843 | |
|---|
| .. | .. |
|---|
| 534 | 848 | void dce_set_blender_mode(struct dce_hwseq *hws, |
|---|
| 535 | 849 | unsigned int blnd_inst, enum blnd_mode mode); |
|---|
| 536 | 850 | |
|---|
| 851 | +#if defined(CONFIG_DRM_AMD_DC_SI) |
|---|
| 852 | +void dce60_pipe_control_lock(struct dc *dc, |
|---|
| 853 | + struct pipe_ctx *pipe, |
|---|
| 854 | + bool lock); |
|---|
| 855 | +#endif |
|---|
| 856 | + |
|---|
| 537 | 857 | void dce_clock_gating_power_up(struct dce_hwseq *hws, |
|---|
| 538 | 858 | bool enable); |
|---|
| 539 | 859 | |
|---|