On Wed, Aug 30, 2023 at 10:50 PM Evan Quan <evan.quan@xxxxxxx> 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@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> > --- > .../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 >