Skip to content

Commit c7bae4a

Browse files
Jie1zhangalexdeucher
authored andcommitted
drm/amdgpu: Correct the power calcultion for Renior/Cezanne.
From smu firmware,the value of power is transferred in units of watts. Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/2321 Fixes: 137aac2 ("drm/amdgpu/smu12: fix power reporting on renoir") Acked-by: Alex Deucher <[email protected]> Signed-off-by: Jesse Zhang <[email protected]> Reviewed-by: Aaron Liu <[email protected]> Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected]
1 parent 040625a commit c7bae4a

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1171,6 +1171,7 @@ static int renoir_get_smu_metrics_data(struct smu_context *smu,
11711171
int ret = 0;
11721172
uint32_t apu_percent = 0;
11731173
uint32_t dgpu_percent = 0;
1174+
struct amdgpu_device *adev = smu->adev;
11741175

11751176

11761177
ret = smu_cmn_get_metrics_table(smu,
@@ -1196,7 +1197,11 @@ static int renoir_get_smu_metrics_data(struct smu_context *smu,
11961197
*value = metrics->AverageUvdActivity / 100;
11971198
break;
11981199
case METRICS_AVERAGE_SOCKETPOWER:
1199-
*value = (metrics->CurrentSocketPower << 8) / 1000;
1200+
if (((adev->ip_versions[MP1_HWIP][0] == IP_VERSION(12, 0, 1)) && (adev->pm.fw_version >= 0x40000f)) ||
1201+
((adev->ip_versions[MP1_HWIP][0] == IP_VERSION(12, 0, 0)) && (adev->pm.fw_version >= 0x373200)))
1202+
*value = metrics->CurrentSocketPower << 8;
1203+
else
1204+
*value = (metrics->CurrentSocketPower << 8) / 1000;
12001205
break;
12011206
case METRICS_TEMPERATURE_EDGE:
12021207
*value = (metrics->GfxTemperature / 100) *

0 commit comments

Comments
 (0)