Commit cd277585 authored by Rex Zhu's avatar Rex Zhu Committed by Alex Deucher
Browse files

drm/amd/pp: Move common dpm check functions to hardwaremanager.c

parent e21148ec
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -1011,10 +1011,6 @@ static void cz_reset_acp_boot_level(struct pp_hwmgr *hwmgr)

static int cz_disable_dpm_tasks(struct pp_hwmgr *hwmgr)
{
	if (!smum_is_dpm_running(hwmgr)) {
		pr_info("dpm has been disabled\n");
		return 0;
	}
	cz_disable_nb_dpm(hwmgr);

	cz_clear_voting_clients(hwmgr);
@@ -1026,11 +1022,6 @@ static int cz_disable_dpm_tasks(struct pp_hwmgr *hwmgr)

static int cz_enable_dpm_tasks(struct pp_hwmgr *hwmgr)
{
	if (smum_is_dpm_running(hwmgr)) {
		pr_info("dpm has been enabled\n");
		return 0;
	}

	cz_program_voting_clients(hwmgr);
	if (cz_start_dpm(hwmgr))
		return -EINVAL;
+10 −0
Original line number Diff line number Diff line
@@ -79,6 +79,11 @@ int phm_enable_dynamic_state_management(struct pp_hwmgr *hwmgr)
	bool enabled;
	PHM_FUNC_CHECK(hwmgr);

	if (smum_is_dpm_running(hwmgr)) {
		pr_info("dpm has been enabled\n");
		return 0;
	}

	if (NULL != hwmgr->hwmgr_func->dynamic_state_management_enable)
		ret = hwmgr->hwmgr_func->dynamic_state_management_enable(hwmgr);

@@ -96,6 +101,11 @@ int phm_disable_dynamic_state_management(struct pp_hwmgr *hwmgr)

	PHM_FUNC_CHECK(hwmgr);

	if (!smum_is_dpm_running(hwmgr)) {
		pr_info("dpm has been disabled\n");
		return 0;
	}

	if (hwmgr->hwmgr_func->dynamic_state_management_disable)
		ret = hwmgr->hwmgr_func->dynamic_state_management_disable(hwmgr);

+0 −10
Original line number Diff line number Diff line
@@ -1239,11 +1239,6 @@ static int smu7_enable_dpm_tasks(struct pp_hwmgr *hwmgr)
	int tmp_result = 0;
	int result = 0;

	tmp_result = (!smum_is_dpm_running(hwmgr)) ? 0 : -1;
	PP_ASSERT_WITH_CODE(tmp_result == 0,
			"DPM is already running",
			);

	if (smu7_voltage_control(hwmgr)) {
		tmp_result = smu7_enable_voltage_control(hwmgr);
		PP_ASSERT_WITH_CODE(tmp_result == 0,
@@ -1406,11 +1401,6 @@ int smu7_disable_dpm_tasks(struct pp_hwmgr *hwmgr)
{
	int tmp_result, result = 0;

	tmp_result = (smum_is_dpm_running(hwmgr)) ? 0 : -1;
	PP_ASSERT_WITH_CODE(tmp_result == 0,
			"DPM is not running right now, no need to disable DPM!",
			return 0);

	if (phm_cap_enabled(hwmgr->platform_descriptor.platformCaps,
			PHM_PlatformCaps_ThermalController))
		PHM_WRITE_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC,
+0 −10
Original line number Diff line number Diff line
@@ -2859,11 +2859,6 @@ static int vega10_enable_dpm_tasks(struct pp_hwmgr *hwmgr)
			(struct vega10_hwmgr *)(hwmgr->backend);
	int tmp_result, result = 0;

	tmp_result = (!smum_is_dpm_running(hwmgr)) ? 0 : -1;
	PP_ASSERT_WITH_CODE(!tmp_result,
			"DPM is already running right , skipping re-enablement!",
			return 0);

	if ((hwmgr->smu_version == 0x001c2c00) ||
			(hwmgr->smu_version == 0x001c2d00))
		smum_send_msg_to_smc_with_parameter(hwmgr,
@@ -4687,11 +4682,6 @@ static int vega10_disable_dpm_tasks(struct pp_hwmgr *hwmgr)
{
	int tmp_result, result = 0;

	tmp_result = (smum_is_dpm_running(hwmgr)) ? 0 : -1;
	PP_ASSERT_WITH_CODE(tmp_result == 0,
			"DPM is not running right now, no need to disable DPM!",
			return 0);

	if (PP_CAP(PHM_PlatformCaps_ThermalController))
		vega10_disable_thermal_protection(hwmgr);