Commit 61319b8e authored by Evan Quan's avatar Evan Quan Committed by Alex Deucher
Browse files

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



The existing OD interface cannot support the growing demand for more
OD features. We are in the transition to a new OD mechanism. So,
disable the SMU13 OD feature support temporarily. And this should be
reverted when the new OD mechanism online.

Signed-off-by: default avatarEvan Quan <evan.quan@amd.com>
Reviewed-by: default avatarGuchun Chen <guchun.chen@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent bd60e2ea
Loading
Loading
Loading
Loading
+14 −3
Original line number Diff line number Diff line
@@ -331,11 +331,13 @@ static int smu_v13_0_0_check_powerplay_table(struct smu_context *smu)
	struct smu_13_0_0_powerplay_table *powerplay_table =
		table_context->power_play_table;
	struct smu_baco_context *smu_baco = &smu->smu_baco;
#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;
@@ -347,18 +349,27 @@ 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;

	return 0;
}
+9 −3
Original line number Diff line number Diff line
@@ -323,10 +323,12 @@ 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;
@@ -338,18 +340,22 @@ 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;
}