• Home
  • Raw
  • Download

Lines Matching refs:mci

124 #define ppc4xx_edac_mc_printk(level, mci, fmt, arg...) \  argument
125 edac_mc_chipset_printk(mci, level, "PPC4xx", fmt, ##arg)
311 ppc4xx_edac_generate_bank_message(const struct mem_ctl_info *mci, in ppc4xx_edac_generate_bank_message() argument
319 n = snprintf(buffer, size, "%s: Banks: ", mci->dev_name); in ppc4xx_edac_generate_bank_message()
328 for (rows = 0, row = 0; row < mci->nr_csrows; row++) { in ppc4xx_edac_generate_bank_message()
373 ppc4xx_edac_generate_checkbit_message(const struct mem_ctl_info *mci, in ppc4xx_edac_generate_checkbit_message() argument
378 const struct ppc4xx_edac_pdata *pdata = mci->pvt_info; in ppc4xx_edac_generate_checkbit_message()
431 ppc4xx_edac_generate_lane_message(const struct mem_ctl_info *mci, in ppc4xx_edac_generate_lane_message() argument
496 ppc4xx_edac_generate_ecc_message(const struct mem_ctl_info *mci, in ppc4xx_edac_generate_ecc_message() argument
503 n = ppc4xx_edac_generate_bank_message(mci, status, buffer, size); in ppc4xx_edac_generate_ecc_message()
512 n = ppc4xx_edac_generate_checkbit_message(mci, status, buffer, size); in ppc4xx_edac_generate_ecc_message()
521 n = ppc4xx_edac_generate_lane_message(mci, status, buffer, size); in ppc4xx_edac_generate_ecc_message()
552 ppc4xx_edac_generate_plb_message(const struct mem_ctl_info *mci, in ppc4xx_edac_generate_plb_message() argument
593 ppc4xx_edac_generate_message(const struct mem_ctl_info *mci, in ppc4xx_edac_generate_message() argument
603 n = ppc4xx_edac_generate_ecc_message(mci, status, buffer, size); in ppc4xx_edac_generate_message()
611 ppc4xx_edac_generate_plb_message(mci, status, buffer, size); in ppc4xx_edac_generate_message()
626 ppc4xx_ecc_dump_status(const struct mem_ctl_info *mci, in ppc4xx_ecc_dump_status() argument
631 ppc4xx_edac_generate_message(mci, status, message, sizeof(message)); in ppc4xx_ecc_dump_status()
633 ppc4xx_edac_mc_printk(KERN_INFO, mci, in ppc4xx_ecc_dump_status()
663 ppc4xx_ecc_get_status(const struct mem_ctl_info *mci, in ppc4xx_ecc_get_status() argument
666 const struct ppc4xx_edac_pdata *pdata = mci->pvt_info; in ppc4xx_ecc_get_status()
688 ppc4xx_ecc_clear_status(const struct mem_ctl_info *mci, in ppc4xx_ecc_clear_status() argument
691 const struct ppc4xx_edac_pdata *pdata = mci->pvt_info; in ppc4xx_ecc_clear_status()
715 ppc4xx_edac_handle_ce(struct mem_ctl_info *mci, in ppc4xx_edac_handle_ce() argument
721 ppc4xx_edac_generate_message(mci, status, message, sizeof(message)); in ppc4xx_edac_handle_ce()
723 for (row = 0; row < mci->nr_csrows; row++) in ppc4xx_edac_handle_ce()
725 edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, in ppc4xx_edac_handle_ce()
743 ppc4xx_edac_handle_ue(struct mem_ctl_info *mci, in ppc4xx_edac_handle_ue() argument
752 ppc4xx_edac_generate_message(mci, status, message, sizeof(message)); in ppc4xx_edac_handle_ue()
754 for (row = 0; row < mci->nr_csrows; row++) in ppc4xx_edac_handle_ue()
756 edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, in ppc4xx_edac_handle_ue()
773 ppc4xx_edac_check(struct mem_ctl_info *mci) in ppc4xx_edac_check() argument
780 ppc4xx_ecc_get_status(mci, &status); in ppc4xx_edac_check()
784 ppc4xx_ecc_dump_status(mci, &status); in ppc4xx_edac_check()
788 ppc4xx_edac_handle_ue(mci, &status); in ppc4xx_edac_check()
791 ppc4xx_edac_handle_ce(mci, &status); in ppc4xx_edac_check()
793 ppc4xx_ecc_clear_status(mci, &status); in ppc4xx_edac_check()
812 struct mem_ctl_info *mci = dev_id; in ppc4xx_edac_isr() local
814 ppc4xx_edac_check(mci); in ppc4xx_edac_isr()
889 static int ppc4xx_edac_init_csrows(struct mem_ctl_info *mci, u32 mcopt1) in ppc4xx_edac_init_csrows() argument
891 const struct ppc4xx_edac_pdata *pdata = mci->pvt_info; in ppc4xx_edac_init_csrows()
906 if (mci->edac_cap & EDAC_FLAG_SECDED) in ppc4xx_edac_init_csrows()
908 else if (mci->edac_cap & EDAC_FLAG_EC) in ppc4xx_edac_init_csrows()
918 for (row = 0; row < mci->nr_csrows; row++) { in ppc4xx_edac_init_csrows()
919 struct csrow_info *csi = mci->csrows[row]; in ppc4xx_edac_init_csrows()
951 ppc4xx_edac_mc_printk(KERN_ERR, mci, in ppc4xx_edac_init_csrows()
1006 static int ppc4xx_edac_mc_init(struct mem_ctl_info *mci, in ppc4xx_edac_mc_init() argument
1020 mci->pdev = &op->dev; in ppc4xx_edac_mc_init()
1022 dev_set_drvdata(mci->pdev, mci); in ppc4xx_edac_mc_init()
1024 pdata = mci->pvt_info; in ppc4xx_edac_mc_init()
1030 mci->mtype_cap = (MEM_FLAG_DDR | MEM_FLAG_RDDR | in ppc4xx_edac_mc_init()
1033 mci->edac_ctl_cap = (EDAC_FLAG_NONE | in ppc4xx_edac_mc_init()
1037 mci->scrub_cap = SCRUB_NONE; in ppc4xx_edac_mc_init()
1038 mci->scrub_mode = SCRUB_NONE; in ppc4xx_edac_mc_init()
1047 mci->edac_cap = EDAC_FLAG_EC; in ppc4xx_edac_mc_init()
1050 mci->edac_cap = (EDAC_FLAG_EC | EDAC_FLAG_SECDED); in ppc4xx_edac_mc_init()
1051 mci->scrub_mode = SCRUB_SW_SRC; in ppc4xx_edac_mc_init()
1054 mci->edac_cap = EDAC_FLAG_NONE; in ppc4xx_edac_mc_init()
1060 mci->mod_name = PPC4XX_EDAC_MODULE_NAME; in ppc4xx_edac_mc_init()
1061 mci->ctl_name = ppc4xx_edac_match->compatible, in ppc4xx_edac_mc_init()
1062 mci->dev_name = np->full_name; in ppc4xx_edac_mc_init()
1066 mci->edac_check = ppc4xx_edac_check; in ppc4xx_edac_mc_init()
1067 mci->ctl_page_to_phys = NULL; in ppc4xx_edac_mc_init()
1071 status = ppc4xx_edac_init_csrows(mci, mcopt1); in ppc4xx_edac_mc_init()
1074 ppc4xx_edac_mc_printk(KERN_ERR, mci, in ppc4xx_edac_mc_init()
1096 struct mem_ctl_info *mci) in ppc4xx_edac_register_irq() argument
1100 struct ppc4xx_edac_pdata *pdata = mci->pvt_info; in ppc4xx_edac_register_irq()
1107 ppc4xx_edac_mc_printk(KERN_ERR, mci, in ppc4xx_edac_register_irq()
1117 mci); in ppc4xx_edac_register_irq()
1120 ppc4xx_edac_mc_printk(KERN_ERR, mci, in ppc4xx_edac_register_irq()
1131 mci); in ppc4xx_edac_register_irq()
1134 ppc4xx_edac_mc_printk(KERN_ERR, mci, in ppc4xx_edac_register_irq()
1141 ppc4xx_edac_mc_printk(KERN_INFO, mci, "ECCDED irq is %d\n", ded_irq); in ppc4xx_edac_register_irq()
1142 ppc4xx_edac_mc_printk(KERN_INFO, mci, "ECCSEC irq is %d\n", sec_irq); in ppc4xx_edac_register_irq()
1150 free_irq(sec_irq, mci); in ppc4xx_edac_register_irq()
1153 free_irq(ded_irq, mci); in ppc4xx_edac_register_irq()
1228 struct mem_ctl_info *mci = NULL; in ppc4xx_edac_probe() local
1281 mci = edac_mc_alloc(ppc4xx_edac_instance, ARRAY_SIZE(layers), layers, in ppc4xx_edac_probe()
1283 if (mci == NULL) { in ppc4xx_edac_probe()
1291 status = ppc4xx_edac_mc_init(mci, op, &dcr_host, mcopt1); in ppc4xx_edac_probe()
1294 ppc4xx_edac_mc_printk(KERN_ERR, mci, in ppc4xx_edac_probe()
1305 if (edac_mc_add_mc(mci)) { in ppc4xx_edac_probe()
1306 ppc4xx_edac_mc_printk(KERN_ERR, mci, in ppc4xx_edac_probe()
1313 status = ppc4xx_edac_register_irq(op, mci); in ppc4xx_edac_probe()
1324 edac_mc_del_mc(mci->pdev); in ppc4xx_edac_probe()
1327 edac_mc_free(mci); in ppc4xx_edac_probe()
1348 struct mem_ctl_info *mci = dev_get_drvdata(&op->dev); in ppc4xx_edac_remove() local
1349 struct ppc4xx_edac_pdata *pdata = mci->pvt_info; in ppc4xx_edac_remove()
1352 free_irq(pdata->irqs.sec, mci); in ppc4xx_edac_remove()
1353 free_irq(pdata->irqs.ded, mci); in ppc4xx_edac_remove()
1358 edac_mc_del_mc(mci->pdev); in ppc4xx_edac_remove()
1359 edac_mc_free(mci); in ppc4xx_edac_remove()