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