diff options
author | Christian König <christian.koenig@amd.com> | 2019-02-07 06:10:29 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2019-06-21 19:58:21 -0400 |
commit | a2bd77bbde791202267c25478bbcbe71bb4ecdd5 (patch) | |
tree | 727d56568e4ae53422843c971ad4e86a7541fc6d | |
parent | 437298b833996de86a94d53e4051461cac25010d (diff) |
drm/amdgpu: disable concurrent flushes for Navi10 v2
Navi10 have a bug in the SDMA which can theoretically cause memory
corruption with concurrent VMID flushes
v2: explicitely check Navi10
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c index df9b173c3d0b..5899d214187b 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c | |||
@@ -364,8 +364,11 @@ static int amdgpu_vmid_grab_used(struct amdgpu_vm *vm, | |||
364 | if (updates && (!flushed || dma_fence_is_later(updates, flushed))) | 364 | if (updates && (!flushed || dma_fence_is_later(updates, flushed))) |
365 | needs_flush = true; | 365 | needs_flush = true; |
366 | 366 | ||
367 | /* Concurrent flushes are only possible starting with Vega10 */ | 367 | /* Concurrent flushes are only possible starting with Vega10 and |
368 | if (adev->asic_type < CHIP_VEGA10 && needs_flush) | 368 | * are broken on Navi10 and Navi14. |
369 | */ | ||
370 | if (needs_flush && (adev->asic_type < CHIP_VEGA10 || | ||
371 | adev->asic_type == CHIP_NAVI10)) | ||
369 | continue; | 372 | continue; |
370 | 373 | ||
371 | /* Good, we can use this VMID. Remember this submission as | 374 | /* Good, we can use this VMID. Remember this submission as |