diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2013-08-14 01:03:41 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2013-08-30 16:30:29 -0400 |
commit | cc8dbbb4f62aa53e604e7c61dedc03ee4e8dfed4 (patch) | |
tree | e346ae250ed7c00644b883cbe024695fe8c40524 /drivers/gpu/drm/radeon/cikd.h | |
parent | 41a524abff2630dce0f9c38eb7340fbf2dc5bf27 (diff) |
drm/radeon: add dpm support for CI dGPUs (v2)
This adds dpm support for btc asics. This includes:
- dynamic engine clock scaling
- dynamic memory clock scaling
- dynamic voltage scaling
- dynamic pcie gen switching
Set radeon.dpm=1 to enable.
v2: remove unused radeon_atombios.c changes,
make missing smc ucode non-fatal
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/cikd.h')
-rw-r--r-- | drivers/gpu/drm/radeon/cikd.h | 259 |
1 files changed, 258 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/cikd.h b/drivers/gpu/drm/radeon/cikd.h index 179ca3625ae4..861fb3ec161c 100644 --- a/drivers/gpu/drm/radeon/cikd.h +++ b/drivers/gpu/drm/radeon/cikd.h | |||
@@ -36,6 +36,23 @@ | |||
36 | #define DIDT_TCP_CTRL0 0x60 | 36 | #define DIDT_TCP_CTRL0 0x60 |
37 | 37 | ||
38 | /* SMC IND registers */ | 38 | /* SMC IND registers */ |
39 | #define DPM_TABLE_475 0x3F768 | ||
40 | # define SamuBootLevel(x) ((x) << 0) | ||
41 | # define SamuBootLevel_MASK 0x000000ff | ||
42 | # define SamuBootLevel_SHIFT 0 | ||
43 | # define AcpBootLevel(x) ((x) << 8) | ||
44 | # define AcpBootLevel_MASK 0x0000ff00 | ||
45 | # define AcpBootLevel_SHIFT 8 | ||
46 | # define VceBootLevel(x) ((x) << 16) | ||
47 | # define VceBootLevel_MASK 0x00ff0000 | ||
48 | # define VceBootLevel_SHIFT 16 | ||
49 | # define UvdBootLevel(x) ((x) << 24) | ||
50 | # define UvdBootLevel_MASK 0xff000000 | ||
51 | # define UvdBootLevel_SHIFT 24 | ||
52 | |||
53 | #define FIRMWARE_FLAGS 0x3F800 | ||
54 | # define INTERRUPTS_ENABLED (1 << 0) | ||
55 | |||
39 | #define NB_DPM_CONFIG_1 0x3F9E8 | 56 | #define NB_DPM_CONFIG_1 0x3F9E8 |
40 | # define Dpm0PgNbPsLo(x) ((x) << 0) | 57 | # define Dpm0PgNbPsLo(x) ((x) << 0) |
41 | # define Dpm0PgNbPsLo_MASK 0x000000ff | 58 | # define Dpm0PgNbPsLo_MASK 0x000000ff |
@@ -50,25 +67,85 @@ | |||
50 | # define DpmXNbPsHi_MASK 0xff000000 | 67 | # define DpmXNbPsHi_MASK 0xff000000 |
51 | # define DpmXNbPsHi_SHIFT 24 | 68 | # define DpmXNbPsHi_SHIFT 24 |
52 | 69 | ||
70 | #define SMC_SYSCON_RESET_CNTL 0x80000000 | ||
71 | # define RST_REG (1 << 0) | ||
72 | #define SMC_SYSCON_CLOCK_CNTL_0 0x80000004 | ||
73 | # define CK_DISABLE (1 << 0) | ||
74 | # define CKEN (1 << 24) | ||
75 | |||
76 | #define SMC_SYSCON_MISC_CNTL 0x80000010 | ||
77 | |||
53 | #define SMC_SYSCON_MSG_ARG_0 0x80000068 | 78 | #define SMC_SYSCON_MSG_ARG_0 0x80000068 |
54 | 79 | ||
80 | #define SMC_PC_C 0x80000370 | ||
81 | |||
82 | #define SMC_SCRATCH9 0x80000424 | ||
83 | |||
84 | #define RCU_UC_EVENTS 0xC0000004 | ||
85 | # define BOOT_SEQ_DONE (1 << 7) | ||
86 | |||
55 | #define GENERAL_PWRMGT 0xC0200000 | 87 | #define GENERAL_PWRMGT 0xC0200000 |
56 | # define GLOBAL_PWRMGT_EN (1 << 0) | 88 | # define GLOBAL_PWRMGT_EN (1 << 0) |
89 | # define STATIC_PM_EN (1 << 1) | ||
90 | # define THERMAL_PROTECTION_DIS (1 << 2) | ||
91 | # define THERMAL_PROTECTION_TYPE (1 << 3) | ||
92 | # define SW_SMIO_INDEX(x) ((x) << 6) | ||
93 | # define SW_SMIO_INDEX_MASK (1 << 6) | ||
94 | # define SW_SMIO_INDEX_SHIFT 6 | ||
95 | # define VOLT_PWRMGT_EN (1 << 10) | ||
57 | # define GPU_COUNTER_CLK (1 << 15) | 96 | # define GPU_COUNTER_CLK (1 << 15) |
97 | # define DYN_SPREAD_SPECTRUM_EN (1 << 23) | ||
98 | |||
99 | #define CNB_PWRMGT_CNTL 0xC0200004 | ||
100 | # define GNB_SLOW_MODE(x) ((x) << 0) | ||
101 | # define GNB_SLOW_MODE_MASK (3 << 0) | ||
102 | # define GNB_SLOW_MODE_SHIFT 0 | ||
103 | # define GNB_SLOW (1 << 2) | ||
104 | # define FORCE_NB_PS1 (1 << 3) | ||
105 | # define DPM_ENABLED (1 << 4) | ||
58 | 106 | ||
59 | #define SCLK_PWRMGT_CNTL 0xC0200008 | 107 | #define SCLK_PWRMGT_CNTL 0xC0200008 |
108 | # define SCLK_PWRMGT_OFF (1 << 0) | ||
60 | # define RESET_BUSY_CNT (1 << 4) | 109 | # define RESET_BUSY_CNT (1 << 4) |
61 | # define RESET_SCLK_CNT (1 << 5) | 110 | # define RESET_SCLK_CNT (1 << 5) |
62 | # define DYNAMIC_PM_EN (1 << 21) | 111 | # define DYNAMIC_PM_EN (1 << 21) |
63 | 112 | ||
113 | #define CG_SSP 0xC0200044 | ||
114 | # define SST(x) ((x) << 0) | ||
115 | # define SST_MASK (0xffff << 0) | ||
116 | # define SSTU(x) ((x) << 16) | ||
117 | # define SSTU_MASK (0xf << 16) | ||
118 | |||
119 | #define CG_DISPLAY_GAP_CNTL 0xC0200060 | ||
120 | # define DISP_GAP(x) ((x) << 0) | ||
121 | # define DISP_GAP_MASK (3 << 0) | ||
122 | # define VBI_TIMER_COUNT(x) ((x) << 4) | ||
123 | # define VBI_TIMER_COUNT_MASK (0x3fff << 4) | ||
124 | # define VBI_TIMER_UNIT(x) ((x) << 20) | ||
125 | # define VBI_TIMER_UNIT_MASK (7 << 20) | ||
126 | # define DISP_GAP_MCHG(x) ((x) << 24) | ||
127 | # define DISP_GAP_MCHG_MASK (3 << 24) | ||
128 | |||
129 | #define CG_ULV_PARAMETER 0xC0200158 | ||
130 | |||
64 | #define CG_FTV_0 0xC02001A8 | 131 | #define CG_FTV_0 0xC02001A8 |
132 | #define CG_FTV_1 0xC02001AC | ||
133 | #define CG_FTV_2 0xC02001B0 | ||
134 | #define CG_FTV_3 0xC02001B4 | ||
135 | #define CG_FTV_4 0xC02001B8 | ||
136 | #define CG_FTV_5 0xC02001BC | ||
137 | #define CG_FTV_6 0xC02001C0 | ||
138 | #define CG_FTV_7 0xC02001C4 | ||
139 | |||
140 | #define CG_DISPLAY_GAP_CNTL2 0xC0200230 | ||
65 | 141 | ||
66 | #define LCAC_SX0_OVR_SEL 0xC0400D04 | 142 | #define LCAC_SX0_OVR_SEL 0xC0400D04 |
67 | #define LCAC_SX0_OVR_VAL 0xC0400D08 | 143 | #define LCAC_SX0_OVR_VAL 0xC0400D08 |
68 | 144 | ||
145 | #define LCAC_MC0_CNTL 0xC0400D30 | ||
69 | #define LCAC_MC0_OVR_SEL 0xC0400D34 | 146 | #define LCAC_MC0_OVR_SEL 0xC0400D34 |
70 | #define LCAC_MC0_OVR_VAL 0xC0400D38 | 147 | #define LCAC_MC0_OVR_VAL 0xC0400D38 |
71 | 148 | #define LCAC_MC1_CNTL 0xC0400D3C | |
72 | #define LCAC_MC1_OVR_SEL 0xC0400D40 | 149 | #define LCAC_MC1_OVR_SEL 0xC0400D40 |
73 | #define LCAC_MC1_OVR_VAL 0xC0400D44 | 150 | #define LCAC_MC1_OVR_VAL 0xC0400D44 |
74 | 151 | ||
@@ -78,9 +155,28 @@ | |||
78 | #define LCAC_MC3_OVR_SEL 0xC0400D58 | 155 | #define LCAC_MC3_OVR_SEL 0xC0400D58 |
79 | #define LCAC_MC3_OVR_VAL 0xC0400D5C | 156 | #define LCAC_MC3_OVR_VAL 0xC0400D5C |
80 | 157 | ||
158 | #define LCAC_CPL_CNTL 0xC0400D80 | ||
81 | #define LCAC_CPL_OVR_SEL 0xC0400D84 | 159 | #define LCAC_CPL_OVR_SEL 0xC0400D84 |
82 | #define LCAC_CPL_OVR_VAL 0xC0400D88 | 160 | #define LCAC_CPL_OVR_VAL 0xC0400D88 |
83 | 161 | ||
162 | /* dGPU */ | ||
163 | #define CG_THERMAL_CTRL 0xC0300004 | ||
164 | #define DPM_EVENT_SRC(x) ((x) << 0) | ||
165 | #define DPM_EVENT_SRC_MASK (7 << 0) | ||
166 | #define DIG_THERM_DPM(x) ((x) << 14) | ||
167 | #define DIG_THERM_DPM_MASK 0x003FC000 | ||
168 | #define DIG_THERM_DPM_SHIFT 14 | ||
169 | |||
170 | #define CG_THERMAL_INT 0xC030000C | ||
171 | #define CI_DIG_THERM_INTH(x) ((x) << 8) | ||
172 | #define CI_DIG_THERM_INTH_MASK 0x0000FF00 | ||
173 | #define CI_DIG_THERM_INTH_SHIFT 8 | ||
174 | #define CI_DIG_THERM_INTL(x) ((x) << 16) | ||
175 | #define CI_DIG_THERM_INTL_MASK 0x00FF0000 | ||
176 | #define CI_DIG_THERM_INTL_SHIFT 16 | ||
177 | #define THERM_INT_MASK_HIGH (1 << 24) | ||
178 | #define THERM_INT_MASK_LOW (1 << 25) | ||
179 | |||
84 | #define CG_MULT_THERMAL_STATUS 0xC0300014 | 180 | #define CG_MULT_THERMAL_STATUS 0xC0300014 |
85 | #define ASIC_MAX_TEMP(x) ((x) << 0) | 181 | #define ASIC_MAX_TEMP(x) ((x) << 0) |
86 | #define ASIC_MAX_TEMP_MASK 0x000001ff | 182 | #define ASIC_MAX_TEMP_MASK 0x000001ff |
@@ -89,6 +185,35 @@ | |||
89 | #define CTF_TEMP_MASK 0x0003fe00 | 185 | #define CTF_TEMP_MASK 0x0003fe00 |
90 | #define CTF_TEMP_SHIFT 9 | 186 | #define CTF_TEMP_SHIFT 9 |
91 | 187 | ||
188 | #define CG_SPLL_FUNC_CNTL 0xC0500140 | ||
189 | #define SPLL_RESET (1 << 0) | ||
190 | #define SPLL_PWRON (1 << 1) | ||
191 | #define SPLL_BYPASS_EN (1 << 3) | ||
192 | #define SPLL_REF_DIV(x) ((x) << 5) | ||
193 | #define SPLL_REF_DIV_MASK (0x3f << 5) | ||
194 | #define SPLL_PDIV_A(x) ((x) << 20) | ||
195 | #define SPLL_PDIV_A_MASK (0x7f << 20) | ||
196 | #define SPLL_PDIV_A_SHIFT 20 | ||
197 | #define CG_SPLL_FUNC_CNTL_2 0xC0500144 | ||
198 | #define SCLK_MUX_SEL(x) ((x) << 0) | ||
199 | #define SCLK_MUX_SEL_MASK (0x1ff << 0) | ||
200 | #define CG_SPLL_FUNC_CNTL_3 0xC0500148 | ||
201 | #define SPLL_FB_DIV(x) ((x) << 0) | ||
202 | #define SPLL_FB_DIV_MASK (0x3ffffff << 0) | ||
203 | #define SPLL_FB_DIV_SHIFT 0 | ||
204 | #define SPLL_DITHEN (1 << 28) | ||
205 | #define CG_SPLL_FUNC_CNTL_4 0xC050014C | ||
206 | |||
207 | #define CG_SPLL_SPREAD_SPECTRUM 0xC0500164 | ||
208 | #define SSEN (1 << 0) | ||
209 | #define CLK_S(x) ((x) << 4) | ||
210 | #define CLK_S_MASK (0xfff << 4) | ||
211 | #define CLK_S_SHIFT 4 | ||
212 | #define CG_SPLL_SPREAD_SPECTRUM_2 0xC0500168 | ||
213 | #define CLK_V(x) ((x) << 0) | ||
214 | #define CLK_V_MASK (0x3ffffff << 0) | ||
215 | #define CLK_V_SHIFT 0 | ||
216 | |||
92 | #define MPLL_BYPASSCLK_SEL 0xC050019C | 217 | #define MPLL_BYPASSCLK_SEL 0xC050019C |
93 | # define MPLL_CLKOUT_SEL(x) ((x) << 8) | 218 | # define MPLL_CLKOUT_SEL(x) ((x) << 8) |
94 | # define MPLL_CLKOUT_SEL_MASK 0xFF00 | 219 | # define MPLL_CLKOUT_SEL_MASK 0xFF00 |
@@ -109,6 +234,7 @@ | |||
109 | # define ZCLK_SEL(x) ((x) << 8) | 234 | # define ZCLK_SEL(x) ((x) << 8) |
110 | # define ZCLK_SEL_MASK 0xFF00 | 235 | # define ZCLK_SEL_MASK 0xFF00 |
111 | 236 | ||
237 | /* KV/KB */ | ||
112 | #define CG_THERMAL_INT_CTRL 0xC2100028 | 238 | #define CG_THERMAL_INT_CTRL 0xC2100028 |
113 | #define DIG_THERM_INTH(x) ((x) << 0) | 239 | #define DIG_THERM_INTH(x) ((x) << 0) |
114 | #define DIG_THERM_INTH_MASK 0x000000FF | 240 | #define DIG_THERM_INTH_MASK 0x000000FF |
@@ -437,9 +563,37 @@ | |||
437 | #define NOOFGROUPS_SHIFT 12 | 563 | #define NOOFGROUPS_SHIFT 12 |
438 | #define NOOFGROUPS_MASK 0x00001000 | 564 | #define NOOFGROUPS_MASK 0x00001000 |
439 | 565 | ||
566 | #define MC_ARB_DRAM_TIMING 0x2774 | ||
567 | #define MC_ARB_DRAM_TIMING2 0x2778 | ||
568 | |||
569 | #define MC_ARB_BURST_TIME 0x2808 | ||
570 | #define STATE0(x) ((x) << 0) | ||
571 | #define STATE0_MASK (0x1f << 0) | ||
572 | #define STATE0_SHIFT 0 | ||
573 | #define STATE1(x) ((x) << 5) | ||
574 | #define STATE1_MASK (0x1f << 5) | ||
575 | #define STATE1_SHIFT 5 | ||
576 | #define STATE2(x) ((x) << 10) | ||
577 | #define STATE2_MASK (0x1f << 10) | ||
578 | #define STATE2_SHIFT 10 | ||
579 | #define STATE3(x) ((x) << 15) | ||
580 | #define STATE3_MASK (0x1f << 15) | ||
581 | #define STATE3_SHIFT 15 | ||
582 | |||
583 | #define MC_SEQ_RAS_TIMING 0x28a0 | ||
584 | #define MC_SEQ_CAS_TIMING 0x28a4 | ||
585 | #define MC_SEQ_MISC_TIMING 0x28a8 | ||
586 | #define MC_SEQ_MISC_TIMING2 0x28ac | ||
587 | #define MC_SEQ_PMG_TIMING 0x28b0 | ||
588 | #define MC_SEQ_RD_CTL_D0 0x28b4 | ||
589 | #define MC_SEQ_RD_CTL_D1 0x28b8 | ||
590 | #define MC_SEQ_WR_CTL_D0 0x28bc | ||
591 | #define MC_SEQ_WR_CTL_D1 0x28c0 | ||
592 | |||
440 | #define MC_SEQ_SUP_CNTL 0x28c8 | 593 | #define MC_SEQ_SUP_CNTL 0x28c8 |
441 | #define RUN_MASK (1 << 0) | 594 | #define RUN_MASK (1 << 0) |
442 | #define MC_SEQ_SUP_PGM 0x28cc | 595 | #define MC_SEQ_SUP_PGM 0x28cc |
596 | #define MC_PMG_AUTO_CMD 0x28d0 | ||
443 | 597 | ||
444 | #define MC_SEQ_TRAIN_WAKEUP_CNTL 0x28e8 | 598 | #define MC_SEQ_TRAIN_WAKEUP_CNTL 0x28e8 |
445 | #define TRAIN_DONE_D0 (1 << 30) | 599 | #define TRAIN_DONE_D0 (1 << 30) |
@@ -448,9 +602,90 @@ | |||
448 | #define MC_IO_PAD_CNTL_D0 0x29d0 | 602 | #define MC_IO_PAD_CNTL_D0 0x29d0 |
449 | #define MEM_FALL_OUT_CMD (1 << 8) | 603 | #define MEM_FALL_OUT_CMD (1 << 8) |
450 | 604 | ||
605 | #define MC_SEQ_MISC0 0x2a00 | ||
606 | #define MC_SEQ_MISC0_VEN_ID_SHIFT 8 | ||
607 | #define MC_SEQ_MISC0_VEN_ID_MASK 0x00000f00 | ||
608 | #define MC_SEQ_MISC0_VEN_ID_VALUE 3 | ||
609 | #define MC_SEQ_MISC0_REV_ID_SHIFT 12 | ||
610 | #define MC_SEQ_MISC0_REV_ID_MASK 0x0000f000 | ||
611 | #define MC_SEQ_MISC0_REV_ID_VALUE 1 | ||
612 | #define MC_SEQ_MISC0_GDDR5_SHIFT 28 | ||
613 | #define MC_SEQ_MISC0_GDDR5_MASK 0xf0000000 | ||
614 | #define MC_SEQ_MISC0_GDDR5_VALUE 5 | ||
615 | #define MC_SEQ_MISC1 0x2a04 | ||
616 | #define MC_SEQ_RESERVE_M 0x2a08 | ||
617 | #define MC_PMG_CMD_EMRS 0x2a0c | ||
618 | |||
451 | #define MC_SEQ_IO_DEBUG_INDEX 0x2a44 | 619 | #define MC_SEQ_IO_DEBUG_INDEX 0x2a44 |
452 | #define MC_SEQ_IO_DEBUG_DATA 0x2a48 | 620 | #define MC_SEQ_IO_DEBUG_DATA 0x2a48 |
453 | 621 | ||
622 | #define MC_SEQ_MISC5 0x2a54 | ||
623 | #define MC_SEQ_MISC6 0x2a58 | ||
624 | |||
625 | #define MC_SEQ_MISC7 0x2a64 | ||
626 | |||
627 | #define MC_SEQ_RAS_TIMING_LP 0x2a6c | ||
628 | #define MC_SEQ_CAS_TIMING_LP 0x2a70 | ||
629 | #define MC_SEQ_MISC_TIMING_LP 0x2a74 | ||
630 | #define MC_SEQ_MISC_TIMING2_LP 0x2a78 | ||
631 | #define MC_SEQ_WR_CTL_D0_LP 0x2a7c | ||
632 | #define MC_SEQ_WR_CTL_D1_LP 0x2a80 | ||
633 | #define MC_SEQ_PMG_CMD_EMRS_LP 0x2a84 | ||
634 | #define MC_SEQ_PMG_CMD_MRS_LP 0x2a88 | ||
635 | |||
636 | #define MC_PMG_CMD_MRS 0x2aac | ||
637 | |||
638 | #define MC_SEQ_RD_CTL_D0_LP 0x2b1c | ||
639 | #define MC_SEQ_RD_CTL_D1_LP 0x2b20 | ||
640 | |||
641 | #define MC_PMG_CMD_MRS1 0x2b44 | ||
642 | #define MC_SEQ_PMG_CMD_MRS1_LP 0x2b48 | ||
643 | #define MC_SEQ_PMG_TIMING_LP 0x2b4c | ||
644 | |||
645 | #define MC_SEQ_WR_CTL_2 0x2b54 | ||
646 | #define MC_SEQ_WR_CTL_2_LP 0x2b58 | ||
647 | #define MC_PMG_CMD_MRS2 0x2b5c | ||
648 | #define MC_SEQ_PMG_CMD_MRS2_LP 0x2b60 | ||
649 | |||
650 | #define MCLK_PWRMGT_CNTL 0x2ba0 | ||
651 | # define DLL_SPEED(x) ((x) << 0) | ||
652 | # define DLL_SPEED_MASK (0x1f << 0) | ||
653 | # define DLL_READY (1 << 6) | ||
654 | # define MC_INT_CNTL (1 << 7) | ||
655 | # define MRDCK0_PDNB (1 << 8) | ||
656 | # define MRDCK1_PDNB (1 << 9) | ||
657 | # define MRDCK0_RESET (1 << 16) | ||
658 | # define MRDCK1_RESET (1 << 17) | ||
659 | # define DLL_READY_READ (1 << 24) | ||
660 | #define DLL_CNTL 0x2ba4 | ||
661 | # define MRDCK0_BYPASS (1 << 24) | ||
662 | # define MRDCK1_BYPASS (1 << 25) | ||
663 | |||
664 | #define MPLL_FUNC_CNTL 0x2bb4 | ||
665 | #define BWCTRL(x) ((x) << 20) | ||
666 | #define BWCTRL_MASK (0xff << 20) | ||
667 | #define MPLL_FUNC_CNTL_1 0x2bb8 | ||
668 | #define VCO_MODE(x) ((x) << 0) | ||
669 | #define VCO_MODE_MASK (3 << 0) | ||
670 | #define CLKFRAC(x) ((x) << 4) | ||
671 | #define CLKFRAC_MASK (0xfff << 4) | ||
672 | #define CLKF(x) ((x) << 16) | ||
673 | #define CLKF_MASK (0xfff << 16) | ||
674 | #define MPLL_FUNC_CNTL_2 0x2bbc | ||
675 | #define MPLL_AD_FUNC_CNTL 0x2bc0 | ||
676 | #define YCLK_POST_DIV(x) ((x) << 0) | ||
677 | #define YCLK_POST_DIV_MASK (7 << 0) | ||
678 | #define MPLL_DQ_FUNC_CNTL 0x2bc4 | ||
679 | #define YCLK_SEL(x) ((x) << 4) | ||
680 | #define YCLK_SEL_MASK (1 << 4) | ||
681 | |||
682 | #define MPLL_SS1 0x2bcc | ||
683 | #define CLKV(x) ((x) << 0) | ||
684 | #define CLKV_MASK (0x3ffffff << 0) | ||
685 | #define MPLL_SS2 0x2bd0 | ||
686 | #define CLKS(x) ((x) << 0) | ||
687 | #define CLKS_MASK (0xfff << 0) | ||
688 | |||
454 | #define HDP_HOST_PATH_CNTL 0x2C00 | 689 | #define HDP_HOST_PATH_CNTL 0x2C00 |
455 | #define CLOCK_GATING_DIS (1 << 23) | 690 | #define CLOCK_GATING_DIS (1 << 23) |
456 | #define HDP_NONSURFACE_BASE 0x2C04 | 691 | #define HDP_NONSURFACE_BASE 0x2C04 |
@@ -465,6 +700,22 @@ | |||
465 | 700 | ||
466 | #define ATC_MISC_CG 0x3350 | 701 | #define ATC_MISC_CG 0x3350 |
467 | 702 | ||
703 | #define MC_SEQ_CNTL_3 0x3600 | ||
704 | # define CAC_EN (1 << 31) | ||
705 | #define MC_SEQ_G5PDX_CTRL 0x3604 | ||
706 | #define MC_SEQ_G5PDX_CTRL_LP 0x3608 | ||
707 | #define MC_SEQ_G5PDX_CMD0 0x360c | ||
708 | #define MC_SEQ_G5PDX_CMD0_LP 0x3610 | ||
709 | #define MC_SEQ_G5PDX_CMD1 0x3614 | ||
710 | #define MC_SEQ_G5PDX_CMD1_LP 0x3618 | ||
711 | |||
712 | #define MC_SEQ_PMG_DVS_CTL 0x3628 | ||
713 | #define MC_SEQ_PMG_DVS_CTL_LP 0x362c | ||
714 | #define MC_SEQ_PMG_DVS_CMD 0x3630 | ||
715 | #define MC_SEQ_PMG_DVS_CMD_LP 0x3634 | ||
716 | #define MC_SEQ_DLL_STBY 0x3638 | ||
717 | #define MC_SEQ_DLL_STBY_LP 0x363c | ||
718 | |||
468 | #define IH_RB_CNTL 0x3e00 | 719 | #define IH_RB_CNTL 0x3e00 |
469 | # define IH_RB_ENABLE (1 << 0) | 720 | # define IH_RB_ENABLE (1 << 0) |
470 | # define IH_RB_SIZE(x) ((x) << 1) /* log2 */ | 721 | # define IH_RB_SIZE(x) ((x) << 1) /* log2 */ |
@@ -492,6 +743,9 @@ | |||
492 | # define MC_WR_CLEAN_CNT(x) ((x) << 20) | 743 | # define MC_WR_CLEAN_CNT(x) ((x) << 20) |
493 | # define MC_VMID(x) ((x) << 25) | 744 | # define MC_VMID(x) ((x) << 25) |
494 | 745 | ||
746 | #define BIF_LNCNT_RESET 0x5220 | ||
747 | # define RESET_LNCNT_EN (1 << 0) | ||
748 | |||
495 | #define CONFIG_MEMSIZE 0x5428 | 749 | #define CONFIG_MEMSIZE 0x5428 |
496 | 750 | ||
497 | #define INTERRUPT_CNTL 0x5468 | 751 | #define INTERRUPT_CNTL 0x5468 |
@@ -628,6 +882,9 @@ | |||
628 | # define DC_HPDx_RX_INT_TIMER(x) ((x) << 16) | 882 | # define DC_HPDx_RX_INT_TIMER(x) ((x) << 16) |
629 | # define DC_HPDx_EN (1 << 28) | 883 | # define DC_HPDx_EN (1 << 28) |
630 | 884 | ||
885 | #define DPG_PIPE_STUTTER_CONTROL 0x6cd4 | ||
886 | # define STUTTER_ENABLE (1 << 0) | ||
887 | |||
631 | #define GRBM_CNTL 0x8000 | 888 | #define GRBM_CNTL 0x8000 |
632 | #define GRBM_READ_TIMEOUT(x) ((x) << 0) | 889 | #define GRBM_READ_TIMEOUT(x) ((x) << 0) |
633 | 890 | ||