[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