Lines Matching defs:mci

25 #define i82975x_mc_printk(mci, level, fmt, arg...) \
26 edac_mc_chipset_printk(mci, level, "i82975x", fmt, ##arg)
238 static void i82975x_get_error_info(struct mem_ctl_info *mci,
243 pdev = to_pci_dev(mci->dev);
277 static int i82975x_process_error_info(struct mem_ctl_info *mci,
290 edac_mc_handle_ce_no_info(mci, "UE overwrote CE");
299 row = edac_mc_find_csrow_by_page(mci, page);
302 i82975x_mc_printk(mci, KERN_ERR, "error processing EAP:\n"
309 chan = (mci->csrows[row].nr_channels == 1) ? 0 : info->eap & 1;
312 (1 << mci->csrows[row].grain));
315 edac_mc_handle_ue(mci, page, offst , row, "i82975x UE");
317 edac_mc_handle_ce(mci, page, offst, info->derrsyn, row,
323 static void i82975x_check(struct mem_ctl_info *mci)
327 debugf1("MC%d: %s()\n", mci->mc_idx, __func__);
328 i82975x_get_error_info(mci, &info);
329 i82975x_process_error_info(mci, &info, 1);
363 static void i82975x_init_csrows(struct mem_ctl_info *mci,
387 for (index = 0; index < mci->nr_csrows; index++) {
388 csrow = &mci->csrows[index];
465 struct mem_ctl_info *mci;
534 mci = edac_mc_alloc(sizeof(*pvt), I82975X_NR_CSROWS(chans),
536 if (!mci) {
541 debugf3("%s(): init mci\n", __func__);
542 mci->dev = &pdev->dev;
543 mci->mtype_cap = MEM_FLAG_DDR2;
544 mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED;
545 mci->edac_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED;
546 mci->mod_name = EDAC_MOD_STR;
547 mci->mod_ver = I82975X_REVISION;
548 mci->ctl_name = i82975x_devs[dev_idx].ctl_name;
549 mci->dev_name = pci_name(pdev);
550 mci->edac_check = i82975x_check;
551 mci->ctl_page_to_phys = NULL;
553 pvt = (struct i82975x_pvt *) mci->pvt_info;
555 i82975x_init_csrows(mci, pdev, mch_window);
556 mci->scrub_mode = SCRUB_HW_SRC;
557 i82975x_get_error_info(mci, &discard); /* clear counters */
560 if (edac_mc_add_mc(mci)) {
570 edac_mc_free(mci);
599 struct mem_ctl_info *mci;
604 mci = edac_mc_del_mc(&pdev->dev);
605 if (mci == NULL)
608 pvt = mci->pvt_info;
612 edac_mc_free(mci);