]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/amdgpu: Remove break for VMID loop TLB flush on MES
authorGraham Sider <Graham.Sider@amd.com>
Wed, 18 May 2022 18:44:01 +0000 (14:44 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 21 Jun 2022 21:54:45 +0000 (17:54 -0400)
Loop through all VMIDs for gmc_v10_0_flush_gpu_tlb_pasid and
gmc_v11_0_flush_gpu_tlb_pasid (only if using MES for gmc_v10). This is
required for MES due to use_different_vmid_compute causing SDMA queues
to be assigned different VMIDs than compute for the same PASID.

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c

index 9077dfccaf3cf95ce3577837c5911da24f687419..25d5743ae91b629610ca792ebf8664287e3e32ce 100644 (file)
@@ -456,7 +456,8 @@ static int gmc_v10_0_flush_gpu_tlb_pasid(struct amdgpu_device *adev,
                                gmc_v10_0_flush_gpu_tlb(adev, vmid,
                                                AMDGPU_GFXHUB_0, flush_type);
                        }
-                       break;
+                       if (!adev->enable_mes)
+                               break;
                }
        }
 
index 9c225553f5b531023a4bfe7320e32fe19e445896..ecf41d8a8c7e7154ab048b80803006b8a236ead7 100644 (file)
@@ -344,7 +344,6 @@ static int gmc_v11_0_flush_gpu_tlb_pasid(struct amdgpu_device *adev,
                                gmc_v11_0_flush_gpu_tlb(adev, vmid,
                                                AMDGPU_GFXHUB_0, flush_type);
                        }
-                       break;
                }
        }