diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c index 425a3e564360..c72c345334d0 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c @@ -23,6 +23,7 @@ */ #include #include "amdgpu.h" +#include "amdgpu_ras_mgr.h" static const guid_t MCE = CPER_NOTIFY_MCE; static const guid_t CMC = CPER_NOTIFY_CMC; @@ -559,7 +560,10 @@ int amdgpu_cper_init(struct amdgpu_device *adev) { int r; - if (!amdgpu_aca_is_enabled(adev) && !amdgpu_sriov_ras_cper_en(adev)) + if (amdgpu_sriov_vf(adev) && !amdgpu_sriov_ras_cper_en(adev)) + return 0; + else if (!amdgpu_sriov_vf(adev) && !amdgpu_uniras_enabled(adev) && + !amdgpu_aca_is_enabled(adev)) return 0; r = amdgpu_cper_ring_init(adev); diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index c8d1e5565c31..6fb82d6c9a1a 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -3323,8 +3323,7 @@ static int amdgpu_device_ip_init(struct amdgpu_device *adev) amdgpu_fru_get_product_info(adev); - if (!amdgpu_sriov_vf(adev) || amdgpu_sriov_ras_cper_en(adev)) - r = amdgpu_cper_init(adev); + r = amdgpu_cper_init(adev); init_failed: