Support sriov uniras to obtain cper data.
Signed-off-by: YiPeng Chai <[email protected]>
Reviewed-by: Tao Zhou <[email protected]>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c | 5 ++++-
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +--
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c
index 425a3e564360..90e6e89b1fe0 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c
@@ -23,6 +23,7 @@
*/
#include <linux/list.h>
#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,9 @@ 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_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 860ac1f9e35d..deead462a72f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -3320,8 +3320,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:
--
2.34.1