drm/amd/powerplay: power value format change for Vega10
authorEric Huang <JinHuiEric.Huang@amd.com>
Tue, 27 Jun 2017 15:29:09 +0000 (11:29 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 29 Jun 2017 16:43:52 +0000 (12:43 -0400)
Power value is an integer on vega10.

Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c

index 0d2feee08d00d1412073da6818354b43a61c21f3..d6f097f44b6cfe8587b64c16cfa6af4663c729e7 100644 (file)
@@ -3832,13 +3832,18 @@ static int vega10_dpm_get_mclk(struct pp_hwmgr *hwmgr, bool low)
 static int vega10_get_gpu_power(struct pp_hwmgr *hwmgr,
                struct pp_gpu_power *query)
 {
+       uint32_t value;
+
        PP_ASSERT_WITH_CODE(!smum_send_msg_to_smc(hwmgr->smumgr,
                        PPSMC_MSG_GetCurrPkgPwr),
                        "Failed to get current package power!",
                        return -EINVAL);
 
-       return vega10_read_arg_from_smc(hwmgr->smumgr,
-                       &query->average_gpu_power);
+       vega10_read_arg_from_smc(hwmgr->smumgr, &value);
+       /* power value is an integer */
+       query->average_gpu_power = value << 8;
+
+       return 0;
 }
 
 static int vega10_read_sensor(struct pp_hwmgr *hwmgr, int idx,