| From be85a3c64e4701752195c773b6c0a2b90bc274f1 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 17 Dec 2019 18:16:44 +0800 |
| Subject: drm/amdgpu: fix KIQ ring test fail in TDR of SRIOV |
| |
| From: Monk Liu <Monk.Liu@amd.com> |
| |
| [ Upstream commit 5a7489a7e189ee2be889485f90c8cf24ea4b9a40 ] |
| |
| issues: |
| MEC is ruined by the amdkfd_pre_reset after VF FLR done |
| |
| fix: |
| amdkfd_pre_reset() would ruin MEC after hypervisor finished the VF FLR, |
| the correct sequence is do amdkfd_pre_reset before VF FLR but there is |
| a limitation to block this sequence: |
| if we do pre_reset() before VF FLR, it would go KIQ way to do register |
| access and stuck there, because KIQ probably won't work by that time |
| (e.g. you already made GFX hang) |
| |
| so the best way right now is to simply remove it. |
| |
| Signed-off-by: Monk Liu <Monk.Liu@amd.com> |
| Reviewed-by: Emily Deng <Emily.Deng@amd.com> |
| Signed-off-by: Alex Deucher <alexander.deucher@amd.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 -- |
| 1 file changed, 2 deletions(-) |
| |
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c |
| index 7a6c837c0a85f..13694d5eba474 100644 |
| --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c |
| +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c |
| @@ -3466,8 +3466,6 @@ static int amdgpu_device_reset_sriov(struct amdgpu_device *adev, |
| if (r) |
| return r; |
| |
| - amdgpu_amdkfd_pre_reset(adev); |
| - |
| /* Resume IP prior to SMC */ |
| r = amdgpu_device_ip_reinit_early_sriov(adev); |
| if (r) |
| -- |
| 2.20.1 |
| |