aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom St Denis <tom.stdenis@amd.com>2016-09-19 12:48:52 -0400
committerAlex Deucher <alexander.deucher@amd.com>2016-09-22 10:24:16 -0400
commit3de4ec57271a1979b5d960d8610939fff7dc38f9 (patch)
treefbed9494ace8145c1f1f5477f954fb67e6311697
parent884031f0aacf57dad1575f96714efc80de9b19cc (diff)
drm/amd/powerplay: Replace per-asic print_performance with generic
Replace per-asic print_current_performance() functions with generic that calls read_sensor. Tested on Tonga and Carrizo for aesthetics and accuracy. Signed-off-by: Tom St Denis <tom.stdenis@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu.h10
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c62
-rw-r--r--drivers/gpu/drm/amd/powerplay/amd_powerplay.c23
-rw-r--r--drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c79
-rw-r--r--drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c39
-rw-r--r--drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h4
-rw-r--r--drivers/gpu/drm/amd/powerplay/inc/hwmgr.h2
7 files changed, 79 insertions, 140 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index fb8d6030a64d..9f0049563b71 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -2343,6 +2343,11 @@ amdgpu_get_sdma_instance(struct amdgpu_ring *ring)
2343#define amdgpu_gfx_get_gpu_clock_counter(adev) (adev)->gfx.funcs->get_gpu_clock_counter((adev)) 2343#define amdgpu_gfx_get_gpu_clock_counter(adev) (adev)->gfx.funcs->get_gpu_clock_counter((adev))
2344#define amdgpu_gfx_select_se_sh(adev, se, sh, instance) (adev)->gfx.funcs->select_se_sh((adev), (se), (sh), (instance)) 2344#define amdgpu_gfx_select_se_sh(adev, se, sh, instance) (adev)->gfx.funcs->select_se_sh((adev), (se), (sh), (instance))
2345 2345
2346#define amdgpu_dpm_read_sensor(adev, idx, value) \
2347 ((adev)->pp_enabled ? \
2348 (adev)->powerplay.pp_funcs->read_sensor(adev->powerplay.pp_handle, (idx), (value)) : \
2349 -EINVAL)
2350
2346#define amdgpu_dpm_get_temperature(adev) \ 2351#define amdgpu_dpm_get_temperature(adev) \
2347 ((adev)->pp_enabled ? \ 2352 ((adev)->pp_enabled ? \
2348 (adev)->powerplay.pp_funcs->get_temperature((adev)->powerplay.pp_handle) : \ 2353 (adev)->powerplay.pp_funcs->get_temperature((adev)->powerplay.pp_handle) : \
@@ -2394,11 +2399,6 @@ amdgpu_get_sdma_instance(struct amdgpu_ring *ring)
2394 (adev)->powerplay.pp_funcs->powergate_vce((adev)->powerplay.pp_handle, (g)) : \ 2399 (adev)->powerplay.pp_funcs->powergate_vce((adev)->powerplay.pp_handle, (g)) : \
2395 (adev)->pm.funcs->powergate_vce((adev), (g))) 2400 (adev)->pm.funcs->powergate_vce((adev), (g)))
2396 2401
2397#define amdgpu_dpm_debugfs_print_current_performance_level(adev, m) \
2398 ((adev)->pp_enabled ? \
2399 (adev)->powerplay.pp_funcs->print_current_performance_level((adev)->powerplay.pp_handle, (m)) : \
2400 (adev)->pm.funcs->debugfs_print_current_performance_level((adev), (m)))
2401
2402#define amdgpu_dpm_get_current_power_state(adev) \ 2402#define amdgpu_dpm_get_current_power_state(adev) \
2403 (adev)->powerplay.pp_funcs->get_current_power_state((adev)->powerplay.pp_handle) 2403 (adev)->powerplay.pp_funcs->get_current_power_state((adev)->powerplay.pp_handle)
2404 2404
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
index d4ec3cb187a5..accc908bdc88 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
@@ -1322,6 +1322,64 @@ void amdgpu_pm_compute_clocks(struct amdgpu_device *adev)
1322 */ 1322 */
1323#if defined(CONFIG_DEBUG_FS) 1323#if defined(CONFIG_DEBUG_FS)
1324 1324
1325static int amdgpu_debugfs_pm_info_pp(struct seq_file *m, struct amdgpu_device *adev)
1326{
1327 int32_t value;
1328
1329 /* sanity check PP is enabled */
1330 if (!(adev->powerplay.pp_funcs &&
1331 adev->powerplay.pp_funcs->read_sensor))
1332 return -EINVAL;
1333
1334 /* GPU Clocks */
1335 seq_printf(m, "GFX Clocks and Power:\n");
1336 if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_GFX_MCLK, &value))
1337 seq_printf(m, "\t%u MHz (MCLK)\n", value/100);
1338 if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_GFX_SCLK, &value))
1339 seq_printf(m, "\t%u MHz (SCLK)\n", value/100);
1340 if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_VDDGFX, &value))
1341 seq_printf(m, "\t%u mV (VDDGFX)\n", value);
1342 if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_VDDNB, &value))
1343 seq_printf(m, "\t%u mV (VDDNB)\n", value);
1344 seq_printf(m, "\n");
1345
1346 /* GPU Temp */
1347 if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_GPU_TEMP, &value))
1348 seq_printf(m, "GPU Temperature: %u C\n", value/1000);
1349
1350 /* GPU Load */
1351 if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_GPU_LOAD, &value))
1352 seq_printf(m, "GPU Load: %u %%\n", value);
1353 seq_printf(m, "\n");
1354
1355 /* UVD clocks */
1356 if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_UVD_POWER, &value)) {
1357 if (!value) {
1358 seq_printf(m, "UVD: Disabled\n");
1359 } else {
1360 seq_printf(m, "UVD: Enabled\n");
1361 if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_UVD_DCLK, &value))
1362 seq_printf(m, "\t%u MHz (DCLK)\n", value/100);
1363 if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_UVD_VCLK, &value))
1364 seq_printf(m, "\t%u MHz (VCLK)\n", value/100);
1365 }
1366 }
1367 seq_printf(m, "\n");
1368
1369 /* VCE clocks */
1370 if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_VCE_POWER, &value)) {
1371 if (!value) {
1372 seq_printf(m, "VCE: Disabled\n");
1373 } else {
1374 seq_printf(m, "VCE: Enabled\n");
1375 if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_VCE_ECCLK, &value))
1376 seq_printf(m, "\t%u MHz (ECCLK)\n", value/100);
1377 }
1378 }
1379
1380 return 0;
1381}
1382
1325static int amdgpu_debugfs_pm_info(struct seq_file *m, void *data) 1383static int amdgpu_debugfs_pm_info(struct seq_file *m, void *data)
1326{ 1384{
1327 struct drm_info_node *node = (struct drm_info_node *) m->private; 1385 struct drm_info_node *node = (struct drm_info_node *) m->private;
@@ -1337,11 +1395,11 @@ static int amdgpu_debugfs_pm_info(struct seq_file *m, void *data)
1337 (ddev->switch_power_state != DRM_SWITCH_POWER_ON)) { 1395 (ddev->switch_power_state != DRM_SWITCH_POWER_ON)) {
1338 seq_printf(m, "PX asic powered off\n"); 1396 seq_printf(m, "PX asic powered off\n");
1339 } else if (adev->pp_enabled) { 1397 } else if (adev->pp_enabled) {
1340 amdgpu_dpm_debugfs_print_current_performance_level(adev, m); 1398 return amdgpu_debugfs_pm_info_pp(m, adev);
1341 } else { 1399 } else {
1342 mutex_lock(&adev->pm.mutex); 1400 mutex_lock(&adev->pm.mutex);
1343 if (adev->pm.funcs->debugfs_print_current_performance_level) 1401 if (adev->pm.funcs->debugfs_print_current_performance_level)
1344 amdgpu_dpm_debugfs_print_current_performance_level(adev, m); 1402 adev->pm.funcs->debugfs_print_current_performance_level(adev, m);
1345 else 1403 else
1346 seq_printf(m, "Debugfs support not implemented for this asic\n"); 1404 seq_printf(m, "Debugfs support not implemented for this asic\n");
1347 mutex_unlock(&adev->pm.mutex); 1405 mutex_unlock(&adev->pm.mutex);
diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
index ee0368381e82..212ec2fd97ed 100644
--- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
+++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
@@ -576,28 +576,6 @@ enum amd_pm_state_type pp_dpm_get_current_power_state(void *handle)
576 } 576 }
577} 577}
578 578
579static void
580pp_debugfs_print_current_performance_level(void *handle,
581 struct seq_file *m)
582{
583 struct pp_hwmgr *hwmgr;
584
585 if (handle == NULL)
586 return;
587
588 hwmgr = ((struct pp_instance *)handle)->hwmgr;
589
590 if (hwmgr == NULL || hwmgr->hwmgr_func == NULL)
591 return;
592
593 if (hwmgr->hwmgr_func->print_current_perforce_level == NULL) {
594 printk(KERN_INFO "%s was not implemented.\n", __func__);
595 return;
596 }
597
598 hwmgr->hwmgr_func->print_current_perforce_level(hwmgr, m);
599}
600
601static int pp_dpm_set_fan_control_mode(void *handle, uint32_t mode) 579static int pp_dpm_set_fan_control_mode(void *handle, uint32_t mode)
602{ 580{
603 struct pp_hwmgr *hwmgr; 581 struct pp_hwmgr *hwmgr;
@@ -925,7 +903,6 @@ const struct amd_powerplay_funcs pp_dpm_funcs = {
925 .powergate_vce = pp_dpm_powergate_vce, 903 .powergate_vce = pp_dpm_powergate_vce,
926 .powergate_uvd = pp_dpm_powergate_uvd, 904 .powergate_uvd = pp_dpm_powergate_uvd,
927 .dispatch_tasks = pp_dpm_dispatch_tasks, 905 .dispatch_tasks = pp_dpm_dispatch_tasks,
928 .print_current_performance_level = pp_debugfs_print_current_performance_level,
929 .set_fan_control_mode = pp_dpm_set_fan_control_mode, 906 .set_fan_control_mode = pp_dpm_set_fan_control_mode,
930 .get_fan_control_mode = pp_dpm_get_fan_control_mode, 907 .get_fan_control_mode = pp_dpm_get_fan_control_mode,
931 .set_fan_speed_percent = pp_dpm_set_fan_speed_percent, 908 .set_fan_speed_percent = pp_dpm_set_fan_speed_percent,
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c
index 9f3c5a8a903c..7e4fcbbbe086 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c
@@ -1538,78 +1538,6 @@ int cz_get_power_state_size(struct pp_hwmgr *hwmgr)
1538 return sizeof(struct cz_power_state); 1538 return sizeof(struct cz_power_state);
1539} 1539}
1540 1540
1541static void
1542cz_print_current_perforce_level(struct pp_hwmgr *hwmgr, struct seq_file *m)
1543{
1544 struct cz_hwmgr *cz_hwmgr = (struct cz_hwmgr *)(hwmgr->backend);
1545
1546 struct phm_clock_voltage_dependency_table *table =
1547 hwmgr->dyn_state.vddc_dependency_on_sclk;
1548
1549 struct phm_vce_clock_voltage_dependency_table *vce_table =
1550 hwmgr->dyn_state.vce_clock_voltage_dependency_table;
1551
1552 struct phm_uvd_clock_voltage_dependency_table *uvd_table =
1553 hwmgr->dyn_state.uvd_clock_voltage_dependency_table;
1554
1555 uint32_t sclk_index = PHM_GET_FIELD(cgs_read_ind_register(hwmgr->device, CGS_IND_REG__SMC, ixTARGET_AND_CURRENT_PROFILE_INDEX),
1556 TARGET_AND_CURRENT_PROFILE_INDEX, CURR_SCLK_INDEX);
1557 uint32_t uvd_index = PHM_GET_FIELD(cgs_read_ind_register(hwmgr->device, CGS_IND_REG__SMC, ixTARGET_AND_CURRENT_PROFILE_INDEX_2),
1558 TARGET_AND_CURRENT_PROFILE_INDEX_2, CURR_UVD_INDEX);
1559 uint32_t vce_index = PHM_GET_FIELD(cgs_read_ind_register(hwmgr->device, CGS_IND_REG__SMC, ixTARGET_AND_CURRENT_PROFILE_INDEX_2),
1560 TARGET_AND_CURRENT_PROFILE_INDEX_2, CURR_VCE_INDEX);
1561
1562 uint32_t sclk, vclk, dclk, ecclk, tmp, activity_percent;
1563 uint16_t vddnb, vddgfx;
1564 int result;
1565
1566 if (sclk_index >= NUM_SCLK_LEVELS) {
1567 seq_printf(m, "\n invalid sclk dpm profile %d\n", sclk_index);
1568 } else {
1569 sclk = table->entries[sclk_index].clk;
1570 seq_printf(m, "\n index: %u sclk: %u MHz\n", sclk_index, sclk/100);
1571 }
1572
1573 tmp = (cgs_read_ind_register(hwmgr->device, CGS_IND_REG__SMC, ixSMUSVI_NB_CURRENTVID) &
1574 CURRENT_NB_VID_MASK) >> CURRENT_NB_VID__SHIFT;
1575 vddnb = cz_convert_8Bit_index_to_voltage(hwmgr, tmp);
1576 tmp = (cgs_read_ind_register(hwmgr->device, CGS_IND_REG__SMC, ixSMUSVI_GFX_CURRENTVID) &
1577 CURRENT_GFX_VID_MASK) >> CURRENT_GFX_VID__SHIFT;
1578 vddgfx = cz_convert_8Bit_index_to_voltage(hwmgr, (u16)tmp);
1579 seq_printf(m, "\n vddnb: %u vddgfx: %u\n", vddnb, vddgfx);
1580
1581 seq_printf(m, "\n uvd %sabled\n", cz_hwmgr->uvd_power_gated ? "dis" : "en");
1582 if (!cz_hwmgr->uvd_power_gated) {
1583 if (uvd_index >= CZ_MAX_HARDWARE_POWERLEVELS) {
1584 seq_printf(m, "\n invalid uvd dpm level %d\n", uvd_index);
1585 } else {
1586 vclk = uvd_table->entries[uvd_index].vclk;
1587 dclk = uvd_table->entries[uvd_index].dclk;
1588 seq_printf(m, "\n index: %u uvd vclk: %u MHz dclk: %u MHz\n", uvd_index, vclk/100, dclk/100);
1589 }
1590 }
1591
1592 seq_printf(m, "\n vce %sabled\n", cz_hwmgr->vce_power_gated ? "dis" : "en");
1593 if (!cz_hwmgr->vce_power_gated) {
1594 if (vce_index >= CZ_MAX_HARDWARE_POWERLEVELS) {
1595 seq_printf(m, "\n invalid vce dpm level %d\n", vce_index);
1596 } else {
1597 ecclk = vce_table->entries[vce_index].ecclk;
1598 seq_printf(m, "\n index: %u vce ecclk: %u MHz\n", vce_index, ecclk/100);
1599 }
1600 }
1601
1602 result = smum_send_msg_to_smc(hwmgr->smumgr, PPSMC_MSG_GetAverageGraphicsActivity);
1603 if (0 == result) {
1604 activity_percent = cgs_read_register(hwmgr->device, mmSMU_MP1_SRBM2P_ARG_0);
1605 activity_percent = activity_percent > 100 ? 100 : activity_percent;
1606 } else {
1607 activity_percent = 50;
1608 }
1609
1610 seq_printf(m, "\n [GPU load]: %u %%\n\n", activity_percent);
1611}
1612
1613static void cz_hw_print_display_cfg( 1541static void cz_hw_print_display_cfg(
1614 const struct cc6_settings *cc6_settings) 1542 const struct cc6_settings *cc6_settings)
1615{ 1543{
@@ -1947,6 +1875,12 @@ static int cz_read_sensor(struct pp_hwmgr *hwmgr, int idx, int32_t *value)
1947 } 1875 }
1948 *value = activity_percent; 1876 *value = activity_percent;
1949 return 0; 1877 return 0;
1878 case AMDGPU_PP_SENSOR_UVD_POWER:
1879 *value = cz_hwmgr->uvd_power_gated ? 0 : 1;
1880 return 0;
1881 case AMDGPU_PP_SENSOR_VCE_POWER:
1882 *value = cz_hwmgr->vce_power_gated ? 0 : 1;
1883 return 0;
1950 default: 1884 default:
1951 return -EINVAL; 1885 return -EINVAL;
1952 } 1886 }
@@ -1967,7 +1901,6 @@ static const struct pp_hwmgr_func cz_hwmgr_funcs = {
1967 .patch_boot_state = cz_dpm_patch_boot_state, 1901 .patch_boot_state = cz_dpm_patch_boot_state,
1968 .get_pp_table_entry = cz_dpm_get_pp_table_entry, 1902 .get_pp_table_entry = cz_dpm_get_pp_table_entry,
1969 .get_num_of_pp_table_entries = cz_dpm_get_num_of_pp_table_entries, 1903 .get_num_of_pp_table_entries = cz_dpm_get_num_of_pp_table_entries,
1970 .print_current_perforce_level = cz_print_current_perforce_level,
1971 .set_cpu_power_state = cz_set_cpu_power_state, 1904 .set_cpu_power_state = cz_set_cpu_power_state,
1972 .store_cc6_data = cz_store_cc6_data, 1905 .store_cc6_data = cz_store_cc6_data,
1973 .force_clock_level = cz_force_clock_level, 1906 .force_clock_level = cz_force_clock_level,
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
index 07a7d046d6f6..a3832f2d893b 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
@@ -3112,38 +3112,6 @@ static int smu7_get_pp_table_entry(struct pp_hwmgr *hwmgr,
3112 return 0; 3112 return 0;
3113} 3113}
3114 3114
3115static void
3116smu7_print_current_perforce_level(struct pp_hwmgr *hwmgr, struct seq_file *m)
3117{
3118 uint32_t sclk, mclk, activity_percent;
3119 uint32_t offset;
3120 struct smu7_hwmgr *data = (struct smu7_hwmgr *)(hwmgr->backend);
3121
3122 smum_send_msg_to_smc(hwmgr->smumgr, PPSMC_MSG_API_GetSclkFrequency);
3123
3124 sclk = cgs_read_register(hwmgr->device, mmSMC_MSG_ARG_0);
3125
3126 smum_send_msg_to_smc(hwmgr->smumgr, PPSMC_MSG_API_GetMclkFrequency);
3127
3128 mclk = cgs_read_register(hwmgr->device, mmSMC_MSG_ARG_0);
3129 seq_printf(m, "\n [ mclk ]: %u MHz\n\n [ sclk ]: %u MHz\n",
3130 mclk / 100, sclk / 100);
3131
3132 offset = data->soft_regs_start + smum_get_offsetof(hwmgr->smumgr,
3133 SMU_SoftRegisters,
3134 AverageGraphicsActivity);
3135
3136 activity_percent = cgs_read_ind_register(hwmgr->device, CGS_IND_REG__SMC, offset);
3137 activity_percent += 0x80;
3138 activity_percent >>= 8;
3139
3140 seq_printf(m, "\n [GPU load]: %u%%\n\n", activity_percent > 100 ? 100 : activity_percent);
3141
3142 seq_printf(m, "uvd %sabled\n", data->uvd_power_gated ? "dis" : "en");
3143
3144 seq_printf(m, "vce %sabled\n", data->vce_power_gated ? "dis" : "en");
3145}
3146
3147static int smu7_read_sensor(struct pp_hwmgr *hwmgr, int idx, int32_t *value) 3115static int smu7_read_sensor(struct pp_hwmgr *hwmgr, int idx, int32_t *value)
3148{ 3116{
3149 uint32_t sclk, mclk, activity_percent; 3117 uint32_t sclk, mclk, activity_percent;
@@ -3174,6 +3142,12 @@ static int smu7_read_sensor(struct pp_hwmgr *hwmgr, int idx, int32_t *value)
3174 case AMDGPU_PP_SENSOR_GPU_TEMP: 3142 case AMDGPU_PP_SENSOR_GPU_TEMP:
3175 *value = smu7_thermal_get_temperature(hwmgr); 3143 *value = smu7_thermal_get_temperature(hwmgr);
3176 return 0; 3144 return 0;
3145 case AMDGPU_PP_SENSOR_UVD_POWER:
3146 *value = data->uvd_power_gated ? 0 : 1;
3147 return 0;
3148 case AMDGPU_PP_SENSOR_VCE_POWER:
3149 *value = data->vce_power_gated ? 0 : 1;
3150 return 0;
3177 default: 3151 default:
3178 return -EINVAL; 3152 return -EINVAL;
3179 } 3153 }
@@ -4318,7 +4292,6 @@ static struct pp_hwmgr_func smu7_hwmgr_funcs = {
4318 .patch_boot_state = smu7_dpm_patch_boot_state, 4292 .patch_boot_state = smu7_dpm_patch_boot_state,
4319 .get_pp_table_entry = smu7_get_pp_table_entry, 4293 .get_pp_table_entry = smu7_get_pp_table_entry,
4320 .get_num_of_pp_table_entries = smu7_get_number_of_powerplay_table_entries, 4294 .get_num_of_pp_table_entries = smu7_get_number_of_powerplay_table_entries,
4321 .print_current_perforce_level = smu7_print_current_perforce_level,
4322 .powerdown_uvd = smu7_powerdown_uvd, 4295 .powerdown_uvd = smu7_powerdown_uvd,
4323 .powergate_uvd = smu7_powergate_uvd, 4296 .powergate_uvd = smu7_powergate_uvd,
4324 .powergate_vce = smu7_powergate_vce, 4297 .powergate_vce = smu7_powergate_vce,
diff --git a/drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h b/drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h
index dfa0f38a5e76..3d74043c0e08 100644
--- a/drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h
+++ b/drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h
@@ -39,6 +39,8 @@ enum amd_pp_sensors {
39 AMDGPU_PP_SENSOR_GPU_LOAD, 39 AMDGPU_PP_SENSOR_GPU_LOAD,
40 AMDGPU_PP_SENSOR_GFX_MCLK, 40 AMDGPU_PP_SENSOR_GFX_MCLK,
41 AMDGPU_PP_SENSOR_GPU_TEMP, 41 AMDGPU_PP_SENSOR_GPU_TEMP,
42 AMDGPU_PP_SENSOR_VCE_POWER,
43 AMDGPU_PP_SENSOR_UVD_POWER,
42}; 44};
43 45
44enum amd_pp_event { 46enum amd_pp_event {
@@ -343,8 +345,6 @@ struct amd_powerplay_funcs {
343 int (*powergate_uvd)(void *handle, bool gate); 345 int (*powergate_uvd)(void *handle, bool gate);
344 int (*dispatch_tasks)(void *handle, enum amd_pp_event event_id, 346 int (*dispatch_tasks)(void *handle, enum amd_pp_event event_id,
345 void *input, void *output); 347 void *input, void *output);
346 void (*print_current_performance_level)(void *handle,
347 struct seq_file *m);
348 int (*set_fan_control_mode)(void *handle, uint32_t mode); 348 int (*set_fan_control_mode)(void *handle, uint32_t mode);
349 int (*get_fan_control_mode)(void *handle); 349 int (*get_fan_control_mode)(void *handle);
350 int (*set_fan_speed_percent)(void *handle, uint32_t percent); 350 int (*set_fan_speed_percent)(void *handle, uint32_t percent);
diff --git a/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h b/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h
index fcd45452380d..4f0fedd1e9d3 100644
--- a/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h
+++ b/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h
@@ -311,8 +311,6 @@ struct pp_hwmgr_func {
311 int (*get_sclk)(struct pp_hwmgr *hwmgr, bool low); 311 int (*get_sclk)(struct pp_hwmgr *hwmgr, bool low);
312 int (*power_state_set)(struct pp_hwmgr *hwmgr, 312 int (*power_state_set)(struct pp_hwmgr *hwmgr,
313 const void *state); 313 const void *state);
314 void (*print_current_perforce_level)(struct pp_hwmgr *hwmgr,
315 struct seq_file *m);
316 int (*enable_clock_power_gating)(struct pp_hwmgr *hwmgr); 314 int (*enable_clock_power_gating)(struct pp_hwmgr *hwmgr);
317 int (*notify_smc_display_config_after_ps_adjustment)(struct pp_hwmgr *hwmgr); 315 int (*notify_smc_display_config_after_ps_adjustment)(struct pp_hwmgr *hwmgr);
318 int (*display_config_changed)(struct pp_hwmgr *hwmgr); 316 int (*display_config_changed)(struct pp_hwmgr *hwmgr);