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
