Commit 34dc227b authored by Kenneth Feng's avatar Kenneth Feng Committed by Alex Deucher
Browse files

drm/amd/pm: add power save mode workload for smu 13.0.10



add power save mode workload for smu 13.0.10, so that in compute mode,
pmfw will add margin since some applications requres higher margin.

Signed-off-by: default avatarKenneth Feng <kenneth.feng@amd.com>
Reviewed-by: default avatarLikun Gao <Likun.Gao@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 5f82a0c9
Loading
Loading
Loading
Loading
+13 −10
Original line number Diff line number Diff line
@@ -2545,17 +2545,20 @@ static int smu_v13_0_0_set_power_profile_mode(struct smu_context *smu,

	workload_mask = 1 << workload_type;

	/* Add optimizations for SMU13.0.0.  Reuse the power saving profile */
	if (smu->power_profile_mode == PP_SMC_POWER_PROFILE_COMPUTE &&
	    (amdgpu_ip_version(smu->adev, MP1_HWIP, 0) == IP_VERSION(13, 0, 0)) &&
	/* Add optimizations for SMU13.0.0/10.  Reuse the power saving profile */
	if (smu->power_profile_mode == PP_SMC_POWER_PROFILE_COMPUTE) {
		if ((amdgpu_ip_version(smu->adev, MP1_HWIP, 0) == IP_VERSION(13, 0, 0) &&
			((smu->adev->pm.fw_version == 0x004e6601) ||
	     (smu->adev->pm.fw_version >= 0x004e7400))) {
			(smu->adev->pm.fw_version >= 0x004e7300))) ||
			(amdgpu_ip_version(smu->adev, MP1_HWIP, 0) == IP_VERSION(13, 0, 10) &&
			 smu->adev->pm.fw_version >= 0x00504500)) {
			workload_type = smu_cmn_to_asic_specific_index(smu,
														   CMN2ASIC_MAPPING_WORKLOAD,
														   PP_SMC_POWER_PROFILE_POWERSAVING);
			if (workload_type >= 0)
				workload_mask |= 1 << workload_type;
		}
	}

	return smu_cmn_send_smc_msg_with_param(smu,
					       SMU_MSG_SetWorkloadMask,