Lines Matching full:mci

72 	struct mem_ctl_info *mci = to_mci(dev);  in fsl_mc_inject_data_hi_show()  local
73 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_mc_inject_data_hi_show()
82 struct mem_ctl_info *mci = to_mci(dev); in fsl_mc_inject_data_lo_show() local
83 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_mc_inject_data_lo_show()
92 struct mem_ctl_info *mci = to_mci(dev); in fsl_mc_inject_ctrl_show() local
93 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_mc_inject_ctrl_show()
102 struct mem_ctl_info *mci = to_mci(dev); in fsl_mc_inject_data_hi_store() local
103 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_mc_inject_data_hi_store()
122 struct mem_ctl_info *mci = to_mci(dev); in fsl_mc_inject_data_lo_store() local
123 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_mc_inject_data_lo_store()
142 struct mem_ctl_info *mci = to_mci(dev); in fsl_mc_inject_ctrl_store() local
143 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_mc_inject_ctrl_store()
286 static void fsl_mc_check(struct mem_ctl_info *mci) in fsl_mc_check() argument
288 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_mc_check()
305 fsl_mc_printk(mci, KERN_ERR, "Err Detect Register: %#8.8x\n", in fsl_mc_check()
329 for (row_index = 0; row_index < mci->nr_csrows; row_index++) { in fsl_mc_check()
330 csrow = mci->csrows[row_index]; in fsl_mc_check()
350 fsl_mc_printk(mci, KERN_ERR, "Faulty Data bit: %d\n", bad_data_bit); in fsl_mc_check()
355 fsl_mc_printk(mci, KERN_ERR, "Faulty ECC bit: %d\n", bad_ecc_bit); in fsl_mc_check()
359 fsl_mc_printk(mci, KERN_ERR, in fsl_mc_check()
364 fsl_mc_printk(mci, KERN_ERR, in fsl_mc_check()
367 fsl_mc_printk(mci, KERN_ERR, "Err addr: %#8.8llx\n", err_addr); in fsl_mc_check()
368 fsl_mc_printk(mci, KERN_ERR, "PFN: %#8.8x\n", pfn); in fsl_mc_check()
371 if (row_index == mci->nr_csrows) in fsl_mc_check()
372 fsl_mc_printk(mci, KERN_ERR, "PFN out of range!\n"); in fsl_mc_check()
375 edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, in fsl_mc_check()
378 mci->ctl_name, ""); in fsl_mc_check()
381 edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, in fsl_mc_check()
384 mci->ctl_name, ""); in fsl_mc_check()
391 struct mem_ctl_info *mci = dev_id; in fsl_mc_isr() local
392 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_mc_isr()
399 fsl_mc_check(mci); in fsl_mc_isr()
404 static void fsl_ddr_init_csrows(struct mem_ctl_info *mci) in fsl_ddr_init_csrows() argument
406 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_ddr_init_csrows()
459 for (index = 0; index < mci->nr_csrows; index++) { in fsl_ddr_init_csrows()
463 csrow = mci->csrows[index]; in fsl_ddr_init_csrows()
496 struct mem_ctl_info *mci; in fsl_mc_err_probe() local
513 mci = edac_mc_alloc(edac_mc_idx, ARRAY_SIZE(layers), layers, in fsl_mc_err_probe()
515 if (!mci) { in fsl_mc_err_probe()
520 pdata = mci->pvt_info; in fsl_mc_err_probe()
522 mci->pdev = &op->dev; in fsl_mc_err_probe()
524 dev_set_drvdata(mci->pdev, mci); in fsl_mc_err_probe()
525 mci->ctl_name = pdata->name; in fsl_mc_err_probe()
526 mci->dev_name = pdata->name; in fsl_mc_err_probe()
581 edac_dbg(3, "init mci\n"); in fsl_mc_err_probe()
582 mci->mtype_cap = MEM_FLAG_DDR | MEM_FLAG_RDDR | in fsl_mc_err_probe()
587 mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED; in fsl_mc_err_probe()
588 mci->edac_cap = EDAC_FLAG_SECDED; in fsl_mc_err_probe()
589 mci->mod_name = EDAC_MOD_STR; in fsl_mc_err_probe()
592 mci->edac_check = fsl_mc_check; in fsl_mc_err_probe()
594 mci->ctl_page_to_phys = NULL; in fsl_mc_err_probe()
596 mci->scrub_mode = SCRUB_SW_SRC; in fsl_mc_err_probe()
598 fsl_ddr_init_csrows(mci); in fsl_mc_err_probe()
607 res = edac_mc_add_mc_with_groups(mci, fsl_ddr_dev_groups); in fsl_mc_err_probe()
629 "[EDAC] MC err", mci); in fsl_mc_err_probe()
651 edac_mc_free(mci); in fsl_mc_err_probe()
657 struct mem_ctl_info *mci = dev_get_drvdata(&op->dev); in fsl_mc_err_remove() local
658 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_mc_err_remove()
672 edac_mc_free(mci); in fsl_mc_err_remove()