Commit e643823d authored by Tao Zhou's avatar Tao Zhou Committed by Alex Deucher

drm/amdgpu: add RAS poison consumption handler for SRIOV

Send message to PF if VF receives RAS poison consumption interrupt.
Signed-off-by: default avatarTao Zhou <tao.zhou1@amd.com>
Reviewed-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent ae844dd7
...@@ -169,6 +169,7 @@ int amdgpu_umc_poison_handler(struct amdgpu_device *adev, bool reset) ...@@ -169,6 +169,7 @@ int amdgpu_umc_poison_handler(struct amdgpu_device *adev, bool reset)
{ {
int ret = AMDGPU_RAS_SUCCESS; int ret = AMDGPU_RAS_SUCCESS;
if (!amdgpu_sriov_vf(adev)) {
if (!adev->gmc.xgmi.connected_to_cpu) { if (!adev->gmc.xgmi.connected_to_cpu) {
struct ras_err_data err_data = {0, 0, 0, NULL}; struct ras_err_data err_data = {0, 0, 0, NULL};
struct ras_common_if head = { struct ras_common_if head = {
...@@ -189,6 +190,13 @@ int amdgpu_umc_poison_handler(struct amdgpu_device *adev, bool reset) ...@@ -189,6 +190,13 @@ int amdgpu_umc_poison_handler(struct amdgpu_device *adev, bool reset)
kgd2kfd_set_sram_ecc_flag(adev->kfd.dev); kgd2kfd_set_sram_ecc_flag(adev->kfd.dev);
amdgpu_ras_reset_gpu(adev); amdgpu_ras_reset_gpu(adev);
} }
} else {
if (adev->virt.ops && adev->virt.ops->ras_poison_handler)
adev->virt.ops->ras_poison_handler(adev);
else
dev_warn(adev->dev,
"No ras_poison_handler interface in SRIOV!\n");
}
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment