Add Wentao. Best wishes Emily Deng >-----Original Message----- >From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of >Christian König >Sent: Thursday, October 25, 2018 5:15 PM >To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx >Subject: [PATCH 3/4] drm/amdgpu: drop the busy wait for GMC v9 TLB >invalidations > >This code is not performance critical. > >Signed-off-by: Christian König <christian.koenig@xxxxxxx> >--- > drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 26 ++++---------------------- > 1 file changed, 4 insertions(+), 22 deletions(-) > >diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c >b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c >index 7dee74f1937c..ff5e5f69b403 100644 >--- a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c >+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c >@@ -350,35 +350,17 @@ static void gmc_v9_0_flush_gpu_tlb(struct >amdgpu_device *adev, > } > > spin_lock(&adev->gmc.invalidate_lock); >- > WREG32_NO_KIQ(hub->vm_inv_eng0_req + eng, tmp); >- >- /* Busy wait for ACK.*/ >- for (j = 0; j < 100; j++) { >- tmp = RREG32_NO_KIQ(hub->vm_inv_eng0_ack + >eng); >- tmp &= 1 << vmid; >- if (tmp) >- break; >- cpu_relax(); >- } >- if (j < 100) { >- spin_unlock(&adev->gmc.invalidate_lock); >- continue; >- } >- >- /* Wait for ACK with a delay.*/ > for (j = 0; j < adev->usec_timeout; j++) { > tmp = RREG32_NO_KIQ(hub->vm_inv_eng0_ack + >eng); >- tmp &= 1 << vmid; >- if (tmp) >+ if (tmp & (1 << vmid)) > break; > udelay(1); > } >- if (j < adev->usec_timeout) { >- spin_unlock(&adev->gmc.invalidate_lock); >- continue; >- } > spin_unlock(&adev->gmc.invalidate_lock); >+ if (j < adev->usec_timeout) >+ continue; >+ > DRM_ERROR("Timeout waiting for VM flush ACK!\n"); > } > } >-- >2.14.1 > >_______________________________________________ >amd-gfx mailing list >amd-gfx@xxxxxxxxxxxxxxxxxxxxx >https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx