> -----Original Message----- > From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf > Of Xiangliang Yu > Sent: Tuesday, April 11, 2017 3:31 AM > To: amd-gfx at lists.freedesktop.org > Cc: Min, Frank; Yu, Xiangliang > Subject: [PATCH 2/3] drm/amdgpu/vce4: workaround VCE ring test slow > issue > > Add VCE ring test slow workaround for SRIOV. > > Signed-off-by: Frank Min <Frank.Min at amd.com> > Signed-off-by: Xiangliang Yu <Xiangliang.Yu at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c > index e43c83f..cdff938 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c > @@ -955,7 +955,11 @@ int amdgpu_vce_ring_test_ring(struct amdgpu_ring > *ring) > struct amdgpu_device *adev = ring->adev; > uint32_t rptr = amdgpu_ring_get_rptr(ring); > unsigned i; > - int r; > + int r, timeout = adev->usec_timeout; Do you need longer timeouts elsewhere as well? If so, it might make more sense to just change the default setting for adev->usec_timeout for SR-IOV. Alex > + > + /* workaround VCE ring test slow issue for sriov*/ > + if (amdgpu_sriov_vf(adev)) > + timeout *= 10; > > /* TODO: remove it if VCE can work for sriov */ > if (amdgpu_sriov_vf(adev)) > @@ -970,13 +974,13 @@ int amdgpu_vce_ring_test_ring(struct > amdgpu_ring *ring) > amdgpu_ring_write(ring, VCE_CMD_END); > amdgpu_ring_commit(ring); > > - for (i = 0; i < adev->usec_timeout; i++) { > + for (i = 0; i < timeout; i++) { > if (amdgpu_ring_get_rptr(ring) != rptr) > break; > DRM_UDELAY(1); > } > > - if (i < adev->usec_timeout) { > + if (i < timeout) { > DRM_INFO("ring test on %d succeeded in %d usecs\n", > ring->idx, i); > } else { > -- > 2.7.4 > > _______________________________________________ > amd-gfx mailing list > amd-gfx at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx