Add Wentao.

Best wishes
Emily Deng



>-----Original Message-----
>From: amd-gfx <amd-gfx-boun...@lists.freedesktop.org> On Behalf Of
>Christian König
>Sent: Thursday, October 25, 2018 5:15 PM
>To: amd-gfx@lists.freedesktop.org
>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.koe...@amd.com>
>---
> 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@lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to