aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorEvan Quan <evan.quan@amd.com>2017-04-04 23:54:43 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-04-06 13:27:26 -0400
commitba8a21cfbcaafeda7b29128a5182f7c324d959f3 (patch)
tree9da25ff73d3d584a0d94e119ec22d6ef6de214b0 /drivers/gpu
parent40f0677337987998880b3ee20c59e036d18d88d3 (diff)
drm/amdgpu/smu9: update to latest driver interface
Signed-off-by: Evan Quan <evan.quan@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/amd/powerplay/inc/smu9_driver_if.h57
1 files changed, 53 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/inc/smu9_driver_if.h b/drivers/gpu/drm/amd/powerplay/inc/smu9_driver_if.h
index aee021451d35..2037910adcb1 100644
--- a/drivers/gpu/drm/amd/powerplay/inc/smu9_driver_if.h
+++ b/drivers/gpu/drm/amd/powerplay/inc/smu9_driver_if.h
@@ -30,7 +30,9 @@
30 * SMU TEAM: Always increment the interface version if 30 * SMU TEAM: Always increment the interface version if
31 * any structure is changed in this file 31 * any structure is changed in this file
32 */ 32 */
33#define SMU9_DRIVER_IF_VERSION 0xa 33#define SMU9_DRIVER_IF_VERSION 0xB
34
35#define PPTABLE_V10_SMU_VERSION 1
34 36
35#define NUM_GFXCLK_DPM_LEVELS 8 37#define NUM_GFXCLK_DPM_LEVELS 8
36#define NUM_UVD_DPM_LEVELS 8 38#define NUM_UVD_DPM_LEVELS 8
@@ -87,6 +89,11 @@ typedef struct {
87 int32_t a0; 89 int32_t a0;
88 int32_t a1; 90 int32_t a1;
89 int32_t a2; 91 int32_t a2;
92
93 uint8_t a0_shift;
94 uint8_t a1_shift;
95 uint8_t a2_shift;
96 uint8_t padding;
90} GbVdroopTable_t; 97} GbVdroopTable_t;
91 98
92typedef struct { 99typedef struct {
@@ -293,7 +300,9 @@ typedef struct {
293 uint16_t Platform_sigma; 300 uint16_t Platform_sigma;
294 uint16_t PSM_Age_CompFactor; 301 uint16_t PSM_Age_CompFactor;
295 302
296 uint32_t Reserved[20]; 303 uint32_t DpmLevelPowerDelta;
304
305 uint32_t Reserved[19];
297 306
298 /* Padding - ignore */ 307 /* Padding - ignore */
299 uint32_t MmHubPadding[7]; /* SMU internal use */ 308 uint32_t MmHubPadding[7]; /* SMU internal use */
@@ -350,8 +359,8 @@ typedef struct {
350typedef struct { 359typedef struct {
351 uint16_t avgPsmCount[30]; 360 uint16_t avgPsmCount[30];
352 uint16_t minPsmCount[30]; 361 uint16_t minPsmCount[30];
353 uint16_t avgPsmVoltage[30]; /* in mV with 2 fractional bits */ 362 float avgPsmVoltage[30];
354 uint16_t minPsmVoltage[30]; /* in mV with 2 fractional bits */ 363 float minPsmVoltage[30];
355 364
356 uint32_t MmHubPadding[7]; /* SMU internal use */ 365 uint32_t MmHubPadding[7]; /* SMU internal use */
357} AvfsDebugTable_t; 366} AvfsDebugTable_t;
@@ -414,5 +423,45 @@ typedef struct {
414#define UCLK_SWITCH_SLOW 0 423#define UCLK_SWITCH_SLOW 0
415#define UCLK_SWITCH_FAST 1 424#define UCLK_SWITCH_FAST 1
416 425
426/* GFX DIDT Configuration */
427#define SQ_Enable_MASK 0x1
428#define SQ_IR_MASK 0x2
429#define SQ_PCC_MASK 0x4
430#define SQ_EDC_MASK 0x8
431
432#define TCP_Enable_MASK 0x100
433#define TCP_IR_MASK 0x200
434#define TCP_PCC_MASK 0x400
435#define TCP_EDC_MASK 0x800
436
437#define TD_Enable_MASK 0x10000
438#define TD_IR_MASK 0x20000
439#define TD_PCC_MASK 0x40000
440#define TD_EDC_MASK 0x80000
441
442#define DB_Enable_MASK 0x1000000
443#define DB_IR_MASK 0x2000000
444#define DB_PCC_MASK 0x4000000
445#define DB_EDC_MASK 0x8000000
446
447#define SQ_Enable_SHIFT 0
448#define SQ_IR_SHIFT 1
449#define SQ_PCC_SHIFT 2
450#define SQ_EDC_SHIFT 3
451
452#define TCP_Enable_SHIFT 8
453#define TCP_IR_SHIFT 9
454#define TCP_PCC_SHIFT 10
455#define TCP_EDC_SHIFT 11
456
457#define TD_Enable_SHIFT 16
458#define TD_IR_SHIFT 17
459#define TD_PCC_SHIFT 18
460#define TD_EDC_SHIFT 19
461
462#define DB_Enable_SHIFT 24
463#define DB_IR_SHIFT 25
464#define DB_PCC_SHIFT 26
465#define DB_EDC_SHIFT 27
417 466
418#endif 467#endif