Lines Matching full:mci
150 static void x38_clear_error_info(struct mem_ctl_info *mci) in x38_clear_error_info() argument
154 pdev = to_pci_dev(mci->pdev); in x38_clear_error_info()
164 static void x38_get_and_clear_error_info(struct mem_ctl_info *mci, in x38_get_and_clear_error_info() argument
168 void __iomem *window = mci->pvt_info; in x38_get_and_clear_error_info()
170 pdev = to_pci_dev(mci->pdev); in x38_get_and_clear_error_info()
200 x38_clear_error_info(mci); in x38_get_and_clear_error_info()
203 static void x38_process_error_info(struct mem_ctl_info *mci, in x38_process_error_info() argument
213 edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, 0, 0, 0, in x38_process_error_info()
222 edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, in x38_process_error_info()
228 edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, in x38_process_error_info()
237 static void x38_check(struct mem_ctl_info *mci) in x38_check() argument
241 x38_get_and_clear_error_info(mci, &info); in x38_check()
242 x38_process_error_info(mci, &info); in x38_check()
321 struct mem_ctl_info *mci = NULL; in x38_probe1() local
344 mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0); in x38_probe1()
345 if (!mci) in x38_probe1()
348 edac_dbg(3, "MC: init mci\n"); in x38_probe1()
350 mci->pdev = &pdev->dev; in x38_probe1()
351 mci->mtype_cap = MEM_FLAG_DDR2; in x38_probe1()
353 mci->edac_ctl_cap = EDAC_FLAG_SECDED; in x38_probe1()
354 mci->edac_cap = EDAC_FLAG_SECDED; in x38_probe1()
356 mci->mod_name = EDAC_MOD_STR; in x38_probe1()
357 mci->ctl_name = x38_devs[dev_idx].ctl_name; in x38_probe1()
358 mci->dev_name = pci_name(pdev); in x38_probe1()
359 mci->edac_check = x38_check; in x38_probe1()
360 mci->ctl_page_to_phys = NULL; in x38_probe1()
361 mci->pvt_info = window; in x38_probe1()
371 for (i = 0; i < mci->nr_csrows; i++) { in x38_probe1()
373 struct csrow_info *csrow = mci->csrows[i]; in x38_probe1()
393 x38_clear_error_info(mci); in x38_probe1()
396 if (edac_mc_add_mc(mci)) { in x38_probe1()
407 if (mci) in x38_probe1()
408 edac_mc_free(mci); in x38_probe1()
431 struct mem_ctl_info *mci; in x38_remove_one() local
435 mci = edac_mc_del_mc(&pdev->dev); in x38_remove_one()
436 if (!mci) in x38_remove_one()
439 iounmap(mci->pvt_info); in x38_remove_one()
441 edac_mc_free(mci); in x38_remove_one()