]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amd/ras: Support sriov uniras to obtain cper data
authorYiPeng Chai <YiPeng.Chai@amd.com>
Wed, 5 Nov 2025 07:12:11 +0000 (15:12 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 8 Dec 2025 18:56:33 +0000 (13:56 -0500)
Support sriov uniras to obtain cper data.

Signed-off-by: YiPeng Chai <YiPeng.Chai@amd.com>
Reviewed-by: Tao Zhou <tao.zhou1@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index 425a3e564360850ce0baa4f37a748e750f7a215c..c72c345334d015a075b7301c566744e9018c0451 100644 (file)
@@ -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,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);
index c8d1e5565c31fbfcc850506cba7cfc9d452b6ced..6fb82d6c9a1a525b75dc4fef67a988d640eff83e 100644 (file)
@@ -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: