@@ -137,15 +137,23 @@ static int umc_v12_0_query_error_count(struct amdgpu_device *adev,
137
137
uint32_t ch_inst , void * data )
138
138
{
139
139
struct ras_err_data * err_data = (struct ras_err_data * )data ;
140
+ unsigned long ue_count = 0 , ce_count = 0 ;
141
+
142
+ /* NOTE: node_inst is converted by adev->umc.active_mask and the range is [0-3],
143
+ * which can be used as die ID directly */
144
+ struct amdgpu_smuio_mcm_config_info mcm_info = {
145
+ .socket_id = adev -> smuio .funcs -> get_socket_id (adev ),
146
+ .die_id = node_inst ,
147
+ };
148
+
140
149
uint64_t umc_reg_offset =
141
150
get_umc_v12_0_reg_offset (adev , node_inst , umc_inst , ch_inst );
142
151
143
- umc_v12_0_query_correctable_error_count (adev ,
144
- umc_reg_offset ,
145
- & (err_data -> ce_count ));
146
- umc_v12_0_query_uncorrectable_error_count (adev ,
147
- umc_reg_offset ,
148
- & (err_data -> ue_count ));
152
+ umc_v12_0_query_correctable_error_count (adev , umc_reg_offset , & ce_count );
153
+ umc_v12_0_query_uncorrectable_error_count (adev , umc_reg_offset , & ue_count );
154
+
155
+ amdgpu_ras_error_statistic_ue_count (err_data , & mcm_info , ue_count );
156
+ amdgpu_ras_error_statistic_ce_count (err_data , & mcm_info , ce_count );
149
157
150
158
return 0 ;
151
159
}
0 commit comments