• 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

129 #define ppc4xx_edac_mc_printk(level, mci, fmt, arg...) \
130 edac_mc_chipset_printk(mci, level, "PPC4xx", fmt, ##arg)
301 * @mci: A pointer to the EDAC memory controller instance associated
317 ppc4xx_edac_generate_bank_message(const struct mem_ctl_info *mci,
325 n = snprintf(buffer, size, "%s: Banks: ", mci->dev_name);
334 for (rows = 0, row = 0; row < mci->nr_csrows; row++) {
363 * @mci: A pointer to the EDAC memory controller instance associated
379 ppc4xx_edac_generate_checkbit_message(const struct mem_ctl_info *mci,
384 const struct ppc4xx_edac_pdata *pdata = mci->pvt_info;
421 * @mci: A pointer to the EDAC memory controller instance associated
437 ppc4xx_edac_generate_lane_message(const struct mem_ctl_info *mci,
486 * @mci: A pointer to the EDAC memory controller instance associated
502 ppc4xx_edac_generate_ecc_message(const struct mem_ctl_info *mci,
509 n = ppc4xx_edac_generate_bank_message(mci, status, buffer, size);
518 n = ppc4xx_edac_generate_checkbit_message(mci, status, buffer, size);
527 n = ppc4xx_edac_generate_lane_message(mci, status, buffer, size);
542 * @mci: A pointer to the EDAC memory controller instance associated
558 ppc4xx_edac_generate_plb_message(const struct mem_ctl_info *mci,
587 * @mci: A pointer to the EDAC memory controller instance associated
599 ppc4xx_edac_generate_message(const struct mem_ctl_info *mci,
609 n = ppc4xx_edac_generate_ecc_message(mci, status, buffer, size);
617 ppc4xx_edac_generate_plb_message(mci, status, buffer, size);
623 * @mci: A pointer to the EDAC memory controller instance
632 ppc4xx_ecc_dump_status(const struct mem_ctl_info *mci,
637 ppc4xx_edac_generate_message(mci, status, message, sizeof(message));
639 ppc4xx_edac_mc_printk(KERN_INFO, mci,
657 * @mci: A pointer to the EDAC memory controller instance
669 ppc4xx_ecc_get_status(const struct mem_ctl_info *mci,
672 const struct ppc4xx_edac_pdata *pdata = mci->pvt_info;
684 * @mci: A pointer to the EDAC memory controller instance
694 ppc4xx_ecc_clear_status(const struct mem_ctl_info *mci,
697 const struct ppc4xx_edac_pdata *pdata = mci->pvt_info;
709 * @mci: A pointer to the EDAC memory controller instance
721 ppc4xx_edac_handle_ce(struct mem_ctl_info *mci,
727 ppc4xx_edac_generate_message(mci, status, message, sizeof(message));
729 for (row = 0; row < mci->nr_csrows; row++)
731 edac_mc_handle_ce_no_info(mci, message);
736 * @mci: A pointer to the EDAC memory controller instance
746 ppc4xx_edac_handle_ue(struct mem_ctl_info *mci,
755 ppc4xx_edac_generate_message(mci, status, message, sizeof(message));
757 for (row = 0; row < mci->nr_csrows; row++)
759 edac_mc_handle_ue(mci, page, offset, row, message);
764 * @mci: A pointer to the EDAC memory controller instance
773 ppc4xx_edac_check(struct mem_ctl_info *mci)
780 ppc4xx_ecc_get_status(mci, &status);
784 ppc4xx_ecc_dump_status(mci, &status);
788 ppc4xx_edac_handle_ue(mci, &status);
791 ppc4xx_edac_handle_ce(mci, &status);
793 ppc4xx_ecc_clear_status(mci, &status);
812 struct mem_ctl_info *mci = dev_id;
814 ppc4xx_edac_check(mci);
877 * @mci: A pointer to the EDAC memory controller instance
892 ppc4xx_edac_init_csrows(struct mem_ctl_info *mci, u32 mcopt1)
894 const struct ppc4xx_edac_pdata *pdata = mci->pvt_info;
910 if (mci->edac_cap & EDAC_FLAG_SECDED)
912 else if (mci->edac_cap & EDAC_FLAG_EC)
922 for (row = 0; row < mci->nr_csrows; row++) {
923 struct csrow_info *csi = &mci->csrows[row];
955 ppc4xx_edac_mc_printk(KERN_ERR, mci,
996 * @mci: A pointer to the EDAC memory controller instance being
1016 ppc4xx_edac_mc_init(struct mem_ctl_info *mci,
1032 mci->dev = &op->dev;
1034 dev_set_drvdata(mci->dev, mci);
1036 pdata = mci->pvt_info;
1044 mci->mtype_cap = (MEM_FLAG_DDR | MEM_FLAG_RDDR |
1047 mci->edac_ctl_cap = (EDAC_FLAG_NONE |
1051 mci->scrub_cap = SCRUB_NONE;
1052 mci->scrub_mode = SCRUB_NONE;
1061 mci->edac_cap = EDAC_FLAG_EC;
1064 mci->edac_cap = (EDAC_FLAG_EC | EDAC_FLAG_SECDED);
1065 mci->scrub_mode = SCRUB_SW_SRC;
1068 mci->edac_cap = EDAC_FLAG_NONE;
1074 mci->mod_name = PPC4XX_EDAC_MODULE_NAME;
1075 mci->mod_ver = PPC4XX_EDAC_MODULE_REVISION;
1076 mci->ctl_name = match->compatible,
1077 mci->dev_name = np->full_name;
1081 mci->edac_check = ppc4xx_edac_check;
1082 mci->ctl_page_to_phys = NULL;
1086 status = ppc4xx_edac_init_csrows(mci, mcopt1);
1089 ppc4xx_edac_mc_printk(KERN_ERR, mci,
1099 * @mci: A pointer to the EDAC memory controller instance
1111 ppc4xx_edac_register_irq(struct platform_device *op, struct mem_ctl_info *mci)
1115 struct ppc4xx_edac_pdata *pdata = mci->pvt_info;
1122 ppc4xx_edac_mc_printk(KERN_ERR, mci,
1132 mci);
1135 ppc4xx_edac_mc_printk(KERN_ERR, mci,
1146 mci);
1149 ppc4xx_edac_mc_printk(KERN_ERR, mci,
1156 ppc4xx_edac_mc_printk(KERN_INFO, mci, "ECCDED irq is %d\n", ded_irq);
1157 ppc4xx_edac_mc_printk(KERN_INFO, mci, "ECCSEC irq is %d\n", sec_irq);
1165 free_irq(sec_irq, mci);
1168 free_irq(ded_irq, mci);
1247 struct mem_ctl_info *mci = NULL;
1294 mci = edac_mc_alloc(sizeof(struct ppc4xx_edac_pdata),
1299 if (mci == NULL) {
1307 status = ppc4xx_edac_mc_init(mci, op, match, &dcr_host, mcopt1);
1310 ppc4xx_edac_mc_printk(KERN_ERR, mci,
1321 if (edac_mc_add_mc(mci)) {
1322 ppc4xx_edac_mc_printk(KERN_ERR, mci,
1329 status = ppc4xx_edac_register_irq(op, mci);
1340 edac_mc_del_mc(mci->dev);
1343 edac_mc_free(mci);
1364 struct mem_ctl_info *mci = dev_get_drvdata(&op->dev);
1365 struct ppc4xx_edac_pdata *pdata = mci->pvt_info;
1368 free_irq(pdata->irqs.sec, mci);
1369 free_irq(pdata->irqs.ded, mci);
1374 edac_mc_del_mc(mci->dev);
1375 edac_mc_free(mci);