drm/amd/pm: Provide energy data in 15.625mJ units
authorLijo Lazar <lijo.lazar@amd.com>
Mon, 19 Jun 2023 12:34:30 +0000 (18:04 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 30 Jun 2023 17:11:35 +0000 (13:11 -0400)
Publish energy data in 15.625mJ unit for SMU v13.0.6. The same unit is
used in Aldebaran also.

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c

index a92ea46..6ef1225 100644 (file)
@@ -200,7 +200,6 @@ struct PPTable_t {
 };
 
 #define SMUQ10_TO_UINT(x) ((x) >> 10)
-#define SMUQ16_TO_UINT(x) ((x) >> 16)
 
 struct smu_v13_0_6_dpm_map {
        enum smu_clk_type clk_type;
@@ -1994,8 +1993,9 @@ static ssize_t smu_v13_0_6_get_gpu_metrics(struct smu_context *smu, void **table
 
        gpu_metrics->average_socket_power =
                SMUQ10_TO_UINT(metrics->SocketPower);
+       /* Energy is reported in 15.625mJ units */
        gpu_metrics->energy_accumulator =
-               SMUQ16_TO_UINT(metrics->SocketEnergyAcc);
+               SMUQ10_TO_UINT(metrics->SocketEnergyAcc);
 
        gpu_metrics->current_gfxclk =
                SMUQ10_TO_UINT(metrics->GfxclkFrequency[xcc0]);