Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 74c577b0 authored by Alex Deucher's avatar Alex Deucher
Browse files

drm/amd/powerplay/fiji: enable pcie and mclk forcing for low



When forcing the lowest state also force mclk and pcie.

Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 9fe1837d
Loading
Loading
Loading
Loading
+25 −5
Original line number Original line Diff line number Diff line
@@ -3576,9 +3576,8 @@ static int fiji_force_dpm_lowest(struct pp_hwmgr *hwmgr)
{
{
	struct fiji_hwmgr *data =
	struct fiji_hwmgr *data =
			(struct fiji_hwmgr *)(hwmgr->backend);
			(struct fiji_hwmgr *)(hwmgr->backend);
	uint32_t level = 0;
	uint32_t level;


	/* Only force sclk for now */
	if (!data->sclk_dpm_key_disabled)
	if (!data->sclk_dpm_key_disabled)
		if (data->dpm_level_enable_mask.sclk_dpm_enable_mask) {
		if (data->dpm_level_enable_mask.sclk_dpm_enable_mask) {
			level = fiji_get_lowest_enabled_level(hwmgr,
			level = fiji_get_lowest_enabled_level(hwmgr,
@@ -3588,6 +3587,27 @@ static int fiji_force_dpm_lowest(struct pp_hwmgr *hwmgr)
							    (1 << level));
							    (1 << level));


	}
	}

	if (!data->mclk_dpm_key_disabled) {
		if (data->dpm_level_enable_mask.mclk_dpm_enable_mask) {
			level = fiji_get_lowest_enabled_level(hwmgr,
							      data->dpm_level_enable_mask.mclk_dpm_enable_mask);
			smum_send_msg_to_smc_with_parameter(hwmgr->smumgr,
							    PPSMC_MSG_MCLKDPM_SetEnabledMask,
							    (1 << level));
		}
	}

	if (!data->pcie_dpm_key_disabled) {
		if (data->dpm_level_enable_mask.pcie_dpm_enable_mask) {
			level = fiji_get_lowest_enabled_level(hwmgr,
							      data->dpm_level_enable_mask.pcie_dpm_enable_mask);
			smum_send_msg_to_smc_with_parameter(hwmgr->smumgr,
							    PPSMC_MSG_PCIeDPM_ForceLevel,
							    (1 << level));
		}
	}

	return 0;
	return 0;


}
}