| From ebc002e3ee78409c42156e62e4e27ad1d09c5a75 Mon Sep 17 00:00:00 2001 |
| From: Alex Deucher <alexander.deucher@amd.com> |
| Date: Fri, 25 Mar 2022 11:53:39 -0400 |
| Subject: drm/amdgpu: don't use BACO for reset in S3 |
| |
| From: Alex Deucher <alexander.deucher@amd.com> |
| |
| commit ebc002e3ee78409c42156e62e4e27ad1d09c5a75 upstream. |
| |
| Seems to cause a reboots or hangs on some systems. |
| |
| Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1924 |
| Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1953 |
| Fixes: daf8de0874ab5b ("drm/amdgpu: always reset the asic in suspend (v2)") |
| Reviewed-by: Lijo Lazar <lijo.lazar@amd.com> |
| Signed-off-by: Alex Deucher <alexander.deucher@amd.com> |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/gpu/drm/amd/pm/amdgpu_dpm.c | 11 +++++++++++ |
| 1 file changed, 11 insertions(+) |
| |
| --- a/drivers/gpu/drm/amd/pm/amdgpu_dpm.c |
| +++ b/drivers/gpu/drm/amd/pm/amdgpu_dpm.c |
| @@ -1045,6 +1045,17 @@ bool amdgpu_dpm_is_baco_supported(struct |
| |
| if (!pp_funcs || !pp_funcs->get_asic_baco_capability) |
| return false; |
| + /* Don't use baco for reset in S3. |
| + * This is a workaround for some platforms |
| + * where entering BACO during suspend |
| + * seems to cause reboots or hangs. |
| + * This might be related to the fact that BACO controls |
| + * power to the whole GPU including devices like audio and USB. |
| + * Powering down/up everything may adversely affect these other |
| + * devices. Needs more investigation. |
| + */ |
| + if (adev->in_s3) |
| + return false; |
| |
| if (pp_funcs->get_asic_baco_capability(pp_handle, &baco_cap)) |
| return false; |