AMD General

Should we move amdgpu_ras_mgr_sw_init into amdgpu_ras_init, and ensure it runs 
before amdgpu_ras_fs_init?

Regards,
Hawking

-----Original Message-----
From: Sun, Ce(Overlord) <[email protected]>
Sent: Tuesday, July 7, 2026 9:58 PM
To: [email protected]
Cc: Zhang, Hawking <[email protected]>; Chai, Thomas <[email protected]>; 
Zhou1, Tao <[email protected]>; Yang, Stanley <[email protected]>; Sun, 
Ce(Overlord) <[email protected]>
Subject: [PATCH 1/2] drm/amdgpu: move uniras IP version check to amdgpu_ras_init

Late uniras enable in amdgpu_ras_mgr_sw_init leads to xxx_err_count sysfs node 
creation failure during NPS mode switching. Move the uniras IP version check 
into amdgpu_ras_init to set uniras_enabled ahead of sysfs node creation

Signed-off-by: Ce Sun <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c          | 11 +++++++++++
 drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c | 10 +---------
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
index e300d951898d..8ade3da6f132 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
@@ -3595,6 +3595,17 @@ int amdgpu_ras_init(struct amdgpu_device *adev)
                goto release_con;
        }

+       switch (amdgpu_ip_version(adev, MP0_HWIP, 0)) {
+       case IP_VERSION(13, 0, 14):
+       case IP_VERSION(13, 0, 12):
+       case IP_VERSION(13, 0, 6):
+               con->uniras_enabled = true;
+               break;
+       default:
+               con->uniras_enabled = false;
+               break;
+       }
+
        con->update_channel_flag = false;
        con->features = 0;
        con->schema = 0;
diff --git a/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c 
b/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c
index b8b831a91bc7..6224c4921a42 100644
--- a/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c
+++ b/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c
@@ -327,15 +327,7 @@ static int amdgpu_ras_mgr_sw_init(struct amdgpu_ip_block 
*ip_block)
        struct amdgpu_ras_mgr *ras_mgr;
        int ret = 0;

-       /* Disabled by default */
-       con->uniras_enabled = false;
-
-       if (amdgpu_ip_version(adev, MP0_HWIP, 0) == IP_VERSION(13, 0, 14) ||
-           amdgpu_ip_version(adev, MP0_HWIP, 0) == IP_VERSION(13, 0, 12) ||
-           amdgpu_ip_version(adev, MP0_HWIP, 0) == IP_VERSION(13, 0, 6) ||
-           adev->debug_enable_ras_aca)
-               con->uniras_enabled = true;
-       else
+       if (!con->uniras_enabled)
                return 0;

        ras_mgr = kzalloc(sizeof(*ras_mgr), GFP_KERNEL);
--
2.34.1

Reply via email to