When TDR happened on SR-IOV VF, the host Hypervisor may has already done the VF FLR, then, the re-initialization flow in KMD is a must. The same logic is in amdgpu_device_ip_check_soft_reset, too Signed-off-by: Trigger Huang <Trigger.Huang@xxxxxxx> --- drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c index 5b75bdc..14bd67a 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c @@ -397,6 +397,9 @@ bool amdgpu_ring_soft_recovery(struct amdgpu_ring *ring, unsigned int vmid, { ktime_t deadline = ktime_add_us(ktime_get(), 10000); + if (amdgpu_sriov_vf(ring->adev)) + return false; + if (!ring->funcs->soft_recovery) return false; -- 2.7.4 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx