Lines Matching refs:mci
222 static void ie31200_clear_error_info(struct mem_ctl_info *mci) in ie31200_clear_error_info() argument
228 pci_write_bits16(to_pci_dev(mci->pdev), IE31200_ERRSTS, in ie31200_clear_error_info()
232 static void ie31200_get_and_clear_error_info(struct mem_ctl_info *mci, in ie31200_get_and_clear_error_info() argument
236 struct ie31200_priv *priv = mci->pvt_info; in ie31200_get_and_clear_error_info()
238 pdev = to_pci_dev(mci->pdev); in ie31200_get_and_clear_error_info()
268 ie31200_clear_error_info(mci); in ie31200_get_and_clear_error_info()
271 static void ie31200_process_error_info(struct mem_ctl_info *mci, in ie31200_process_error_info() argument
281 edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, 0, 0, 0, in ie31200_process_error_info()
289 edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, in ie31200_process_error_info()
295 edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, in ie31200_process_error_info()
305 static void ie31200_check(struct mem_ctl_info *mci) in ie31200_check() argument
309 edac_dbg(1, "MC%d\n", mci->mc_idx); in ie31200_check()
310 ie31200_get_and_clear_error_info(mci, &info); in ie31200_check()
311 ie31200_process_error_info(mci, &info); in ie31200_check()
373 struct mem_ctl_info *mci = NULL; in ie31200_probe1() local
395 mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, in ie31200_probe1()
397 if (!mci) in ie31200_probe1()
407 mci->pdev = &pdev->dev; in ie31200_probe1()
409 mci->mtype_cap = MEM_FLAG_DDR4; in ie31200_probe1()
411 mci->mtype_cap = MEM_FLAG_DDR3; in ie31200_probe1()
412 mci->edac_ctl_cap = EDAC_FLAG_SECDED; in ie31200_probe1()
413 mci->edac_cap = EDAC_FLAG_SECDED; in ie31200_probe1()
414 mci->mod_name = EDAC_MOD_STR; in ie31200_probe1()
415 mci->mod_ver = IE31200_REVISION; in ie31200_probe1()
416 mci->ctl_name = ie31200_devs[dev_idx].ctl_name; in ie31200_probe1()
417 mci->dev_name = pci_name(pdev); in ie31200_probe1()
418 mci->edac_check = ie31200_check; in ie31200_probe1()
419 mci->ctl_page_to_phys = NULL; in ie31200_probe1()
420 priv = mci->pvt_info; in ie31200_probe1()
464 dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, in ie31200_probe1()
465 mci->n_layers, (i * 2) + 1, in ie31200_probe1()
477 dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, in ie31200_probe1()
478 mci->n_layers, i * 2, j, 0); in ie31200_probe1()
491 ie31200_clear_error_info(mci); in ie31200_probe1()
493 if (edac_mc_add_mc(mci)) { in ie31200_probe1()
507 edac_mc_free(mci); in ie31200_probe1()
525 struct mem_ctl_info *mci; in ie31200_remove_one() local
529 mci = edac_mc_del_mc(&pdev->dev); in ie31200_remove_one()
530 if (!mci) in ie31200_remove_one()
532 priv = mci->pvt_info; in ie31200_remove_one()
534 edac_mc_free(mci); in ie31200_remove_one()