[AMD Official Use Only - General] I see your point. How about this one ? --- a/drivers/gpu/drm/amd/pm/amdgpu_pm.c +++ b/drivers/gpu/drm/amd/pm/amdgpu_pm.c @@ -4290,7 +4290,7 @@ static int amdgpu_debugfs_pm_info_pp(struct seq_file *m, struct amdgpu_device *a seq_printf(m, "\t%u mV (VDDNB)\n", value); size = sizeof(uint32_t); if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_GPU_AVG_POWER, (void *)&query, &size)) - seq_printf(m, "\t%u.%u W (average GPU)\n", query >> 8, query & 0xff); + seq_printf(m, "\t%u.%02u W (average GPU)\n", query >> 8, query & 0xff); size = sizeof(uint32_t); if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_GPU_INPUT_POWER, (void *)&query, &size)) seq_printf(m, "\t%u.%u W (current GPU)\n", query >> 8, query & 0xff); Best Regards, Yifan -----Original Message----- From: Ma, Li <Li.Ma@xxxxxxx> Sent: Tuesday, October 24, 2023 11:43 PM To: Zhang, Yifan <Yifan1.Zhang@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Feng, Kenneth <Kenneth.Feng@xxxxxxx>; StDenis, Tom <Tom.StDenis@xxxxxxx> Subject: RE: [PATCH] drm/amd/amdgpu: fix the GPU power print error in pm info [AMD Official Use Only - General] -----Original Message----- From: Zhang, Yifan <Yifan1.Zhang@xxxxxxx> Sent: Tuesday, October 24, 2023 10:29 PM To: Ma, Li <Li.Ma@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Feng, Kenneth <Kenneth.Feng@xxxxxxx>; StDenis, Tom <Tom.StDenis@xxxxxxx> Subject: RE: [PATCH] drm/amd/amdgpu: fix the GPU power print error in pm info [AMD Official Use Only - General] -----Original Message----- From: Ma, Li <Li.Ma@xxxxxxx> Sent: Tuesday, October 24, 2023 7:09 PM To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Zhang, Yifan <Yifan1.Zhang@xxxxxxx>; Feng, Kenneth <Kenneth.Feng@xxxxxxx>; StDenis, Tom <Tom.StDenis@xxxxxxx>; Ma, Li <Li.Ma@xxxxxxx> Subject: [PATCH] drm/amd/amdgpu: fix the GPU power print error in pm info Print the digit of the fractional part individually to avoid carrying during display. Signed-off-by: Li Ma <li.ma@xxxxxxx> --- drivers/gpu/drm/amd/pm/amdgpu_pm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/pm/amdgpu_pm.c b/drivers/gpu/drm/amd/pm/amdgpu_pm.c index 358bb5e485f2..cc853559cf0f 100644 --- a/drivers/gpu/drm/amd/pm/amdgpu_pm.c +++ b/drivers/gpu/drm/amd/pm/amdgpu_pm.c @@ -4290,10 +4290,10 @@ static int amdgpu_debugfs_pm_info_pp(struct seq_file *m, struct amdgpu_device *a seq_printf(m, "\t%u mV (VDDNB)\n", value); size = sizeof(uint32_t); if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_GPU_AVG_POWER, (void *)&query, &size)) - seq_printf(m, "\t%u.%u W (average GPU)\n", query >> 8, query & 0xff); + seq_printf(m, "\t%u.%u%u W (average GPU)\n", query >> 8, (query & +0xff) / 10, (query & 0xff) % 10); Would you pls elaborate on this with an example ? it looks to me it makes no difference here. Li: If the range of (query&0xff) is [0x01,0x09], the origin output is x.1~x.9. However, it should be x.01~x.09 which is same as smu fw. size = sizeof(uint32_t); if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_GPU_INPUT_POWER, (void *)&query, &size)) - seq_printf(m, "\t%u.%u W (current GPU)\n", query >> 8, query & 0xff); + seq_printf(m, "\t%u.%u%u W (current GPU)\n", query >> 8, (query & +0xff) / 10, (query & 0xff) % 10); Would you pls elaborate on this with an example? it looks to me it makes no difference here. Li: If the range of (query&0xff) is [0x01,0x09], the origin output is x.1~x.9. However, it should be x.01~x.09 which is same as smu fw. size = sizeof(value); seq_printf(m, "\n"); -- 2.25.1