History

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

Christian König committed 7 years ago

Commit a2bd77b1 parent 437298b1 file · +5 −2Browse files

Unified · Split

drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c+5−2
@@ -364,8 +364,11 @@ static int amdgpu_vmid_grab_used(struct amdgpu_vm *vm, · 363 unmodified lines
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 as374 /* Good, we can use this VMID. Remember this submission as