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
364364 if (updates && (!flushed || dma_fence_is_later(updates, flushed)))
365365 needs_flush = true;
366366
367− /* Concurrent flushes are only possible starting with Vega10 */
368− if (adev->asic_type < CHIP_VEGA10 && needs_flush)
367+ /* Concurrent flushes are only possible starting with Vega10 and
368+ * are broken on Navi10 and Navi14.
369+ */
370+ if (needs_flush && (adev->asic_type < CHIP_VEGA10 ||
371+ adev->asic_type == CHIP_NAVI10))
369372 continue;
370373
371374 /* Good, we can use this VMID. Remember this submission as