drm/amdgpu: drop the incorrect soft_reset for SRIOV
authorMonk Liu <Monk.Liu@amd.com>
Fri, 7 Jun 2019 10:56:18 +0000 (18:56 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 11 Jun 2019 17:44:52 +0000 (12:44 -0500)
It's incorrect to do soft reset for SRIOV, when GFX
hang the WREG would stuck there becuase it goes KIQ way.

the GPU reset counter is incorrect: always increase twice
for each timedout

Signed-off-by: Monk Liu <Monk.Liu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c

index 8f5026c123ef34b7db1f9a6d060d39394ea13302..ff6976eaa919300b09157650b74e9346a1a15b89 100644 (file)
@@ -399,7 +399,7 @@ bool amdgpu_ring_soft_recovery(struct amdgpu_ring *ring, unsigned int vmid,
 {
        ktime_t deadline = ktime_add_us(ktime_get(), 10000);
 
-       if (!ring->funcs->soft_recovery || !fence)
+       if (amdgpu_sriov_vf(ring->adev) || !ring->funcs->soft_recovery || !fence)
                return false;
 
        atomic_inc(&ring->adev->gpu_reset_counter);