Commit 4c301044 authored by Evan Quan's avatar Evan Quan Committed by Alex Deucher
Browse files

drm/amd/powerplay: let PMFW to handle the features disablement on BACO in V2



For Sienna_Cichlid, PMFW will handle the features disablement on BACO in. No
need to have driver stepped in.

V2: limit this for baco really

Signed-off-by: default avatarEvan Quan <evan.quan@amd.com>
Reviewed-by: default avatarLikun Gao <Likun.Gao@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent e2c14b2c
Loading
Loading
Loading
Loading
+18 −6
Original line number Diff line number Diff line
@@ -1530,6 +1530,11 @@ static int smu_suspend(void *handle)
	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
	struct smu_context *smu = &adev->smu;
	int ret;
	bool use_baco = !smu->is_apu &&
		((adev->in_gpu_reset &&
		  (amdgpu_asic_reset_method(adev) == AMD_RESET_METHOD_BACO)) ||
		 (adev->in_runpm && amdgpu_asic_supports_baco(adev)));


	if (amdgpu_sriov_vf(adev)&& !amdgpu_sriov_is_pp_one_vf(adev))
		return 0;
@@ -1547,15 +1552,22 @@ static int smu_suspend(void *handle)
		return ret;
	}

	/*
	 * For Sienna_Cichlid, PMFW will handle the features disablement properly
	 * on BACO in. Driver involvement is unnecessary.
	 */
	if ((adev->asic_type != CHIP_SIENNA_CICHLID) || !use_baco) {
		ret = smu_disable_dpm(smu);
		if (ret)
			return ret;

	smu->watermarks_bitmap &= ~(WATERMARKS_LOADED);

		if (adev->asic_type >= CHIP_NAVI10 &&
		    adev->gfx.rlc.funcs->stop)
			adev->gfx.rlc.funcs->stop(adev);
	}

	smu->watermarks_bitmap &= ~(WATERMARKS_LOADED);

	if (smu->is_apu)
		smu_set_gfx_cgpg(&adev->smu, false);