Lines Matching refs:mci
146 struct mem_ctl_info *mci; member
156 struct mem_ctl_info *mci = file->private_data; in xgene_edac_mc_err_inject_write() local
157 struct xgene_edac_mc_ctx *ctx = mci->pvt_info; in xgene_edac_mc_err_inject_write()
174 static void xgene_edac_mc_create_debugfs_node(struct mem_ctl_info *mci) in xgene_edac_mc_create_debugfs_node() argument
179 if (!mci->debugfs) in xgene_edac_mc_create_debugfs_node()
182 edac_debugfs_create_file("inject_ctrl", S_IWUSR, mci->debugfs, mci, in xgene_edac_mc_create_debugfs_node()
186 static void xgene_edac_mc_check(struct mem_ctl_info *mci) in xgene_edac_mc_check() argument
188 struct xgene_edac_mc_ctx *ctx = mci->pvt_info; in xgene_edac_mc_check()
211 edac_mc_chipset_printk(mci, KERN_ERR, "X-Gene", in xgene_edac_mc_check()
214 edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, in xgene_edac_mc_check()
215 1, 0, 0, 0, 0, 0, -1, mci->ctl_name, ""); in xgene_edac_mc_check()
226 edac_mc_chipset_printk(mci, KERN_WARNING, "X-Gene", in xgene_edac_mc_check()
233 edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, in xgene_edac_mc_check()
234 1, 0, 0, 0, 0, 0, -1, mci->ctl_name, ""); in xgene_edac_mc_check()
249 edac_mc_chipset_printk(mci, KERN_WARNING, "X-Gene", in xgene_edac_mc_check()
252 edac_mc_chipset_printk(mci, KERN_WARNING, "X-Gene", in xgene_edac_mc_check()
259 static void xgene_edac_mc_irq_ctl(struct mem_ctl_info *mci, bool enable) in xgene_edac_mc_irq_ctl() argument
261 struct xgene_edac_mc_ctx *ctx = mci->pvt_info; in xgene_edac_mc_irq_ctl()
356 struct mem_ctl_info *mci; in xgene_edac_mc_add() local
398 mci = edac_mc_alloc(tmp_ctx.mcu_id, ARRAY_SIZE(layers), layers, in xgene_edac_mc_add()
400 if (!mci) { in xgene_edac_mc_add()
405 ctx = mci->pvt_info; in xgene_edac_mc_add()
408 ctx->mci = mci; in xgene_edac_mc_add()
409 mci->pdev = &mci->dev; in xgene_edac_mc_add()
410 mci->ctl_name = ctx->name; in xgene_edac_mc_add()
411 mci->dev_name = ctx->name; in xgene_edac_mc_add()
413 mci->mtype_cap = MEM_FLAG_RDDR | MEM_FLAG_RDDR2 | MEM_FLAG_RDDR3 | in xgene_edac_mc_add()
415 mci->edac_ctl_cap = EDAC_FLAG_SECDED; in xgene_edac_mc_add()
416 mci->edac_cap = EDAC_FLAG_SECDED; in xgene_edac_mc_add()
417 mci->mod_name = EDAC_MOD_STR; in xgene_edac_mc_add()
418 mci->mod_ver = "0.1"; in xgene_edac_mc_add()
419 mci->ctl_page_to_phys = NULL; in xgene_edac_mc_add()
420 mci->scrub_cap = SCRUB_FLAG_HW_SRC; in xgene_edac_mc_add()
421 mci->scrub_mode = SCRUB_HW_SRC; in xgene_edac_mc_add()
424 mci->edac_check = xgene_edac_mc_check; in xgene_edac_mc_add()
426 if (edac_mc_add_mc(mci)) { in xgene_edac_mc_add()
432 xgene_edac_mc_create_debugfs_node(mci); in xgene_edac_mc_add()
436 xgene_edac_mc_irq_ctl(mci, true); in xgene_edac_mc_add()
444 edac_mc_free(mci); in xgene_edac_mc_add()
452 xgene_edac_mc_irq_ctl(mcu->mci, false); in xgene_edac_mc_remove()
453 edac_mc_del_mc(&mcu->mci->dev); in xgene_edac_mc_remove()
454 edac_mc_free(mcu->mci); in xgene_edac_mc_remove()
1787 xgene_edac_mc_check(mcu->mci); in xgene_edac_isr()