Lines Matching full:mci
60 struct mem_ctl_info *mci = to_mci(dev); in fsl_mc_inject_data_hi_show() local
61 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_mc_inject_data_hi_show()
70 struct mem_ctl_info *mci = to_mci(dev); in fsl_mc_inject_data_lo_show() local
71 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_mc_inject_data_lo_show()
80 struct mem_ctl_info *mci = to_mci(dev); in fsl_mc_inject_ctrl_show() local
81 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_mc_inject_ctrl_show()
90 struct mem_ctl_info *mci = to_mci(dev); in fsl_mc_inject_data_hi_store() local
91 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_mc_inject_data_hi_store()
110 struct mem_ctl_info *mci = to_mci(dev); in fsl_mc_inject_data_lo_store() local
111 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_mc_inject_data_lo_store()
130 struct mem_ctl_info *mci = to_mci(dev); in fsl_mc_inject_ctrl_store() local
131 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_mc_inject_ctrl_store()
274 static void fsl_mc_check(struct mem_ctl_info *mci) in fsl_mc_check() argument
276 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_mc_check()
293 fsl_mc_printk(mci, KERN_ERR, "Err Detect Register: %#8.8x\n", in fsl_mc_check()
317 for (row_index = 0; row_index < mci->nr_csrows; row_index++) { in fsl_mc_check()
318 csrow = mci->csrows[row_index]; in fsl_mc_check()
335 fsl_mc_printk(mci, KERN_ERR, in fsl_mc_check()
338 fsl_mc_printk(mci, KERN_ERR, in fsl_mc_check()
341 fsl_mc_printk(mci, KERN_ERR, in fsl_mc_check()
348 fsl_mc_printk(mci, KERN_ERR, in fsl_mc_check()
351 fsl_mc_printk(mci, KERN_ERR, "Err addr: %#8.8llx\n", err_addr); in fsl_mc_check()
352 fsl_mc_printk(mci, KERN_ERR, "PFN: %#8.8x\n", pfn); in fsl_mc_check()
355 if (row_index == mci->nr_csrows) in fsl_mc_check()
356 fsl_mc_printk(mci, KERN_ERR, "PFN out of range!\n"); in fsl_mc_check()
359 edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, in fsl_mc_check()
362 mci->ctl_name, ""); in fsl_mc_check()
365 edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, in fsl_mc_check()
368 mci->ctl_name, ""); in fsl_mc_check()
375 struct mem_ctl_info *mci = dev_id; in fsl_mc_isr() local
376 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_mc_isr()
383 fsl_mc_check(mci); in fsl_mc_isr()
388 static void fsl_ddr_init_csrows(struct mem_ctl_info *mci) in fsl_ddr_init_csrows() argument
390 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_ddr_init_csrows()
440 for (index = 0; index < mci->nr_csrows; index++) { in fsl_ddr_init_csrows()
444 csrow = mci->csrows[index]; in fsl_ddr_init_csrows()
475 struct mem_ctl_info *mci; in fsl_mc_err_probe() local
491 mci = edac_mc_alloc(edac_mc_idx, ARRAY_SIZE(layers), layers, in fsl_mc_err_probe()
493 if (!mci) { in fsl_mc_err_probe()
498 pdata = mci->pvt_info; in fsl_mc_err_probe()
500 mci->pdev = &op->dev; in fsl_mc_err_probe()
502 dev_set_drvdata(mci->pdev, mci); in fsl_mc_err_probe()
503 mci->ctl_name = pdata->name; in fsl_mc_err_probe()
504 mci->dev_name = pdata->name; in fsl_mc_err_probe()
542 edac_dbg(3, "init mci\n"); in fsl_mc_err_probe()
543 mci->mtype_cap = MEM_FLAG_DDR | MEM_FLAG_RDDR | in fsl_mc_err_probe()
547 mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED; in fsl_mc_err_probe()
548 mci->edac_cap = EDAC_FLAG_SECDED; in fsl_mc_err_probe()
549 mci->mod_name = EDAC_MOD_STR; in fsl_mc_err_probe()
552 mci->edac_check = fsl_mc_check; in fsl_mc_err_probe()
554 mci->ctl_page_to_phys = NULL; in fsl_mc_err_probe()
556 mci->scrub_mode = SCRUB_SW_SRC; in fsl_mc_err_probe()
558 fsl_ddr_init_csrows(mci); in fsl_mc_err_probe()
567 res = edac_mc_add_mc_with_groups(mci, fsl_ddr_dev_groups); in fsl_mc_err_probe()
589 "[EDAC] MC err", mci); in fsl_mc_err_probe()
611 edac_mc_free(mci); in fsl_mc_err_probe()
617 struct mem_ctl_info *mci = dev_get_drvdata(&op->dev); in fsl_mc_err_remove() local
618 struct fsl_mc_pdata *pdata = mci->pvt_info; in fsl_mc_err_remove()
631 edac_mc_free(mci); in fsl_mc_err_remove()