]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/pm: Add mem temp to gpu metrics for smu_v15_0_8
authorAsad Kamal <asad.kamal@amd.com>
Wed, 11 Mar 2026 10:38:30 +0000 (18:38 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 17 Apr 2026 19:41:14 +0000 (15:41 -0400)
Add mem temp to gpu metrics as maximum hbm stack temperature
for smu_v15_0_8

Signed-off-by: Asad Kamal <asad.kamal@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/swsmu/smu15/smu_v15_0_8_ppt.c

index 288fab5ee5e534d97fa07875d49b3528be62b56f..e62494810b803297ca714db4cac622bcd6aba758 100644 (file)
@@ -1696,17 +1696,23 @@ static ssize_t smu_v15_0_8_get_gpu_metrics(struct smu_context *smu, void **table
        if (adev->umc.active_mask) {
                u64 mask = adev->umc.active_mask;
                int out_idx = 0;
+               u16 max_hbm_temp = 0;
                int stack_idx;
 
-               if (unlikely(hweight64(mask)/4 > SMU_15_0_8_MAX_HBM_STACKS))
+               if (unlikely(hweight64(mask) / 4 > SMU_15_0_8_MAX_HBM_STACKS)) {
                        dev_warn(adev->dev, "Invalid umc mask %lld\n", mask);
-               else  {
+               else  {
                        for_each_hbm_stack(stack_idx, mask) {
+                               u16 temp;
+
                                if (!hbm_stack_mask_valid(mask))
                                        continue;
-                               gpu_metrics->temperature_hbm[out_idx++] =
-                                       SMUQ10_ROUND(metrics->HbmTemperature[stack_idx]);
+                               temp = SMUQ10_ROUND(metrics->HbmTemperature[stack_idx]);
+                               gpu_metrics->temperature_hbm[out_idx++] = temp;
+                               if (temp > max_hbm_temp)
+                                       max_hbm_temp = temp;
                        }
+                       gpu_metrics->temperature_mem = max_hbm_temp;
                }
        }