[PATCH] Revert "drm/amd/pm: disable the SMU13 OD feature support temporarily"

Alex Deucher alexdeucher at gmail.com
Thu Aug 31 03:01:16 UTC 2023


On Wed, Aug 30, 2023 at 10:50 PM Evan Quan <evan.quan at amd.com> wrote:
>
> This reverts commit 3592cc20beeece83db4c50a0f400e2dd15139de9.
>
> The enablement for the new OD mechanism completed. Also, the support for
> fan control related OD feature has been added via this new mechanism.
> Thus, it is time to bring back the SMU13 OD support.
>
> Signed-off-by: Evan Quan <evan.quan at amd.com>

Acked-by: Alex Deucher <alexander.deucher at amd.com>

> ---
>  .../drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c   | 18 +++---------------
>  .../drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c   | 12 +++---------
>  2 files changed, 6 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
> index c48f81450d24..093962a37688 100644
> --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
> @@ -348,13 +348,10 @@ static int smu_v13_0_0_check_powerplay_table(struct smu_context *smu)
>                 table_context->power_play_table;
>         struct smu_baco_context *smu_baco = &smu->smu_baco;
>         PPTable_t *pptable = smu->smu_table.driver_pptable;
> -#if 0
> -       PPTable_t *pptable = smu->smu_table.driver_pptable;
>         const OverDriveLimits_t * const overdrive_upperlimits =
>                                 &pptable->SkuTable.OverDriveLimitsBasicMax;
>         const OverDriveLimits_t * const overdrive_lowerlimits =
>                                 &pptable->SkuTable.OverDriveLimitsMin;
> -#endif
>
>         if (powerplay_table->platform_caps & SMU_13_0_0_PP_PLATFORM_CAP_HARDWAREDC)
>                 smu->dc_controlled_by_gpio = true;
> @@ -366,27 +363,18 @@ static int smu_v13_0_0_check_powerplay_table(struct smu_context *smu)
>         if (powerplay_table->platform_caps & SMU_13_0_0_PP_PLATFORM_CAP_MACO)
>                 smu_baco->maco_support = true;
>
> -       /*
> -        * We are in the transition to a new OD mechanism.
> -        * Disable the OD feature support for SMU13 temporarily.
> -        * TODO: get this reverted when new OD mechanism online
> -        */
> -#if 0
>         if (!overdrive_lowerlimits->FeatureCtrlMask ||
>             !overdrive_upperlimits->FeatureCtrlMask)
>                 smu->od_enabled = false;
>
> +       table_context->thermal_controller_type =
> +               powerplay_table->thermal_controller_type;
> +
>         /*
>          * Instead of having its own buffer space and get overdrive_table copied,
>          * smu->od_settings just points to the actual overdrive_table
>          */
>         smu->od_settings = &powerplay_table->overdrive_table;
> -#else
> -       smu->od_enabled = false;
> -#endif
> -
> -       table_context->thermal_controller_type =
> -               powerplay_table->thermal_controller_type;
>
>         smu->adev->pm.no_fan =
>                 !(pptable->SkuTable.FeaturesToRun[0] & (1 << FEATURE_FAN_CONTROL_BIT));
> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
> index 99bc449799a6..430ad1b05ba3 100644
> --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
> @@ -338,12 +338,10 @@ static int smu_v13_0_7_check_powerplay_table(struct smu_context *smu)
>         struct smu_baco_context *smu_baco = &smu->smu_baco;
>         PPTable_t *smc_pptable = table_context->driver_pptable;
>         BoardTable_t *BoardTable = &smc_pptable->BoardTable;
> -#if 0
>         const OverDriveLimits_t * const overdrive_upperlimits =
>                                 &smc_pptable->SkuTable.OverDriveLimitsBasicMax;
>         const OverDriveLimits_t * const overdrive_lowerlimits =
>                                 &smc_pptable->SkuTable.OverDriveLimitsMin;
> -#endif
>
>         if (powerplay_table->platform_caps & SMU_13_0_7_PP_PLATFORM_CAP_HARDWAREDC)
>                 smu->dc_controlled_by_gpio = true;
> @@ -355,22 +353,18 @@ static int smu_v13_0_7_check_powerplay_table(struct smu_context *smu)
>         if (smu_baco->platform_support && (BoardTable->HsrEnabled || BoardTable->VddqOffEnabled))
>                 smu_baco->maco_support = true;
>
> -#if 0
>         if (!overdrive_lowerlimits->FeatureCtrlMask ||
>             !overdrive_upperlimits->FeatureCtrlMask)
>                 smu->od_enabled = false;
>
> +       table_context->thermal_controller_type =
> +               powerplay_table->thermal_controller_type;
> +
>         /*
>          * Instead of having its own buffer space and get overdrive_table copied,
>          * smu->od_settings just points to the actual overdrive_table
>          */
>         smu->od_settings = &powerplay_table->overdrive_table;
> -#else
> -       smu->od_enabled = false;
> -#endif
> -
> -       table_context->thermal_controller_type =
> -               powerplay_table->thermal_controller_type;
>
>         return 0;
>  }
> --
> 2.34.1
>


More information about the amd-gfx mailing list