From c174a6317be0aac7e1953eefd680af6b9be91bc2 Mon Sep 17 00:00:00 2001 From: YiPeng Chai Date: Wed, 5 Nov 2025 15:12:11 +0800 Subject: [PATCH] drm/amd/ras: Support sriov uniras to obtain cper data Support sriov uniras to obtain cper data. Signed-off-by: YiPeng Chai Reviewed-by: Tao Zhou Reviewed-by: Hawking Zhang Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c | 6 +++++- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c index 425a3e5643608..c72c345334d01 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 c8d1e5565c31f..6fb82d6c9a1a5 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: -- 2.47.3