drm/amdgpu: Skip virt_exchange_init on SDMA poison consumption
authorVictor Skvortsov <victor.skvortsov@amd.com>
Thu, 14 Mar 2024 21:27:46 +0000 (17:27 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 20 Mar 2024 17:37:38 +0000 (13:37 -0400)
Host will initiate an FLR in SDMA poison consumption scenario.
Guest should wait for FLR message to re-init data exchange.

Signed-off-by: Victor Skvortsov <victor.skvortsov@amd.com>
Reviewed-by: Zhigang Luo <zhigang.luo@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/mxgpu_nv.c

index 77f5b55decf96032ce1794693a3d51f1481f6009..a1bad772d932e7e60a29a46843ded6aa19e8ccea 100644 (file)
@@ -444,7 +444,8 @@ static void xgpu_nv_ras_poison_handler(struct amdgpu_device *adev,
                amdgpu_virt_fini_data_exchange(adev);
                xgpu_nv_send_access_requests_with_param(adev,
                                        IDH_RAS_POISON, block, 0, 0);
-               amdgpu_virt_init_data_exchange(adev);
+               if (block != AMDGPU_RAS_BLOCK__SDMA)
+                       amdgpu_virt_init_data_exchange(adev);
        }
 }