[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