]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/pm: Add acc counter & fw timestamp to xcp metrics
authorAsad Kamal <asad.kamal@amd.com>
Fri, 6 Feb 2026 06:23:59 +0000 (14:23 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 12 Feb 2026 20:07:55 +0000 (15:07 -0500)
Add accumulation counter and firmware timestamp to partition metrics for
smu_v13_0_6 & smu_v13_0_12

v2: Use U64 for accumulation counter (Lijo)

Signed-off-by: Asad Kamal <asad.kamal@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Yang Wang <kevinyang.wang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_12_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.h

index 3d60d3c1e5858be5b0543471a573866cbde349ec..f2a6ecb64c0325374110caed8730cfd640e3636e 100644 (file)
@@ -823,6 +823,9 @@ ssize_t smu_v13_0_12_get_xcp_metrics(struct smu_context *smu, struct amdgpu_xcp
                idx++;
        }
 
+       xcp_metrics->accumulation_counter = metrics->AccumulationCounter;
+       xcp_metrics->firmware_timestamp = metrics->Timestamp;
+
        return sizeof(*xcp_metrics);
 }
 
index 3a9210083ce338d1b58f60b5b17416ff9de7bdae..07592e285cf56c7e9fdc1cc27b98745cd6b4f1a3 100644 (file)
@@ -2668,6 +2668,8 @@ static ssize_t smu_v13_0_6_get_xcp_metrics(struct smu_context *smu, int xcp_id,
                        idx++;
                }
        }
+       xcp_metrics->accumulation_counter = GET_METRIC_FIELD(AccumulationCounter, version);
+       xcp_metrics->firmware_timestamp = GET_METRIC_FIELD(Timestamp, version);
 
        return sizeof(*xcp_metrics);
 }
index 0588a5aa952d65f05aaf99ef2336979e7968f023..07d4cb6562b066aab4e51d8afaf174b14cfa2645 100644 (file)
@@ -259,7 +259,11 @@ void smu_v13_0_12_get_gpu_metrics(struct smu_context *smu, void **table,
                  SMU_13_0_6_MAX_XCC);                                         \
        SMU_ARRAY(SMU_MATTR(GFX_BELOW_HOST_LIMIT_TOTAL_ACC), SMU_MUNIT(NONE),  \
                  SMU_MTYPE(U64), gfx_below_host_limit_total_acc,              \
-                 SMU_13_0_6_MAX_XCC);
+                 SMU_13_0_6_MAX_XCC);                                         \
+       SMU_SCALAR(SMU_MATTR(ACCUMULATION_COUNTER), SMU_MUNIT(NONE),           \
+                  SMU_MTYPE(U64), accumulation_counter);                      \
+       SMU_SCALAR(SMU_MATTR(FIRMWARE_TIMESTAMP), SMU_MUNIT(TIME_2),           \
+                  SMU_MTYPE(U64), firmware_timestamp);
 
 DECLARE_SMU_METRICS_CLASS(smu_v13_0_6_partition_metrics,
                          SMU_13_0_6_PARTITION_METRICS_FIELDS);