[PATCH 5/6] drm/amdgpu: reuse amdgpu_ras_reset_error_count code

Tao Zhou tao.zhou1 at amd.com
Tue Oct 17 12:45:51 UTC 2023


To simplify the code of amdgpu_ras_reset_error_status without logical
change.

Signed-off-by: Tao Zhou <tao.zhou1 at amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 30 +++++++------------------
 1 file changed, 8 insertions(+), 22 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
index 806c6d4deb63..b4e8d0c629cc 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
@@ -1181,17 +1181,20 @@ int amdgpu_ras_reset_error_count(struct amdgpu_device *adev,
 	struct amdgpu_ras *ras = amdgpu_ras_get_context(adev);
 	const struct amdgpu_mca_smu_funcs *mca_funcs = adev->mca.mca_funcs;
 
-	if (!block_obj || !block_obj->hw_ops)
-		return 0;
+	if (!block_obj || !block_obj->hw_ops) {
+		dev_dbg_once(adev->dev, "%s doesn't config RAS function\n",
+				ras_block_str(block));
+		return -EOPNOTSUPP;
+	}
 
 	/* skip ras error reset in gpu reset */
 	if (amdgpu_in_reset(adev) && atomic_read(&ras->in_recovery) &&
 	    mca_funcs && mca_funcs->mca_set_debug_mode)
-		return 0;
+		return -EOPNOTSUPP;
 
 	if (!amdgpu_ras_is_supported(adev, block) ||
 	    !amdgpu_ras_get_mca_debug_mode(adev))
-		return 0;
+		return -EOPNOTSUPP;
 
 	if (block_obj->hw_ops->reset_ras_error_count)
 		block_obj->hw_ops->reset_ras_error_count(adev);
@@ -1203,27 +1206,10 @@ int amdgpu_ras_reset_error_status(struct amdgpu_device *adev,
 		enum amdgpu_ras_block block)
 {
 	struct amdgpu_ras_block_object *block_obj = amdgpu_ras_get_ras_block(adev, block, 0);
-	struct amdgpu_ras *ras = amdgpu_ras_get_context(adev);
-	const struct amdgpu_mca_smu_funcs *mca_funcs = adev->mca.mca_funcs;
-
-	if (!block_obj || !block_obj->hw_ops) {
-		dev_dbg_once(adev->dev, "%s doesn't config RAS function\n",
-			     ras_block_str(block));
-		return 0;
-	}
 
-	/* skip ras error reset in gpu reset */
-	if (amdgpu_in_reset(adev) && atomic_read(&ras->in_recovery) &&
-	    mca_funcs && mca_funcs->mca_set_debug_mode)
+	if (amdgpu_ras_reset_error_count(adev, block) == -EOPNOTSUPP)
 		return 0;
 
-	if (!amdgpu_ras_is_supported(adev, block) ||
-	    !amdgpu_ras_get_mca_debug_mode(adev))
-		return 0;
-
-	if (block_obj->hw_ops->reset_ras_error_count)
-		block_obj->hw_ops->reset_ras_error_count(adev);
-
 	if ((block == AMDGPU_RAS_BLOCK__GFX) ||
 	    (block == AMDGPU_RAS_BLOCK__MMHUB)) {
 		if (block_obj->hw_ops->reset_ras_error_status)
-- 
2.35.1



More information about the amd-gfx mailing list