From: Monk Liu Date: Tue, 26 Nov 2019 11:40:08 +0000 (+0800) Subject: drm/amdgpu: use CPU to flush vmhub if sched stopped X-Git-Tag: v5.10.7~3692^2~8^2~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e2195f7d0e735b9e466873333a7e832e3b7d254b;p=platform%2Fkernel%2Flinux-rpi.git drm/amdgpu: use CPU to flush vmhub if sched stopped otherwse the flush_gpu_tlb will hang if we unload the KMD becuase the schedulers already stopped Signed-off-by: Monk Liu Reviewed-by: Christian König Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c index 321f8a9..2324695 100644 --- a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c @@ -326,7 +326,8 @@ static void gmc_v10_0_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid, if (!adev->mman.buffer_funcs_enabled || !adev->ib_pool_ready || - adev->in_gpu_reset) { + adev->in_gpu_reset || + ring->sched.ready == false) { gmc_v10_0_flush_vm_hub(adev, vmid, AMDGPU_GFXHUB_0, 0); mutex_unlock(&adev->mman.gtt_window_lock); return;