浏览代码

drm/amd/powerplay/vega20: correct the hwmon interface ppt limit output

The ppt limit read out by hwmon interface is always 0.
Correct this hwmon interface output.

Signed-off-by: Evan Quan <evan.quan@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Evan Quan 6 年之前
父节点
当前提交
3546916f42

+ 8 - 0
drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c

@@ -1544,6 +1544,14 @@ static int vega20_enable_dpm_tasks(struct pp_hwmgr *hwmgr)
 			"[EnableDPMTasks] Failed to populate umdpstate clocks!",
 			"[EnableDPMTasks] Failed to populate umdpstate clocks!",
 			return result);
 			return result);
 
 
+	result = smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_GetPptLimit,
+			POWER_SOURCE_AC << 16);
+	PP_ASSERT_WITH_CODE(!result,
+			"[GetPptLimit] get default PPT limit failed!",
+			return result);
+	hwmgr->power_limit =
+		hwmgr->default_power_limit = smum_get_argument(hwmgr);
+
 	return 0;
 	return 0;
 }
 }
 
 

+ 6 - 0
drivers/gpu/drm/amd/powerplay/inc/smu11_driver_if.h

@@ -268,6 +268,12 @@ typedef enum {
   PPCLK_COUNT,
   PPCLK_COUNT,
 } PPCLK_e;
 } PPCLK_e;
 
 
+typedef enum {
+  POWER_SOURCE_AC,
+  POWER_SOURCE_DC,
+  POWER_SOURCE_COUNT,
+} POWER_SOURCE_e;
+
 typedef enum {
 typedef enum {
   VOLTAGE_MODE_AVFS = 0,
   VOLTAGE_MODE_AVFS = 0,
   VOLTAGE_MODE_AVFS_SS,
   VOLTAGE_MODE_AVFS_SS,