MES pipe0 will do VM invalidation with engine set 5 when assign VMID to a 
process,
driver will submit inv_tlb package to mes pipe1. It might run into race 
condition
if both pipes use the same invalidate engine set. From MES version 0x83 it will 
use
invalidate engine set 6 for pipe1 to fix the issue

Signed-off-by: Shaoyun Liu <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c 
b/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
index 76d3c40735b0..7cc16af1868b 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
@@ -337,7 +337,7 @@ static void gmc_v12_0_flush_gpu_tlb_pasid(struct 
amdgpu_device *adev,
        int vmid, i;
 
        if (adev->enable_uni_mes && 
adev->mes.ring[AMDGPU_MES_SCHED_PIPE].sched.ready &&
-           (adev->mes.sched_version & AMDGPU_MES_VERSION_MASK) >= 0x81) {
+           (adev->mes.sched_version & AMDGPU_MES_VERSION_MASK) >= 0x83) {
                struct mes_inv_tlbs_pasid_input input = {0};
                input.pasid = pasid;
                input.flush_type = flush_type;
-- 
2.34.1

Reply via email to