drm/amdgpu: sysfs node disable query error count during gpu reset
authorYiPeng Chai <YiPeng.Chai@amd.com>
Mon, 1 Jul 2024 06:43:17 +0000 (14:43 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 8 Jul 2024 20:46:14 +0000 (16:46 -0400)
Sysfs node disable query error count during gpu reset.

Signed-off-by: YiPeng Chai <YiPeng.Chai@amd.com>
Reviewed-by: Stanley.Yang <Stanley.Yang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/aldebaran.c
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c

index d0a8da6..b0f95a7 100644 (file)
@@ -316,8 +316,6 @@ static int aldebaran_mode2_restore_ip(struct amdgpu_device *adev)
                adev->ip_blocks[i].status.late_initialized = true;
        }
 
-       amdgpu_ras_set_error_query_ready(adev, true);
-
        amdgpu_device_set_cg_state(adev, AMD_CG_STATE_GATE);
        amdgpu_device_set_pg_state(adev, AMD_PG_STATE_GATE);
 
index b27336a..bcacf2e 100644 (file)
@@ -3142,7 +3142,8 @@ static int amdgpu_device_ip_late_init(struct amdgpu_device *adev)
                return r;
        }
 
-       amdgpu_ras_set_error_query_ready(adev, true);
+       if (!amdgpu_in_reset(adev))
+               amdgpu_ras_set_error_query_ready(adev, true);
 
        amdgpu_device_set_cg_state(adev, AMD_CG_STATE_GATE);
        amdgpu_device_set_pg_state(adev, AMD_PG_STATE_GATE);
index 6d1f974..53b5ac2 100644 (file)
@@ -1295,6 +1295,9 @@ ssize_t amdgpu_ras_aca_sysfs_read(struct device *dev, struct device_attribute *a
                .head = obj->head,
        };
 
+       if (!amdgpu_ras_get_error_query_ready(obj->adev))
+               return sysfs_emit(buf, "Query currently inaccessible\n");
+
        if (amdgpu_ras_query_error_status(obj->adev, &info))
                return -EINVAL;