• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/edac/

Lines Matching refs:mci

38 #define e7xxx_mc_printk(mci, level, fmt, arg...) \
39 edac_mc_chipset_printk(mci, level, "e7xxx", fmt, ##arg)
179 static unsigned long ctl_page_to_phys(struct mem_ctl_info *mci,
183 struct e7xxx_pvt *pvt = (struct e7xxx_pvt *)mci->pvt_info;
200 static void process_ce(struct mem_ctl_info *mci, struct e7xxx_error_info *info)
213 row = edac_mc_find_csrow_by_page(mci, page);
216 edac_mc_handle_ce(mci, page, 0, syndrome, row, channel, "e7xxx CE");
219 static void process_ce_no_info(struct mem_ctl_info *mci)
222 edac_mc_handle_ce_no_info(mci, "e7xxx CE log register overflow");
225 static void process_ue(struct mem_ctl_info *mci, struct e7xxx_error_info *info)
234 row = edac_mc_find_csrow_by_page(mci, block_page);
235 edac_mc_handle_ue(mci, block_page, 0, row, "e7xxx UE");
238 static void process_ue_no_info(struct mem_ctl_info *mci)
241 edac_mc_handle_ue_no_info(mci, "e7xxx UE log register overflow");
244 static void e7xxx_get_error_info(struct mem_ctl_info *mci,
249 pvt = (struct e7xxx_pvt *)mci->pvt_info;
272 static int e7xxx_process_error_info(struct mem_ctl_info *mci,
285 process_ce(mci, info);
292 process_ue(mci, info);
300 process_ce_no_info(mci);
302 process_ce(mci, info);
311 process_ue_no_info(mci);
313 process_ue(mci, info);
320 static void e7xxx_check(struct mem_ctl_info *mci)
325 e7xxx_get_error_info(mci, &info);
326 e7xxx_process_error_info(mci, &info, 1);
342 static void e7xxx_init_csrows(struct mem_ctl_info *mci, struct pci_dev *pdev,
363 for (index = 0; index < mci->nr_csrows; index++) {
366 csrow = &mci->csrows[index];
391 mci->edac_cap |= EDAC_FLAG_S4ECD4ED;
394 mci->edac_cap |= EDAC_FLAG_SECDED;
404 struct mem_ctl_info *mci = NULL;
410 debugf0("%s(): mci\n", __func__);
415 mci = edac_mc_alloc(sizeof(*pvt), E7XXX_NR_CSROWS, drc_chan + 1, 0);
417 if (mci == NULL)
420 debugf3("%s(): init mci\n", __func__);
421 mci->mtype_cap = MEM_FLAG_RDDR;
422 mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED |
424 mci->mod_name = EDAC_MOD_STR;
425 mci->mod_ver = E7XXX_REVISION;
426 mci->dev = &pdev->dev;
428 pvt = (struct e7xxx_pvt *)mci->pvt_info;
440 debugf3("%s(): more mci init\n", __func__);
441 mci->ctl_name = pvt->dev_info->ctl_name;
442 mci->dev_name = pci_name(pdev);
443 mci->edac_check = e7xxx_check;
444 mci->ctl_page_to_phys = ctl_page_to_phys;
445 e7xxx_init_csrows(mci, pdev, dev_idx, drc);
446 mci->edac_cap |= EDAC_FLAG_NONE;
460 e7xxx_get_error_info(mci, &discard);
465 if (edac_mc_add_mc(mci)) {
489 edac_mc_free(mci);
507 struct mem_ctl_info *mci;
515 if ((mci = edac_mc_del_mc(&pdev->dev)) == NULL)
518 pvt = (struct e7xxx_pvt *)mci->pvt_info;
520 edac_mc_free(mci);