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: daf8de0874ab5b ("drm/amdgpu: always reset the asic in suspend (v2)")

Signed-off-by: Evan Quan <evan.quan@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Guchun Chen <guchun.chen@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by Evan Quan and committed by Alex Deucher eaa09053 ce9b333c

+7 -1
+7 -1
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
··· 1400 { 1401 struct amdgpu_device *adev = smu->adev; 1402 int ret = 0; 1403 bool use_baco = !smu->is_apu && 1404 - ((amdgpu_in_reset(adev) && 1405 (amdgpu_asic_reset_method(adev) == AMD_RESET_METHOD_BACO)) || 1406 ((adev->in_runpm || adev->in_s4) && amdgpu_asic_supports_baco(adev))); 1407
··· 1400 { 1401 struct amdgpu_device *adev = smu->adev; 1402 int ret = 0; 1403 + /* 1404 + * TODO: (adev->in_suspend && !adev->in_s0ix) is added to pair 1405 + * the workaround which always reset the asic in suspend. 1406 + * It's likely that workaround will be dropped in the future. 1407 + * Then the change here should be dropped together. 1408 + */ 1409 bool use_baco = !smu->is_apu && 1410 + (((amdgpu_in_reset(adev) || (adev->in_suspend && !adev->in_s0ix)) && 1411 (amdgpu_asic_reset_method(adev) == AMD_RESET_METHOD_BACO)) || 1412 ((adev->in_runpm || adev->in_s4) && amdgpu_asic_supports_baco(adev))); 1413