Applied. Thanks! Alex On Tue, Aug 8, 2023 at 4:38 AM Quan, Evan <Evan.Quan@xxxxxxx> wrote: > > [AMD Official Use Only - General] > > Reviewed-by: Evan Quan <evan.quan@xxxxxxx> > > > -----Original Message----- > > From: Umio Yasuno <coelacanth_dream@xxxxxxxxxxxxxx> > > Sent: Tuesday, August 8, 2023 2:41 PM > > To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx > > Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Quan, Evan > > <Evan.Quan@xxxxxxx>; Limonciello, Mario <Mario.Limonciello@xxxxxxx> > > Subject: [PATCH] fix throttle_status for other than MP0 11.0.7 > > > > Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2720 > > Signed-off-by: Umio Yasuno <coelacanth_dream@xxxxxxxxxxxxxx> > > --- > > .../drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c | 14 +++++++------- > > 1 file changed, 7 insertions(+), 7 deletions(-) > > > > diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c > > b/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c > > index 85d53597e..548d25cf3 100644 > > --- a/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c > > +++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c > > @@ -578,7 +578,9 @@ static int sienna_cichlid_tables_init(struct > > smu_context *smu) > > return -ENOMEM; > > } > > > > -static uint32_t sienna_cichlid_get_throttler_status_locked(struct > > smu_context *smu) > > +static uint32_t sienna_cichlid_get_throttler_status_locked(struct > > smu_context *smu, > > + bool > > use_metrics_v3, > > + bool > > use_metrics_v2) > > { > > struct smu_table_context *smu_table= &smu->smu_table; > > SmuMetricsExternal_t *metrics_ext = > > @@ -586,13 +588,11 @@ static uint32_t > > sienna_cichlid_get_throttler_status_locked(struct smu_context *s > > uint32_t throttler_status = 0; > > int i; > > > > - if ((smu->adev->ip_versions[MP1_HWIP][0] == IP_VERSION(11, 0, 7)) > > && > > - (smu->smc_fw_version >= 0x3A4900)) { > > + if (use_metrics_v3) { > > for (i = 0; i < THROTTLER_COUNT; i++) > > throttler_status |= > > (metrics_ext- > > >SmuMetrics_V3.ThrottlingPercentage[i] ? 1U << i : 0); > > - } else if ((smu->adev->ip_versions[MP1_HWIP][0] == IP_VERSION(11, > > 0, 7)) && > > - (smu->smc_fw_version >= 0x3A4300)) { > > + } else if (use_metrics_v2) { > > for (i = 0; i < THROTTLER_COUNT; i++) > > throttler_status |= > > (metrics_ext- > > >SmuMetrics_V2.ThrottlingPercentage[i] ? 1U << i : 0); > > @@ -854,7 +854,7 @@ static int sienna_cichlid_get_smu_metrics_data(struct > > smu_context *smu, > > metrics->TemperatureVrSoc) * > > SMU_TEMPERATURE_UNITS_PER_CENTIGRADES; > > break; > > case METRICS_THROTTLER_STATUS: > > - *value = sienna_cichlid_get_throttler_status_locked(smu); > > + *value = sienna_cichlid_get_throttler_status_locked(smu, > > use_metrics_v3, use_metrics_v2); > > break; > > case METRICS_CURR_FANSPEED: > > *value = use_metrics_v3 ? metrics_v3->CurrFanSpeed : > > @@ -4056,7 +4056,7 @@ static ssize_t > > sienna_cichlid_get_gpu_metrics(struct smu_context *smu, > > gpu_metrics->current_dclk1 = use_metrics_v3 ? metrics_v3- > > >CurrClock[PPCLK_DCLK_1] : > > use_metrics_v2 ? metrics_v2->CurrClock[PPCLK_DCLK_1] : > > metrics->CurrClock[PPCLK_DCLK_1]; > > > > - gpu_metrics->throttle_status = > > sienna_cichlid_get_throttler_status_locked(smu); > > + gpu_metrics->throttle_status = > > sienna_cichlid_get_throttler_status_locked(smu, use_metrics_v3, > > use_metrics_v2); > > gpu_metrics->indep_throttle_status = > > smu_cmn_get_indep_throttler_status(gpu_metrics- > > >throttle_status, > > > > sienna_cichlid_throttler_map); > > -- > > 2.40.1 > > >