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

drm/amd/pm: keep the BACO feature enabled for suspend



To pair with the workaround which always reset the ASIC in suspend.
Otherwise, the reset which relies on BACO will fail.

Fixes: daf8de08 ("drm/amdgpu: always reset the asic in suspend (v2)")

Signed-off-by: default avatarEvan Quan <evan.quan@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Reviewed-by: default avatarGuchun Chen <guchun.chen@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent ce9b333c
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -1400,8 +1400,14 @@ static int smu_disable_dpms(struct smu_context *smu)
{
	struct amdgpu_device *adev = smu->adev;
	int ret = 0;
	/*
	 * TODO: (adev->in_suspend && !adev->in_s0ix) is added to pair
	 * the workaround which always reset the asic in suspend.
	 * It's likely that workaround will be dropped in the future.
	 * Then the change here should be dropped together.
	 */
	bool use_baco = !smu->is_apu &&
		((amdgpu_in_reset(adev) &&
		(((amdgpu_in_reset(adev) || (adev->in_suspend && !adev->in_s0ix)) &&
		  (amdgpu_asic_reset_method(adev) == AMD_RESET_METHOD_BACO)) ||
		 ((adev->in_runpm || adev->in_s4) && amdgpu_asic_supports_baco(adev)));