From: Christian König Date: Thu, 7 Feb 2019 11:10:29 +0000 (+0100) Subject: drm/amdgpu: disable concurrent flushes for Navi10 v2 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=a2bd77bbde791202267c25478bbcbe71bb4ecdd5;p=openwrt%2Fstaging%2Fblogic.git 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 Reviewed-by: Alex Deucher Signed-off-by: Alex Deucher --- 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, if (updates && (!flushed || dma_fence_is_later(updates, flushed))) needs_flush = true; - /* Concurrent flushes are only possible starting with Vega10 */ - if (adev->asic_type < CHIP_VEGA10 && needs_flush) + /* Concurrent flushes are only possible starting with Vega10 and + * are broken on Navi10 and Navi14. + */ + if (needs_flush && (adev->asic_type < CHIP_VEGA10 || + adev->asic_type == CHIP_NAVI10)) continue; /* Good, we can use this VMID. Remember this submission as