[PATCH] fix throttle_status for other than MP0 11.0.7
Alex Deucher
alexdeucher at gmail.com
Tue Aug 8 16:43:18 UTC 2023
Applied. Thanks!
Alex
On Tue, Aug 8, 2023 at 4:38 AM Quan, Evan <Evan.Quan at amd.com> wrote:
>
> [AMD Official Use Only - General]
>
> Reviewed-by: Evan Quan <evan.quan at amd.com>
>
> > -----Original Message-----
> > From: Umio Yasuno <coelacanth_dream at protonmail.com>
> > Sent: Tuesday, August 8, 2023 2:41 PM
> > To: amd-gfx at lists.freedesktop.org
> > Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Quan, Evan
> > <Evan.Quan at amd.com>; Limonciello, Mario <Mario.Limonciello at amd.com>
> > 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 at protonmail.com>
> > ---
> > .../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
> >
>
More information about the amd-gfx
mailing list