Lines Matching defs:mci
43 #define i5400_mc_printk(mci, level, fmt, arg...) \
44 edac_mc_chipset_printk(mci, level, "i5400", fmt, ##arg)
445 static void i5400_get_error_info(struct mem_ctl_info *mci,
451 pvt = mci->pvt_info;
515 * i5400_proccess_non_recoverable_info(struct mem_ctl_info *mci,
521 static void i5400_proccess_non_recoverable_info(struct mem_ctl_info *mci,
575 edac_mc_handle_fbd_ue(mci, rank, channel, channel + 1, msg);
579 * i5400_process_fatal_error_info(struct mem_ctl_info *mci,
585 static void i5400_process_nonfatal_error_info(struct mem_ctl_info *mci,
606 i5400_proccess_non_recoverable_info(mci, info, allErrors);
646 edac_mc_handle_fbd_ce(mci, rank, channel, msg);
656 i5400_mc_printk(mci, KERN_EMERG,
665 static void i5400_process_error_info(struct mem_ctl_info *mci,
671 i5400_proccess_non_recoverable_info(mci, info, allErrors);
674 i5400_process_nonfatal_error_info(mci, info);
683 static void i5400_clear_error(struct mem_ctl_info *mci)
687 i5400_get_error_info(mci, &info);
694 static void i5400_check_error(struct mem_ctl_info *mci)
697 debugf4("MC%d: %s: %s()\n", mci->mc_idx, __FILE__, __func__);
698 i5400_get_error_info(mci, &info);
699 i5400_process_error_info(mci, &info);
706 static void i5400_put_devices(struct mem_ctl_info *mci)
710 pvt = mci->pvt_info;
725 static int i5400_get_devices(struct mem_ctl_info *mci, int dev_idx)
730 pvt = mci->pvt_info;
805 i5400_put_devices(mci);
1014 static void i5400_get_mc_regs(struct mem_ctl_info *mci)
1024 pvt = mci->pvt_info;
1123 * the mci control structure with the
1130 static int i5400_init_csrows(struct mem_ctl_info *mci)
1141 pvt = mci->pvt_info;
1149 p_csrow = &mci->csrows[csrow];
1193 static void i5400_enable_error_reporting(struct mem_ctl_info *mci)
1198 pvt = mci->pvt_info;
1220 struct mem_ctl_info *mci;
1253 mci = edac_mc_alloc(sizeof(*pvt), num_csrows, num_channels, 0);
1255 if (mci == NULL)
1258 debugf0("MC: %s: %s(): mci = %p\n", __FILE__, __func__, mci);
1260 mci->dev = &pdev->dev; /* record ptr to the generic device */
1262 pvt = mci->pvt_info;
1268 if (i5400_get_devices(mci, dev_idx))
1272 i5400_get_mc_regs(mci); /* retrieve the hardware registers */
1274 mci->mc_idx = 0;
1275 mci->mtype_cap = MEM_FLAG_FB_DDR2;
1276 mci->edac_ctl_cap = EDAC_FLAG_NONE;
1277 mci->edac_cap = EDAC_FLAG_NONE;
1278 mci->mod_name = "i5400_edac.c";
1279 mci->mod_ver = I5400_REVISION;
1280 mci->ctl_name = i5400_devs[dev_idx].ctl_name;
1281 mci->dev_name = pci_name(pdev);
1282 mci->ctl_page_to_phys = NULL;
1285 mci->edac_check = i5400_check_error;
1289 if (i5400_init_csrows(mci)) {
1290 debugf0("MC: Setting mci->edac_cap to EDAC_FLAG_NONE\n"
1293 mci->edac_cap = EDAC_FLAG_NONE; /* no csrows found */
1296 i5400_enable_error_reporting(mci);
1300 if (edac_mc_add_mc(mci)) {
1306 i5400_clear_error(mci);
1324 i5400_put_devices(mci);
1327 edac_mc_free(mci);
1360 struct mem_ctl_info *mci;
1367 mci = edac_mc_del_mc(&pdev->dev);
1368 if (!mci)
1372 i5400_put_devices(mci);
1374 edac_mc_free(mci);