Commit 173df1ea authored by Evan Quan's avatar Evan Quan Committed by Alex Deucher
Browse files

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



This reverts commit 510d242f.

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: default avatarEvan Quan <evan.quan@amd.com>
Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 9df5d008
Loading
Loading
Loading
Loading
+3 −15
Original line number Diff line number Diff line
@@ -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));
+3 −9
Original line number Diff line number Diff line
@@ -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;
}