aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/cikd.h
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2013-08-14 01:01:40 -0400
committerAlex Deucher <alexander.deucher@amd.com>2013-08-30 16:30:28 -0400
commit41a524abff2630dce0f9c38eb7340fbf2dc5bf27 (patch)
tree212adab0104b0605013934e95dcb0460daf1130e /drivers/gpu/drm/radeon/cikd.h
parent6bb5c0d74c1962a8b1c722521c01e19d38c47370 (diff)
drm/radeon/kms: add dpm support for KB/KV
This adds dpm support for KB/KV asics. This includes: - dynamic engine clock scaling - dynamic voltage scaling - power containment - shader power scaling Set radeon.dpm=1 to enable. 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.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/cikd.h b/drivers/gpu/drm/radeon/cikd.h
index 65886caaf756..179ca3625ae4 100644
--- a/drivers/gpu/drm/radeon/cikd.h
+++ b/drivers/gpu/drm/radeon/cikd.h
@@ -28,10 +28,59 @@
28 28
29#define CIK_RB_BITMAP_WIDTH_PER_SH 2 29#define CIK_RB_BITMAP_WIDTH_PER_SH 2
30 30
31/* DIDT IND registers */
32#define DIDT_SQ_CTRL0 0x0
33# define DIDT_CTRL_EN (1 << 0)
34#define DIDT_DB_CTRL0 0x20
35#define DIDT_TD_CTRL0 0x40
36#define DIDT_TCP_CTRL0 0x60
37
31/* SMC IND registers */ 38/* SMC IND registers */
39#define NB_DPM_CONFIG_1 0x3F9E8
40# define Dpm0PgNbPsLo(x) ((x) << 0)
41# define Dpm0PgNbPsLo_MASK 0x000000ff
42# define Dpm0PgNbPsLo_SHIFT 0
43# define Dpm0PgNbPsHi(x) ((x) << 8)
44# define Dpm0PgNbPsHi_MASK 0x0000ff00
45# define Dpm0PgNbPsHi_SHIFT 8
46# define DpmXNbPsLo(x) ((x) << 16)
47# define DpmXNbPsLo_MASK 0x00ff0000
48# define DpmXNbPsLo_SHIFT 16
49# define DpmXNbPsHi(x) ((x) << 24)
50# define DpmXNbPsHi_MASK 0xff000000
51# define DpmXNbPsHi_SHIFT 24
52
53#define SMC_SYSCON_MSG_ARG_0 0x80000068
54
32#define GENERAL_PWRMGT 0xC0200000 55#define GENERAL_PWRMGT 0xC0200000
56# define GLOBAL_PWRMGT_EN (1 << 0)
33# define GPU_COUNTER_CLK (1 << 15) 57# define GPU_COUNTER_CLK (1 << 15)
34 58
59#define SCLK_PWRMGT_CNTL 0xC0200008
60# define RESET_BUSY_CNT (1 << 4)
61# define RESET_SCLK_CNT (1 << 5)
62# define DYNAMIC_PM_EN (1 << 21)
63
64#define CG_FTV_0 0xC02001A8
65
66#define LCAC_SX0_OVR_SEL 0xC0400D04
67#define LCAC_SX0_OVR_VAL 0xC0400D08
68
69#define LCAC_MC0_OVR_SEL 0xC0400D34
70#define LCAC_MC0_OVR_VAL 0xC0400D38
71
72#define LCAC_MC1_OVR_SEL 0xC0400D40
73#define LCAC_MC1_OVR_VAL 0xC0400D44
74
75#define LCAC_MC2_OVR_SEL 0xC0400D4C
76#define LCAC_MC2_OVR_VAL 0xC0400D50
77
78#define LCAC_MC3_OVR_SEL 0xC0400D58
79#define LCAC_MC3_OVR_VAL 0xC0400D5C
80
81#define LCAC_CPL_OVR_SEL 0xC0400D84
82#define LCAC_CPL_OVR_VAL 0xC0400D88
83
35#define CG_MULT_THERMAL_STATUS 0xC0300014 84#define CG_MULT_THERMAL_STATUS 0xC0300014
36#define ASIC_MAX_TEMP(x) ((x) << 0) 85#define ASIC_MAX_TEMP(x) ((x) << 0)
37#define ASIC_MAX_TEMP_MASK 0x000001ff 86#define ASIC_MAX_TEMP_MASK 0x000001ff
@@ -60,6 +109,16 @@
60# define ZCLK_SEL(x) ((x) << 8) 109# define ZCLK_SEL(x) ((x) << 8)
61# define ZCLK_SEL_MASK 0xFF00 110# define ZCLK_SEL_MASK 0xFF00
62 111
112#define CG_THERMAL_INT_CTRL 0xC2100028
113#define DIG_THERM_INTH(x) ((x) << 0)
114#define DIG_THERM_INTH_MASK 0x000000FF
115#define DIG_THERM_INTH_SHIFT 0
116#define DIG_THERM_INTL(x) ((x) << 8)
117#define DIG_THERM_INTL_MASK 0x0000FF00
118#define DIG_THERM_INTL_SHIFT 8
119#define THERM_INTH_MASK (1 << 24)
120#define THERM_INTL_MASK (1 << 25)
121
63/* PCIE registers idx/data 0x38/0x3c */ 122/* PCIE registers idx/data 0x38/0x3c */
64#define PB0_PIF_PWRDOWN_0 0x1100012 /* PCIE */ 123#define PB0_PIF_PWRDOWN_0 0x1100012 /* PCIE */
65# define PLL_POWER_STATE_IN_TXS2_0(x) ((x) << 7) 124# define PLL_POWER_STATE_IN_TXS2_0(x) ((x) << 7)
@@ -173,6 +232,19 @@
173#define PCIE_INDEX 0x38 232#define PCIE_INDEX 0x38
174#define PCIE_DATA 0x3C 233#define PCIE_DATA 0x3C
175 234
235#define SMC_IND_INDEX_0 0x200
236#define SMC_IND_DATA_0 0x204
237
238#define SMC_IND_ACCESS_CNTL 0x240
239#define AUTO_INCREMENT_IND_0 (1 << 0)
240
241#define SMC_MESSAGE_0 0x250
242#define SMC_MSG_MASK 0xffff
243#define SMC_RESP_0 0x254
244#define SMC_RESP_MASK 0xffff
245
246#define SMC_MSG_ARG_0 0x290
247
176#define VGA_HDP_CONTROL 0x328 248#define VGA_HDP_CONTROL 0x328
177#define VGA_MEMORY_DISABLE (1 << 4) 249#define VGA_MEMORY_DISABLE (1 << 4)
178 250