[AMD Official Use Only - Internal Distribution Only]

Reviewed-by: John Clements<[email protected]>

-----Original Message-----
From: Hawking Zhang <[email protected]> 
Sent: Sunday, April 25, 2021 3:10 PM
To: [email protected]; Li, Dennis <[email protected]>; Clements, 
John <[email protected]>; Deucher, Alexander <[email protected]>
Cc: Zhang, Hawking <[email protected]>
Subject: [PATCH 2/2] drm/amdgpu: provide socket/die id info in RAS message

Add socket/die information in RAS messages for platforms that support query 
those information

Signed-off-by: Hawking Zhang <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 29 +++++++++++++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
index f62873f..ae9fb20 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
@@ -901,17 +901,42 @@ int amdgpu_ras_query_error_status(struct amdgpu_device 
*adev,
        info->ce_count = obj->err_data.ce_count;
 
        if (err_data.ce_count) {
-               dev_info(adev->dev, "%ld correctable hardware errors "
+               if (adev->smuio.funcs &&
+                   adev->smuio.funcs->get_socket_id &&
+                   adev->smuio.funcs->get_die_id) {
+                       dev_info(adev->dev, "socket: %d, die: %d "
+                                       "%ld correctable hardware errors "
                                        "detected in %s block, no user "
                                        "action is needed.\n",
+                                       adev->smuio.funcs->get_socket_id(adev),
+                                       adev->smuio.funcs->get_die_id(adev),
                                        obj->err_data.ce_count,
                                        ras_block_str(info->head.block));
+               } else {
+                       dev_info(adev->dev, "%ld correctable hardware errors "
+                                       "detected in %s block, no user "
+                                       "action is needed.\n",
+                                       obj->err_data.ce_count,
+                                       ras_block_str(info->head.block));
+               }
        }
        if (err_data.ue_count) {
-               dev_info(adev->dev, "%ld uncorrectable hardware errors "
+               if (adev->smuio.funcs &&
+                   adev->smuio.funcs->get_socket_id &&
+                   adev->smuio.funcs->get_die_id) {
+                       dev_info(adev->dev, "socket: %d, die: %d "
+                                       "%ld uncorrectable hardware errors "
                                        "detected in %s block\n",
+                                       adev->smuio.funcs->get_socket_id(adev),
+                                       adev->smuio.funcs->get_die_id(adev),
                                        obj->err_data.ue_count,
                                        ras_block_str(info->head.block));
+               } else {
+                       dev_info(adev->dev, "%ld uncorrectable hardware errors "
+                                       "detected in %s block\n",
+                                       obj->err_data.ue_count,
+                                       ras_block_str(info->head.block));
+               }
        }
 
        return 0;
--
2.7.4
_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to