mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
drm/amdgpu: add aca deferred error type support
add aca deferred error type support Signed-off-by: Yang Wang <kevinyang.wang@amd.com> Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
70dfaa3c02
commit
865d339763
@ -434,6 +434,8 @@ static int aca_log_aca_error_data(struct aca_bank_error *bank_error, enum aca_er
|
|||||||
amdgpu_ras_error_statistic_ce_count(err_data, &mcm_info, NULL, count);
|
amdgpu_ras_error_statistic_ce_count(err_data, &mcm_info, NULL, count);
|
||||||
break;
|
break;
|
||||||
case ACA_ERROR_TYPE_DEFERRED:
|
case ACA_ERROR_TYPE_DEFERRED:
|
||||||
|
amdgpu_ras_error_statistic_de_count(err_data, &mcm_info, NULL, count);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -474,6 +476,7 @@ static int __aca_get_error_data(struct amdgpu_device *adev, struct aca_handle *h
|
|||||||
smu_type = ACA_SMU_TYPE_UE;
|
smu_type = ACA_SMU_TYPE_UE;
|
||||||
break;
|
break;
|
||||||
case ACA_ERROR_TYPE_CE:
|
case ACA_ERROR_TYPE_CE:
|
||||||
|
case ACA_ERROR_TYPE_DEFERRED:
|
||||||
smu_type = ACA_SMU_TYPE_CE;
|
smu_type = ACA_SMU_TYPE_CE;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -1291,8 +1291,8 @@ ssize_t amdgpu_ras_aca_sysfs_read(struct device *dev, struct device_attribute *a
|
|||||||
if (amdgpu_ras_query_error_status(obj->adev, &info))
|
if (amdgpu_ras_query_error_status(obj->adev, &info))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
return sysfs_emit(buf, "%s: %lu\n%s: %lu\n", "ue", info.ue_count,
|
return sysfs_emit(buf, "%s: %lu\n%s: %lu\n%s: %lu\n", "ue", info.ue_count,
|
||||||
"ce", info.ce_count);
|
"ce", info.ce_count, "de", info.ue_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int amdgpu_ras_query_error_status_helper(struct amdgpu_device *adev,
|
static int amdgpu_ras_query_error_status_helper(struct amdgpu_device *adev,
|
||||||
@ -1341,6 +1341,10 @@ static int amdgpu_ras_query_error_status_helper(struct amdgpu_device *adev,
|
|||||||
ret = amdgpu_aca_log_ras_error_data(adev, blk, ACA_ERROR_TYPE_CE, err_data);
|
ret = amdgpu_aca_log_ras_error_data(adev, blk, ACA_ERROR_TYPE_CE, err_data);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
ret = amdgpu_aca_log_ras_error_data(adev, blk, ACA_ERROR_TYPE_DEFERRED, err_data);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
} else {
|
} else {
|
||||||
/* FIXME: add code to check return value later */
|
/* FIXME: add code to check return value later */
|
||||||
amdgpu_mca_smu_log_ras_error(adev, blk, AMDGPU_MCA_ERROR_TYPE_UE, err_data, qctx);
|
amdgpu_mca_smu_log_ras_error(adev, blk, AMDGPU_MCA_ERROR_TYPE_UE, err_data, qctx);
|
||||||
|
Loading…
Reference in New Issue
Block a user