From: YiPeng Chai <[email protected]>

Pass ras poison consumption message to sriov host.

Signed-off-by: YiPeng Chai <[email protected]>
Reviewed-by: Hawking Zhang <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
---
 drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_process.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_process.c 
b/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_process.c
index 5782c007de71c..285d81a85a99d 100644
--- a/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_process.c
+++ b/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_process.c
@@ -103,6 +103,16 @@ int amdgpu_ras_process_handle_consumption_interrupt(struct 
amdgpu_device *adev,
        if (!ih_info)
                return -EINVAL;
 
+       if (amdgpu_sriov_vf(adev)) {
+               if (adev->virt.ops && adev->virt.ops->ras_poison_handler)
+                       adev->virt.ops->ras_poison_handler(adev, 
ih_info->block);
+               else
+                       dev_warn(adev->dev,
+                               "No ras_poison_handler interface in SRIOV for 
block[%d]!\n",
+                               ih_info->block);
+               return 0;
+       }
+
        memset(&req, 0, sizeof(req));
        req.block = ih_info->block;
        req.data = ih_info->data;
-- 
2.53.0

Reply via email to