Original logic skips RAS error reset whenever GPU reset/RAS recovery.
Add amdgpu_uniras_enabled() check: skip reset only for uniras enabled;
non-uniras ASICs still run RAS error reset during GPU reset.
Commit "drm/amdgpu: retire MCA support" caused old ASICs UE test failure:
multiple CE/UE events across blocks. Legacy RAS relied on set_debug_mode
to decide skip RAS reset, while set_debug_mode is now only for uniras.
Use amdgpu_uniras_enabled() instead for this condition.
Fixes: b5b6231598dd ("drm/amdgpu: retire MCA support")
Signed-off-by: Ce Sun <[email protected]>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
index 6b2b8acdbf9b..c65916d84683 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
@@ -1513,7 +1513,8 @@ int amdgpu_ras_reset_error_count(struct amdgpu_device
*adev,
return -EOPNOTSUPP;
/* skip ras error reset in gpu reset */
- if (amdgpu_in_reset(adev) || amdgpu_ras_in_recovery(adev))
+ if ((amdgpu_in_reset(adev) || amdgpu_ras_in_recovery(adev)) &&
+ amdgpu_uniras_enabled(adev))
return -EOPNOTSUPP;
if (block_obj->hw_ops->reset_ras_error_count)
--
2.34.1