And return successful status.
Signed-off-by: Tao Zhou <[email protected]>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 25 +++++++++++++++++--------
1 file changed, 17 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
index ad490c1e2f57..854cff9e7ebd 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
@@ -1103,15 +1103,24 @@ int amdgpu_ras_error_inject(struct amdgpu_device *adev,
block_info.address);
}
- if (info->head.block == AMDGPU_RAS_BLOCK__GFX) {
- if (block_obj->hw_ops->ras_error_inject)
- ret = block_obj->hw_ops->ras_error_inject(adev, info);
+ if (amdgpu_sriov_vf(adev)) {
+ dev_info(adev->dev, "RAS injection is skipped in SRIOV\n");
+ ret = 0;
} else {
- /* If defined special ras_error_inject(e.g: xgmi), implement
special ras_error_inject */
- if (block_obj->hw_ops->ras_error_inject)
- ret = block_obj->hw_ops->ras_error_inject(adev,
&block_info);
- else /*If not defined .ras_error_inject, use default
ras_error_inject*/
- ret = psp_ras_trigger_error(&adev->psp, &block_info);
+ if (info->head.block == AMDGPU_RAS_BLOCK__GFX) {
+ if (block_obj->hw_ops->ras_error_inject)
+ ret = block_obj->hw_ops->ras_error_inject(adev,
info);
+ } else {
+ /* If defined special ras_error_inject(e.g: xgmi),
+ * implement special ras_error_inject
+ */
+ if (block_obj->hw_ops->ras_error_inject)
+ ret = block_obj->hw_ops->ras_error_inject(adev,
&block_info);
+ else /* If not defined .ras_error_inject, use default
+ * ras_error_inject
+ */
+ ret = psp_ras_trigger_error(&adev->psp,
&block_info);
+ }
}
if (ret)
--
2.35.1