]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/amdgpu: Fix the mes version that support inv_tlbs
authorShaoyun Liu <shaoyun.liu@amd.com>
Thu, 11 Sep 2025 16:59:00 +0000 (12:59 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 15 Sep 2025 21:02:44 +0000 (17:02 -0400)
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 <shaoyun.liu@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c

index 76d3c40735b0b5b56d934f7d346371d73f24ce50..7cc16af1868b3058d8ba264ef67e0925ad36fb19 100644 (file)
@@ -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;