Lines Matching defs:mci
127 static void axp_mc_check(struct mem_ctl_info *mci)
129 struct axp_mc_drvdata *drvdata = mci->pvt_info;
165 dev_warn(mci->pdev, "inconsistent SBE count detected\n");
170 dev_warn(mci->pdev, "inconsistent DBE count detected\n");
175 edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci,
179 mci->ctl_name,
182 edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci,
186 mci->ctl_name,
203 edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci,
209 mci->ctl_name, drvdata->msg);
211 edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci,
217 mci->ctl_name, drvdata->msg);
221 static void axp_mc_read_config(struct mem_ctl_info *mci)
223 struct axp_mc_drvdata *drvdata = mci->pvt_info;
239 dimm = mci->dimms[i];
290 struct mem_ctl_info *mci;
310 mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*drvdata));
311 if (!mci)
314 drvdata = mci->pvt_info;
316 mci->pdev = &pdev->dev;
317 platform_set_drvdata(pdev, mci);
320 mci->edac_check = axp_mc_check;
321 mci->mtype_cap = MEM_FLAG_DDR3;
322 mci->edac_cap = EDAC_FLAG_SECDED;
323 mci->mod_name = pdev->dev.driver->name;
324 mci->ctl_name = id ? id->compatible : "unknown";
325 mci->dev_name = dev_name(&pdev->dev);
326 mci->scrub_mode = SCRUB_NONE;
328 axp_mc_read_config(mci);
347 if (edac_mc_add_mc(mci)) {
348 edac_mc_free(mci);
358 struct mem_ctl_info *mci = platform_get_drvdata(pdev);
361 edac_mc_free(mci);