drm/amd/pm: add jpeg/vcn busy to smu_v15_0_8 gpu metrics
authorAsad Kamal <asad.kamal@amd.com>
Wed, 1 Jul 2026 16:35:22 +0000 (16:35 +0000)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 15 Jul 2026 13:15:42 +0000 (09:15 -0400)
Add jpeg_busy and vcn_busy population to smu_v15_0_8 gpu metrics

Signed-off-by: Asad Kamal <asad.kamal@amd.com>
Reviewed-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/smu15/smu_v15_0_8_ppt.c

index 2105a1d..227cd86 100644 (file)
@@ -1766,12 +1766,17 @@ static ssize_t smu_v15_0_8_get_gpu_metrics(struct smu_context *smu, void **table
                idx++;
        }
 
-       /* Per-VCN clocks */
+       /* Per-VCN clocks and busy */
        for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
                inst = GET_INST(VCN, i);
                if (inst >= 0) {
                        gpu_metrics->current_vclk0[i] = SMUQ10_ROUND(metrics->VclkFrequency[inst]);
                        gpu_metrics->current_dclk0[i] = SMUQ10_ROUND(metrics->DclkFrequency[inst]);
+                       gpu_metrics->vcn_busy[i] = SMUQ10_ROUND(metrics->VcnBusy[inst]);
+                       for (j = 0; j < NUM_JPEG_RINGS_FW; ++j)
+                               gpu_metrics->jpeg_busy[(i * NUM_JPEG_RINGS_FW) + j] =
+                                       SMUQ10_ROUND(metrics->JpegBusy[(inst * NUM_JPEG_RINGS_FW)
+                                                                      + j]);
                }
        }