Lines Matching defs:mci

40 #define e7xxx_mc_printk(mci, level, fmt, arg...) \
41 edac_mc_chipset_printk(mci, level, "e7xxx", fmt, ##arg)
182 static unsigned long ctl_page_to_phys(struct mem_ctl_info *mci,
186 struct e7xxx_pvt *pvt = (struct e7xxx_pvt *)mci->pvt_info;
203 static void process_ce(struct mem_ctl_info *mci, struct e7xxx_error_info *info)
218 row = edac_mc_find_csrow_by_page(mci, page);
221 edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, page, 0, syndrome,
225 static void process_ce_no_info(struct mem_ctl_info *mci)
228 edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, 0, 0, 0, -1, -1, -1,
232 static void process_ue(struct mem_ctl_info *mci, struct e7xxx_error_info *info)
242 row = edac_mc_find_csrow_by_page(mci, block_page);
244 edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, block_page, 0, 0,
248 static void process_ue_no_info(struct mem_ctl_info *mci)
252 edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, 0, 0, 0, -1, -1, -1,
256 static void e7xxx_get_error_info(struct mem_ctl_info *mci,
261 pvt = (struct e7xxx_pvt *)mci->pvt_info;
284 static int e7xxx_process_error_info(struct mem_ctl_info *mci,
297 process_ce(mci, info);
304 process_ue(mci, info);
312 process_ce_no_info(mci);
314 process_ce(mci, info);
323 process_ue_no_info(mci);
325 process_ue(mci, info);
332 static void e7xxx_check(struct mem_ctl_info *mci)
336 e7xxx_get_error_info(mci, &info);
337 e7xxx_process_error_info(mci, &info, 1);
353 static void e7xxx_init_csrows(struct mem_ctl_info *mci, struct pci_dev *pdev,
376 for (index = 0; index < mci->nr_csrows; index++) {
379 csrow = mci->csrows[index];
400 mci->edac_cap |= EDAC_FLAG_S4ECD4ED;
403 mci->edac_cap |= EDAC_FLAG_SECDED;
423 struct mem_ctl_info *mci = NULL;
430 edac_dbg(0, "mci\n");
449 mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt));
450 if (mci == NULL)
453 edac_dbg(3, "init mci\n");
454 mci->mtype_cap = MEM_FLAG_RDDR;
455 mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED |
458 mci->mod_name = EDAC_MOD_STR;
459 mci->pdev = &pdev->dev;
461 pvt = (struct e7xxx_pvt *)mci->pvt_info;
473 edac_dbg(3, "more mci init\n");
474 mci->ctl_name = pvt->dev_info->ctl_name;
475 mci->dev_name = pci_name(pdev);
476 mci->edac_check = e7xxx_check;
477 mci->ctl_page_to_phys = ctl_page_to_phys;
478 e7xxx_init_csrows(mci, pdev, dev_idx, drc);
479 mci->edac_cap |= EDAC_FLAG_NONE;
493 e7xxx_get_error_info(mci, &discard);
498 if (edac_mc_add_mc(mci)) {
522 edac_mc_free(mci);
539 struct mem_ctl_info *mci;
547 if ((mci = edac_mc_del_mc(&pdev->dev)) == NULL)
550 pvt = (struct e7xxx_pvt *)mci->pvt_info;
552 edac_mc_free(mci);