drm/amdgpu: Print once if RAS unsupported
authorLuben Tuikov <luben.tuikov@amd.com>
Thu, 3 Feb 2022 22:05:12 +0000 (17:05 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 7 Feb 2022 22:14:16 +0000 (17:14 -0500)
MESA polls for errors every 2-3 seconds. Printing with dev_info() causes
the dmesg log to fill up with the same message, e.g,

[18028.206676] amdgpu 0000:0b:00.0: amdgpu: df doesn't config ras function.

Make it dev_dbg_once(), as it isn't something correctible during boot or
thereafter, so printing just once is sufficient. Also sanitize the message.

Cc: Alex Deucher <Alexander.Deucher@amd.com>
Cc: Hawking Zhang <Hawking.Zhang@amd.com>
Cc: John Clements <john.clements@amd.com>
Cc: Tao Zhou <tao.zhou1@amd.com>
Cc: yipechai <YiPeng.Chai@amd.com>
Fixes: 8b0fb0e967c1 ("drm/amdgpu: Modify gfx block to fit for the unified ras block data and ops")
Signed-off-by: Luben Tuikov <luben.tuikov@amd.com>
Reviewed-by: Alex Deucher <Alexander.Deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c

index 9d7c778c1a2d8ec0c77c777646a31a9eb42382f3..e440a5268acecf7b30ba6ad4d99a4cb0c2418e2c 100644 (file)
@@ -952,8 +952,8 @@ int amdgpu_ras_query_error_status(struct amdgpu_device *adev,
        } else {
                block_obj = amdgpu_ras_get_ras_block(adev, info->head.block, 0);
                if (!block_obj || !block_obj->hw_ops)   {
-                       dev_info(adev->dev, "%s doesn't config ras function.\n",
-                                       get_ras_block_str(&info->head));
+                       dev_dbg_once(adev->dev, "%s doesn't config RAS function\n",
+                                    get_ras_block_str(&info->head));
                        return -EINVAL;
                }
 
@@ -1028,8 +1028,8 @@ int amdgpu_ras_reset_error_status(struct amdgpu_device *adev,
                return -EINVAL;
 
        if (!block_obj || !block_obj->hw_ops)   {
-               dev_info(adev->dev, "%s doesn't config ras function.\n",
-                               ras_block_str(block));
+               dev_dbg_once(adev->dev, "%s doesn't config RAS function\n",
+                            ras_block_str(block));
                return -EINVAL;
        }
 
@@ -1066,8 +1066,8 @@ int amdgpu_ras_error_inject(struct amdgpu_device *adev,
                return -EINVAL;
 
        if (!block_obj || !block_obj->hw_ops)   {
-               dev_info(adev->dev, "%s doesn't config ras function.\n",
-                                       get_ras_block_str(&info->head));
+               dev_dbg_once(adev->dev, "%s doesn't config RAS function\n",
+                            get_ras_block_str(&info->head));
                return -EINVAL;
        }
 
@@ -1717,8 +1717,8 @@ static void amdgpu_ras_error_status_query(struct amdgpu_device *adev,
                                        info->head.sub_block_index);
 
        if (!block_obj || !block_obj->hw_ops) {
-               dev_info(adev->dev, "%s doesn't config ras function.\n",
-                       get_ras_block_str(&info->head));
+               dev_dbg_once(adev->dev, "%s doesn't config RAS function\n",
+                            get_ras_block_str(&info->head));
                return;
        }