Merge METRICS_AVERAGE_VCLK and METRICS_AVERAGE_DCLK into a single
fall-through case mapping both to VclkFrequency, since SmuMetrics_t
has no DclkFrequency field and DCLK tracks VCLK on VCN. Add
VCLK1/DCLK1 metric handlers returning 0 as the struct has no fields
for these, avoiding UINT_MAX default that causes N/A in amd-smi.

Signed-off-by: Priya Hosur <[email protected]>
---
 drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c 
b/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c
index 2fe006de927a..c977681d8946 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c
@@ -281,9 +281,13 @@ static int smu_v14_0_0_get_smu_metrics_data(struct 
smu_context *smu,
                *value = metrics->SocclkFrequency;
                break;
        case METRICS_AVERAGE_VCLK:
+       case METRICS_AVERAGE_DCLK:
+               /* No DclkFrequency in SmuMetrics_t; DCLK tracks VCLK on VCN */
                *value = metrics->VclkFrequency;
                break;
-       case METRICS_AVERAGE_DCLK:
+       case METRICS_AVERAGE_VCLK1:
+       case METRICS_AVERAGE_DCLK1:
+               /* No Vclk1/Dclk1 in v14.0.0 SmuMetrics_t; avoid UINT_MAX 
default */
                *value = 0;
                break;
        case METRICS_AVERAGE_UCLK:
-- 
2.43.0

Reply via email to