[PATCH 2/3] drm/amdgpu/vce4: workaround VCE ring test slow issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > -----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.

No, just this case for temporarily.

> 
> > +
> > +	/* 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


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux