Lines Matching refs:mca_set
156 static void amdgpu_mca_bank_set_init(struct mca_bank_set *mca_set) in amdgpu_mca_bank_set_init() argument
158 if (!mca_set) in amdgpu_mca_bank_set_init()
161 memset(mca_set, 0, sizeof(*mca_set)); in amdgpu_mca_bank_set_init()
162 INIT_LIST_HEAD(&mca_set->list); in amdgpu_mca_bank_set_init()
165 static int amdgpu_mca_bank_set_add_entry(struct mca_bank_set *mca_set, struct mca_bank_entry *entry) in amdgpu_mca_bank_set_add_entry() argument
179 list_add_tail(&node->node, &mca_set->list); in amdgpu_mca_bank_set_add_entry()
181 mca_set->nr_entries++; in amdgpu_mca_bank_set_add_entry()
186 static int amdgpu_mca_bank_set_merge(struct mca_bank_set *mca_set, struct mca_bank_set *new) in amdgpu_mca_bank_set_merge() argument
191 amdgpu_mca_bank_set_add_entry(mca_set, &node->entry); in amdgpu_mca_bank_set_merge()
196 static void amdgpu_mca_bank_set_remove_node(struct mca_bank_set *mca_set, struct mca_bank_node *nod… in amdgpu_mca_bank_set_remove_node() argument
204 mca_set->nr_entries--; in amdgpu_mca_bank_set_remove_node()
207 static void amdgpu_mca_bank_set_release(struct mca_bank_set *mca_set) in amdgpu_mca_bank_set_release() argument
211 if (list_empty(&mca_set->list)) in amdgpu_mca_bank_set_release()
214 list_for_each_entry_safe(node, tmp, &mca_set->list, node) in amdgpu_mca_bank_set_release()
215 amdgpu_mca_bank_set_remove_node(mca_set, node); in amdgpu_mca_bank_set_release()
236 amdgpu_mca_bank_set_init(&mca_cache->mca_set); in amdgpu_mca_init()
252 amdgpu_mca_bank_set_release(&mca_cache->mca_set); in amdgpu_mca_fini()
369 …_mca_set(struct amdgpu_device *adev, enum amdgpu_mca_error_type type, struct mca_bank_set *mca_set, in amdgpu_mca_smu_get_mca_set() argument
376 if (!mca_set) in amdgpu_mca_smu_get_mca_set()
392 amdgpu_mca_bank_set_add_entry(mca_set, &entry); in amdgpu_mca_smu_get_mca_set()
416 struct mca_bank_set *mca_set, struct ras_err_data *err_data) in amdgpu_mca_dispatch_mca_set() argument
424 if (!mca_set) in amdgpu_mca_dispatch_mca_set()
427 if (!mca_set->nr_entries) in amdgpu_mca_dispatch_mca_set()
430 list_for_each_entry_safe(node, tmp, &mca_set->list, node) { in amdgpu_mca_dispatch_mca_set()
458 amdgpu_mca_bank_set_remove_node(mca_set, node); in amdgpu_mca_dispatch_mca_set()
470 ret = amdgpu_mca_bank_set_merge(&mca_cache->mca_set, new); in amdgpu_mca_add_mca_set_to_cache()
479 struct mca_bank_set mca_set; in amdgpu_mca_smu_log_ras_error() local
483 amdgpu_mca_bank_set_init(&mca_set); in amdgpu_mca_smu_log_ras_error()
485 ret = amdgpu_mca_smu_get_mca_set(adev, type, &mca_set, qctx); in amdgpu_mca_smu_log_ras_error()
489 ret = amdgpu_mca_dispatch_mca_set(adev, blk, type, &mca_set, err_data); in amdgpu_mca_smu_log_ras_error()
494 if (mca_set.nr_entries) { in amdgpu_mca_smu_log_ras_error()
495 ret = amdgpu_mca_add_mca_set_to_cache(adev, type, &mca_set); in amdgpu_mca_smu_log_ras_error()
502 if (mca_cache->mca_set.nr_entries) in amdgpu_mca_smu_log_ras_error()
503 ret = amdgpu_mca_dispatch_mca_set(adev, blk, type, &mca_cache->mca_set, err_data); in amdgpu_mca_smu_log_ras_error()
507 amdgpu_mca_bank_set_release(&mca_set); in amdgpu_mca_smu_log_ras_error()
551 struct mca_bank_set mca_set; in mca_dump_show() local
555 amdgpu_mca_bank_set_init(&mca_set); in mca_dump_show()
558 ret = amdgpu_mca_smu_get_mca_set(adev, type, &mca_set, &qctx); in mca_dump_show()
563 type == AMDGPU_MCA_ERROR_TYPE_UE ? "UE" : "CE", mca_set.nr_entries); in mca_dump_show()
565 if (!mca_set.nr_entries) in mca_dump_show()
568 list_for_each_entry(node, &mca_set.list, node) in mca_dump_show()
572 ret = amdgpu_mca_add_mca_set_to_cache(adev, type, &mca_set); in mca_dump_show()
575 amdgpu_mca_bank_set_release(&mca_set); in mca_dump_show()