Am 08.05.2017 um 08:51 schrieb Monk Liu: > Change-Id: I541aa5109f4fcab06ece4761a09dc7e053ec6837 > Signed-off-by: Monk Liu <Monk.Liu at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c | 15 +++++++++------ > 1 file changed, 9 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c b/drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c > index 1cdf5cc..0109b5c 100644 > --- a/drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c > +++ b/drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c > @@ -537,12 +537,15 @@ static int xgpu_vi_mailbox_rcv_irq(struct amdgpu_device *adev, > { > int r; > > - /* see what event we get */ > - r = xgpu_vi_mailbox_rcv_msg(adev, IDH_FLR_NOTIFICATION); > - > - /* only handle FLR_NOTIFY now */ > - if (!r) > - schedule_work(&adev->virt.flr_work); > + /* trigger gpu-reset by hypervisor only if TDR disbaled */ > + if (msecs_to_jiffies(amdgpu_lockup_timeout) == MAX_SCHEDULE_TIMEOUT) { That won't work like this, we use zero for infinite timeout here. See amdgpu_fence_driver_init_ring() as well. Just changing that test to "amdgpu_lockup_timeout == 0" should work. Christian. > + /* see what event we get */ > + r = xgpu_vi_mailbox_rcv_msg(adev, IDH_FLR_NOTIFICATION); > + > + /* only handle FLR_NOTIFY now */ > + if (!r) > + schedule_work(&adev->virt.flr_work); > + } > > return 0; > }