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