drm/amd/amdgpu: reserve vm invalidation engine for firmware
authorJack Xiao <Jack.Xiao@amd.com>
Wed, 16 Nov 2022 08:44:21 +0000 (16:44 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 23 Nov 2022 14:47:12 +0000 (09:47 -0500)
If mes enabled, reserve VM invalidation engine 5 for firmware.

Signed-off-by: Jack Xiao <Jack.Xiao@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c

index 4365ede42855e0016d1b28336f21e193d6c614e6..e970e3760cec314fc28518c4bccc472a67a58dbc 100644 (file)
@@ -479,6 +479,12 @@ int amdgpu_gmc_allocate_vm_inv_eng(struct amdgpu_device *adev)
        unsigned i;
        unsigned vmhub, inv_eng;
 
+       if (adev->enable_mes) {
+               /* reserve engine 5 for firmware */
+               for (vmhub = 0; vmhub < AMDGPU_MAX_VMHUBS; vmhub++)
+                       vm_inv_engs[vmhub] &= ~(1 << 5);
+       }
+
        for (i = 0; i < adev->num_rings; ++i) {
                ring = adev->rings[i];
                vmhub = ring->funcs->vmhub;