mci 191 arch/s390/kernel/nmi.c static int notrace s390_check_registers(union mci mci, int umode) mci 198 arch/s390/kernel/nmi.c if (!mci.gr) { mci 208 arch/s390/kernel/nmi.c if (!mci.cr) { mci 215 arch/s390/kernel/nmi.c if (!mci.fp) { mci 227 arch/s390/kernel/nmi.c if (!mci.fc) { mci 242 arch/s390/kernel/nmi.c if (!mci.vr) { mci 256 arch/s390/kernel/nmi.c if (!mci.ar) { mci 266 arch/s390/kernel/nmi.c if (!mci.gs) { mci 276 arch/s390/kernel/nmi.c if (!mci.wp) { mci 284 arch/s390/kernel/nmi.c if (!mci.ia && !umode) { mci 292 arch/s390/kernel/nmi.c if (!mci.ms || !mci.pm || !mci.ia) mci 343 arch/s390/kernel/nmi.c union mci mci; mci 348 arch/s390/kernel/nmi.c mci.val = S390_lowcore.mcck_interruption_code; mci 351 arch/s390/kernel/nmi.c if (mci.sd) { mci 361 arch/s390/kernel/nmi.c if (mci.pd && !test_cpu_flag(CIF_MCCK_GUEST)) { mci 362 arch/s390/kernel/nmi.c if (mci.b) { mci 370 arch/s390/kernel/nmi.c t_mcic = mci.val; mci 396 arch/s390/kernel/nmi.c if (s390_check_registers(mci, user_mode(regs))) { mci 402 arch/s390/kernel/nmi.c mcck->mcck_code = mci.val; mci 413 arch/s390/kernel/nmi.c if (mci.cd) { mci 417 arch/s390/kernel/nmi.c if (mci.ed && mci.ec) { mci 432 arch/s390/kernel/nmi.c if (mci.se) mci 435 arch/s390/kernel/nmi.c if (mci.ke) mci 438 arch/s390/kernel/nmi.c if (mci.ds && mci.fa) mci 442 arch/s390/kernel/nmi.c if (mci.cp) { mci 447 arch/s390/kernel/nmi.c if (mci.w) { mci 458 arch/s390/kernel/nmi.c mcck_dam_code = (mci.val & MCIC_SUBCLASS_MASK); mci 553 arch/s390/kvm/interrupt.c union mci mci; mci 556 arch/s390/kvm/interrupt.c mci.val = mchk->mcic; mci 588 arch/s390/kvm/interrupt.c if (!rc && mci.vr && ext_sa_addr && test_kvm_facility(vcpu->kvm, 129)) { mci 591 arch/s390/kvm/interrupt.c mci.vr = 0; mci 593 arch/s390/kvm/interrupt.c mci.vr = 0; mci 595 arch/s390/kvm/interrupt.c if (!rc && mci.gs && ext_sa_addr && test_kvm_facility(vcpu->kvm, 133) mci 599 arch/s390/kvm/interrupt.c mci.gs = 0; mci 601 arch/s390/kvm/interrupt.c mci.gs = 0; mci 610 arch/s390/kvm/interrupt.c rc |= put_guest_lc(vcpu, mci.val, (u64 __user *) __LC_MCCK_CODE); mci 2789 arch/s390/kvm/interrupt.c union mci mci; mci 2793 arch/s390/kvm/interrupt.c mci.val = mcck_info->mcic; mci 2794 arch/s390/kvm/interrupt.c if (mci.sr) mci 2796 arch/s390/kvm/interrupt.c if (mci.dg) mci 2798 arch/s390/kvm/interrupt.c if (mci.w) mci 2801 arch/s390/kvm/interrupt.c mchk = mci.ck ? &inti.mchk : &irq.u.mchk; mci 2806 arch/s390/kvm/interrupt.c if (mci.ck) { mci 80 drivers/edac/altera_edac.c struct mem_ctl_info *mci = dev_id; mci 81 drivers/edac/altera_edac.c struct altr_sdram_mc_data *drvdata = mci->pvt_info; mci 102 drivers/edac/altera_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, err_count, mci 105 drivers/edac/altera_edac.c 0, 0, -1, mci->ctl_name, ""); mci 119 drivers/edac/altera_edac.c struct mem_ctl_info *mci = file->private_data; mci 120 drivers/edac/altera_edac.c struct altr_sdram_mc_data *drvdata = mci->pvt_info; mci 126 drivers/edac/altera_edac.c ptemp = dma_alloc_coherent(mci->pdev, 16, &dma_handle, GFP_KERNEL); mci 128 drivers/edac/altera_edac.c dma_free_coherent(mci->pdev, 16, ptemp, dma_handle); mci 180 drivers/edac/altera_edac.c dma_free_coherent(mci->pdev, 16, ptemp, dma_handle); mci 191 drivers/edac/altera_edac.c static void altr_sdr_mc_create_debugfs_nodes(struct mem_ctl_info *mci) mci 196 drivers/edac/altera_edac.c if (!mci->debugfs) mci 199 drivers/edac/altera_edac.c edac_debugfs_create_file("altr_trigger", S_IWUSR, mci->debugfs, mci, mci 283 drivers/edac/altera_edac.c struct mem_ctl_info *mci; mci 364 drivers/edac/altera_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, mci 366 drivers/edac/altera_edac.c if (!mci) mci 369 drivers/edac/altera_edac.c mci->pdev = &pdev->dev; mci 370 drivers/edac/altera_edac.c drvdata = mci->pvt_info; mci 373 drivers/edac/altera_edac.c platform_set_drvdata(pdev, mci); mci 382 drivers/edac/altera_edac.c mci->mtype_cap = MEM_FLAG_DDR3; mci 383 drivers/edac/altera_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED; mci 384 drivers/edac/altera_edac.c mci->edac_cap = EDAC_FLAG_SECDED; mci 385 drivers/edac/altera_edac.c mci->mod_name = EDAC_MOD_STR; mci 386 drivers/edac/altera_edac.c mci->ctl_name = dev_name(&pdev->dev); mci 387 drivers/edac/altera_edac.c mci->scrub_mode = SCRUB_SW_SRC; mci 388 drivers/edac/altera_edac.c mci->dev_name = dev_name(&pdev->dev); mci 390 drivers/edac/altera_edac.c dimm = *mci->dimms; mci 397 drivers/edac/altera_edac.c res = edac_mc_add_mc(mci); mci 410 drivers/edac/altera_edac.c IRQF_SHARED, dev_name(&pdev->dev), mci); mci 412 drivers/edac/altera_edac.c edac_mc_printk(mci, KERN_ERR, mci 426 drivers/edac/altera_edac.c irqflags, dev_name(&pdev->dev), mci); mci 428 drivers/edac/altera_edac.c edac_mc_printk(mci, KERN_ERR, mci 437 drivers/edac/altera_edac.c edac_mc_printk(mci, KERN_ERR, mci 443 drivers/edac/altera_edac.c altr_sdr_mc_create_debugfs_nodes(mci); mci 454 drivers/edac/altera_edac.c edac_mc_free(mci); mci 463 drivers/edac/altera_edac.c struct mem_ctl_info *mci = platform_get_drvdata(pdev); mci 466 drivers/edac/altera_edac.c edac_mc_free(mci); mci 235 drivers/edac/amd64_edac.c static int set_scrub_rate(struct mem_ctl_info *mci, u32 bw) mci 237 drivers/edac/amd64_edac.c struct amd64_pvt *pvt = mci->pvt_info; mci 254 drivers/edac/amd64_edac.c static int get_scrub_rate(struct mem_ctl_info *mci) mci 256 drivers/edac/amd64_edac.c struct amd64_pvt *pvt = mci->pvt_info; mci 324 drivers/edac/amd64_edac.c static struct mem_ctl_info *find_mc_by_sys_addr(struct mem_ctl_info *mci, mci 335 drivers/edac/amd64_edac.c pvt = mci->pvt_info; mci 463 drivers/edac/amd64_edac.c static int input_addr_to_csrow(struct mem_ctl_info *mci, u64 input_addr) mci 469 drivers/edac/amd64_edac.c pvt = mci->pvt_info; mci 509 drivers/edac/amd64_edac.c int amd64_get_dram_hole_info(struct mem_ctl_info *mci, u64 *hole_base, mci 512 drivers/edac/amd64_edac.c struct amd64_pvt *pvt = mci->pvt_info; mci 594 drivers/edac/amd64_edac.c static u64 sys_addr_to_dram_addr(struct mem_ctl_info *mci, u64 sys_addr) mci 596 drivers/edac/amd64_edac.c struct amd64_pvt *pvt = mci->pvt_info; mci 602 drivers/edac/amd64_edac.c ret = amd64_get_dram_hole_info(mci, &hole_base, &hole_offset, mci 650 drivers/edac/amd64_edac.c static u64 dram_addr_to_input_addr(struct mem_ctl_info *mci, u64 dram_addr) mci 656 drivers/edac/amd64_edac.c pvt = mci->pvt_info; mci 677 drivers/edac/amd64_edac.c static u64 sys_addr_to_input_addr(struct mem_ctl_info *mci, u64 sys_addr) mci 682 drivers/edac/amd64_edac.c dram_addr_to_input_addr(mci, sys_addr_to_dram_addr(mci, sys_addr)); mci 706 drivers/edac/amd64_edac.c static int sys_addr_to_csrow(struct mem_ctl_info *mci, u64 sys_addr) mci 710 drivers/edac/amd64_edac.c csrow = input_addr_to_csrow(mci, sys_addr_to_input_addr(mci, sys_addr)); mci 713 drivers/edac/amd64_edac.c amd64_mc_err(mci, "Failed to translate InputAddr to csrow for " mci 1146 drivers/edac/amd64_edac.c struct mem_ctl_info *mci; mci 1151 drivers/edac/amd64_edac.c mci = edac_mc_find(mce_nid); mci 1152 drivers/edac/amd64_edac.c if (!mci) mci 1155 drivers/edac/amd64_edac.c pvt = mci->pvt_info; mci 1278 drivers/edac/amd64_edac.c static void k8_map_sysaddr_to_csrow(struct mem_ctl_info *mci, u64 sys_addr, mci 1281 drivers/edac/amd64_edac.c struct amd64_pvt *pvt = mci->pvt_info; mci 1289 drivers/edac/amd64_edac.c err->src_mci = find_mc_by_sys_addr(mci, sys_addr); mci 1291 drivers/edac/amd64_edac.c amd64_mc_err(mci, "failed to map error addr 0x%lx to a node\n", mci 1306 drivers/edac/amd64_edac.c err->channel = get_channel_from_ecc_syndrome(mci, err->syndrome); mci 1827 drivers/edac/amd64_edac.c struct mem_ctl_info *mci; mci 1833 drivers/edac/amd64_edac.c mci = edac_mc_find(nid); mci 1834 drivers/edac/amd64_edac.c if (!mci) mci 1837 drivers/edac/amd64_edac.c pvt = mci->pvt_info; mci 2140 drivers/edac/amd64_edac.c static void f1x_map_sysaddr_to_csrow(struct mem_ctl_info *mci, u64 sys_addr, mci 2143 drivers/edac/amd64_edac.c struct amd64_pvt *pvt = mci->pvt_info; mci 2159 drivers/edac/amd64_edac.c err->channel = get_channel_from_ecc_syndrome(mci, err->syndrome); mci 2474 drivers/edac/amd64_edac.c static int get_channel_from_ecc_syndrome(struct mem_ctl_info *mci, u16 syndrome) mci 2476 drivers/edac/amd64_edac.c struct amd64_pvt *pvt = mci->pvt_info; mci 2495 drivers/edac/amd64_edac.c static void __log_ecc_error(struct mem_ctl_info *mci, struct err_info *err, mci 2536 drivers/edac/amd64_edac.c edac_mc_handle_error(err_type, mci, 1, mci 2544 drivers/edac/amd64_edac.c struct mem_ctl_info *mci; mci 2552 drivers/edac/amd64_edac.c mci = edac_mc_find(node_id); mci 2553 drivers/edac/amd64_edac.c if (!mci) mci 2556 drivers/edac/amd64_edac.c pvt = mci->pvt_info; mci 2573 drivers/edac/amd64_edac.c pvt->ops->map_sysaddr_to_csrow(mci, sys_addr, &err); mci 2575 drivers/edac/amd64_edac.c __log_ecc_error(mci, &err, ecc_type); mci 2595 drivers/edac/amd64_edac.c struct mem_ctl_info *mci; mci 2600 drivers/edac/amd64_edac.c mci = edac_mc_find(node_id); mci 2601 drivers/edac/amd64_edac.c if (!mci) mci 2604 drivers/edac/amd64_edac.c pvt = mci->pvt_info; mci 2637 drivers/edac/amd64_edac.c __log_ecc_error(mci, &err, ecc_type); mci 2902 drivers/edac/amd64_edac.c static int init_csrows_df(struct mem_ctl_info *mci) mci 2904 drivers/edac/amd64_edac.c struct amd64_pvt *pvt = mci->pvt_info; mci 2911 drivers/edac/amd64_edac.c if (mci->edac_ctl_cap & EDAC_FLAG_S16ECD16ED) { mci 2914 drivers/edac/amd64_edac.c } else if (mci->edac_ctl_cap & EDAC_FLAG_S8ECD8ED) { mci 2917 drivers/edac/amd64_edac.c } else if (mci->edac_ctl_cap & EDAC_FLAG_S4ECD4ED) { mci 2920 drivers/edac/amd64_edac.c } else if (mci->edac_ctl_cap & EDAC_FLAG_SECDED) { mci 2930 drivers/edac/amd64_edac.c dimm = mci->csrows[cs]->channels[umc]->dimm; mci 2950 drivers/edac/amd64_edac.c static int init_csrows(struct mem_ctl_info *mci) mci 2952 drivers/edac/amd64_edac.c struct amd64_pvt *pvt = mci->pvt_info; mci 2961 drivers/edac/amd64_edac.c return init_csrows_df(mci); mci 2984 drivers/edac/amd64_edac.c csrow = mci->csrows[i]; mci 3253 drivers/edac/amd64_edac.c f17h_determine_edac_ctl_cap(struct mem_ctl_info *mci, struct amd64_pvt *pvt) mci 3269 drivers/edac/amd64_edac.c mci->edac_ctl_cap |= EDAC_FLAG_SECDED; mci 3275 drivers/edac/amd64_edac.c mci->edac_ctl_cap |= EDAC_FLAG_S4ECD4ED; mci 3277 drivers/edac/amd64_edac.c mci->edac_ctl_cap |= EDAC_FLAG_S16ECD16ED; mci 3279 drivers/edac/amd64_edac.c mci->edac_ctl_cap |= EDAC_FLAG_S8ECD8ED; mci 3283 drivers/edac/amd64_edac.c static void setup_mci_misc_attrs(struct mem_ctl_info *mci, mci 3286 drivers/edac/amd64_edac.c struct amd64_pvt *pvt = mci->pvt_info; mci 3288 drivers/edac/amd64_edac.c mci->mtype_cap = MEM_FLAG_DDR2 | MEM_FLAG_RDDR2; mci 3289 drivers/edac/amd64_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE; mci 3292 drivers/edac/amd64_edac.c f17h_determine_edac_ctl_cap(mci, pvt); mci 3295 drivers/edac/amd64_edac.c mci->edac_ctl_cap |= EDAC_FLAG_SECDED; mci 3298 drivers/edac/amd64_edac.c mci->edac_ctl_cap |= EDAC_FLAG_S4ECD4ED; mci 3301 drivers/edac/amd64_edac.c mci->edac_cap = determine_edac_cap(pvt); mci 3302 drivers/edac/amd64_edac.c mci->mod_name = EDAC_MOD_STR; mci 3303 drivers/edac/amd64_edac.c mci->ctl_name = fam->ctl_name; mci 3304 drivers/edac/amd64_edac.c mci->dev_name = pci_name(pvt->F3); mci 3305 drivers/edac/amd64_edac.c mci->ctl_page_to_phys = NULL; mci 3308 drivers/edac/amd64_edac.c mci->set_sdram_scrub_rate = set_scrub_rate; mci 3309 drivers/edac/amd64_edac.c mci->get_sdram_scrub_rate = get_scrub_rate; mci 3426 drivers/edac/amd64_edac.c struct mem_ctl_info *mci = NULL; mci 3495 drivers/edac/amd64_edac.c mci = edac_mc_alloc(nid, ARRAY_SIZE(layers), layers, 0); mci 3496 drivers/edac/amd64_edac.c if (!mci) mci 3499 drivers/edac/amd64_edac.c mci->pvt_info = pvt; mci 3500 drivers/edac/amd64_edac.c mci->pdev = &pvt->F3->dev; mci 3502 drivers/edac/amd64_edac.c setup_mci_misc_attrs(mci, fam_type); mci 3504 drivers/edac/amd64_edac.c if (init_csrows(mci)) mci 3505 drivers/edac/amd64_edac.c mci->edac_cap = EDAC_FLAG_NONE; mci 3508 drivers/edac/amd64_edac.c if (edac_mc_add_mc_with_groups(mci, amd64_edac_attr_groups)) { mci 3516 drivers/edac/amd64_edac.c edac_mc_free(mci); mci 3585 drivers/edac/amd64_edac.c struct mem_ctl_info *mci; mci 3588 drivers/edac/amd64_edac.c mci = find_mci_by_dev(&F3->dev); mci 3589 drivers/edac/amd64_edac.c WARN_ON(!mci); mci 3592 drivers/edac/amd64_edac.c mci = edac_mc_del_mc(&F3->dev); mci 3593 drivers/edac/amd64_edac.c if (!mci) mci 3596 drivers/edac/amd64_edac.c pvt = mci->pvt_info; mci 3606 drivers/edac/amd64_edac.c mci->pvt_info = NULL; mci 3609 drivers/edac/amd64_edac.c edac_mc_free(mci); mci 3614 drivers/edac/amd64_edac.c struct mem_ctl_info *mci; mci 3620 drivers/edac/amd64_edac.c mci = edac_mc_find(0); mci 3621 drivers/edac/amd64_edac.c if (!mci) mci 3624 drivers/edac/amd64_edac.c pvt = mci->pvt_info; mci 33 drivers/edac/amd64_edac.h #define amd64_mc_warn(mci, fmt, arg...) \ mci 34 drivers/edac/amd64_edac.h edac_mc_chipset_printk(mci, KERN_WARNING, "amd64", fmt, ##arg) mci 36 drivers/edac/amd64_edac.h #define amd64_mc_err(mci, fmt, arg...) \ mci 37 drivers/edac/amd64_edac.h edac_mc_chipset_printk(mci, KERN_ERR, "amd64", fmt, ##arg) mci 473 drivers/edac/amd64_edac.h void (*map_sysaddr_to_csrow) (struct mem_ctl_info *mci, u64 sys_addr, mci 496 drivers/edac/amd64_edac.h int amd64_get_dram_hole_info(struct mem_ctl_info *mci, u64 *hole_base, mci 9 drivers/edac/amd64_edac_dbg.c struct mem_ctl_info *mci = to_mci(dev); \ mci 10 drivers/edac/amd64_edac_dbg.c struct amd64_pvt *pvt = mci->pvt_info; \ mci 23 drivers/edac/amd64_edac_dbg.c struct mem_ctl_info *mci = to_mci(dev); mci 29 drivers/edac/amd64_edac_dbg.c amd64_get_dram_hole_info(mci, &hole_base, &hole_offset, &hole_size); mci 8 drivers/edac/amd64_edac_inj.c struct mem_ctl_info *mci = to_mci(dev); mci 9 drivers/edac/amd64_edac_inj.c struct amd64_pvt *pvt = mci->pvt_info; mci 23 drivers/edac/amd64_edac_inj.c struct mem_ctl_info *mci = to_mci(dev); mci 24 drivers/edac/amd64_edac_inj.c struct amd64_pvt *pvt = mci->pvt_info; mci 45 drivers/edac/amd64_edac_inj.c struct mem_ctl_info *mci = to_mci(dev); mci 46 drivers/edac/amd64_edac_inj.c struct amd64_pvt *pvt = mci->pvt_info; mci 60 drivers/edac/amd64_edac_inj.c struct mem_ctl_info *mci = to_mci(dev); mci 61 drivers/edac/amd64_edac_inj.c struct amd64_pvt *pvt = mci->pvt_info; mci 82 drivers/edac/amd64_edac_inj.c struct mem_ctl_info *mci = to_mci(dev); mci 83 drivers/edac/amd64_edac_inj.c struct amd64_pvt *pvt = mci->pvt_info; mci 96 drivers/edac/amd64_edac_inj.c struct mem_ctl_info *mci = to_mci(dev); mci 97 drivers/edac/amd64_edac_inj.c struct amd64_pvt *pvt = mci->pvt_info; mci 122 drivers/edac/amd64_edac_inj.c struct mem_ctl_info *mci = to_mci(dev); mci 123 drivers/edac/amd64_edac_inj.c struct amd64_pvt *pvt = mci->pvt_info; mci 155 drivers/edac/amd64_edac_inj.c struct mem_ctl_info *mci = to_mci(dev); mci 156 drivers/edac/amd64_edac_inj.c struct amd64_pvt *pvt = mci->pvt_info; mci 224 drivers/edac/amd64_edac_inj.c struct mem_ctl_info *mci = container_of(dev, struct mem_ctl_info, dev); mci 225 drivers/edac/amd64_edac_inj.c struct amd64_pvt *pvt = mci->pvt_info; mci 27 drivers/edac/amd76x_edac.c #define amd76x_mc_printk(mci, level, fmt, arg...) \ mci 28 drivers/edac/amd76x_edac.c edac_mc_chipset_printk(mci, level, "amd76x", fmt, ##arg) mci 102 drivers/edac/amd76x_edac.c static void amd76x_get_error_info(struct mem_ctl_info *mci, mci 107 drivers/edac/amd76x_edac.c pdev = to_pci_dev(mci->pdev); mci 130 drivers/edac/amd76x_edac.c static int amd76x_process_error_info(struct mem_ctl_info *mci, mci 147 drivers/edac/amd76x_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 148 drivers/edac/amd76x_edac.c mci->csrows[row]->first_page, 0, 0, mci 150 drivers/edac/amd76x_edac.c mci->ctl_name, ""); mci 162 drivers/edac/amd76x_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 163 drivers/edac/amd76x_edac.c mci->csrows[row]->first_page, 0, 0, mci 165 drivers/edac/amd76x_edac.c mci->ctl_name, ""); mci 179 drivers/edac/amd76x_edac.c static void amd76x_check(struct mem_ctl_info *mci) mci 183 drivers/edac/amd76x_edac.c amd76x_get_error_info(mci, &info); mci 184 drivers/edac/amd76x_edac.c amd76x_process_error_info(mci, &info, 1); mci 187 drivers/edac/amd76x_edac.c static void amd76x_init_csrows(struct mem_ctl_info *mci, struct pci_dev *pdev, mci 195 drivers/edac/amd76x_edac.c for (index = 0; index < mci->nr_csrows; index++) { mci 196 drivers/edac/amd76x_edac.c csrow = mci->csrows[index]; mci 237 drivers/edac/amd76x_edac.c struct mem_ctl_info *mci; mci 253 drivers/edac/amd76x_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0); mci 255 drivers/edac/amd76x_edac.c if (mci == NULL) mci 258 drivers/edac/amd76x_edac.c edac_dbg(0, "mci = %p\n", mci); mci 259 drivers/edac/amd76x_edac.c mci->pdev = &pdev->dev; mci 260 drivers/edac/amd76x_edac.c mci->mtype_cap = MEM_FLAG_RDDR; mci 261 drivers/edac/amd76x_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_EC | EDAC_FLAG_SECDED; mci 262 drivers/edac/amd76x_edac.c mci->edac_cap = ems_mode ? mci 264 drivers/edac/amd76x_edac.c mci->mod_name = EDAC_MOD_STR; mci 265 drivers/edac/amd76x_edac.c mci->ctl_name = amd76x_devs[dev_idx].ctl_name; mci 266 drivers/edac/amd76x_edac.c mci->dev_name = pci_name(pdev); mci 267 drivers/edac/amd76x_edac.c mci->edac_check = amd76x_check; mci 268 drivers/edac/amd76x_edac.c mci->ctl_page_to_phys = NULL; mci 270 drivers/edac/amd76x_edac.c amd76x_init_csrows(mci, pdev, ems_modes[ems_mode]); mci 271 drivers/edac/amd76x_edac.c amd76x_get_error_info(mci, &discard); /* clear counters */ mci 276 drivers/edac/amd76x_edac.c if (edac_mc_add_mc(mci)) { mci 297 drivers/edac/amd76x_edac.c edac_mc_free(mci); mci 321 drivers/edac/amd76x_edac.c struct mem_ctl_info *mci; mci 328 drivers/edac/amd76x_edac.c if ((mci = edac_mc_del_mc(&pdev->dev)) == NULL) mci 331 drivers/edac/amd76x_edac.c edac_mc_free(mci); mci 125 drivers/edac/armada_xp_edac.c static void axp_mc_check(struct mem_ctl_info *mci) mci 127 drivers/edac/armada_xp_edac.c struct axp_mc_drvdata *drvdata = mci->pvt_info; mci 163 drivers/edac/armada_xp_edac.c dev_warn(mci->pdev, "inconsistent SBE count detected"); mci 168 drivers/edac/armada_xp_edac.c dev_warn(mci->pdev, "inconsistent DBE count detected"); mci 173 drivers/edac/armada_xp_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, mci 177 drivers/edac/armada_xp_edac.c mci->ctl_name, mci 180 drivers/edac/armada_xp_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, mci 184 drivers/edac/armada_xp_edac.c mci->ctl_name, mci 201 drivers/edac/armada_xp_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, mci 207 drivers/edac/armada_xp_edac.c mci->ctl_name, drvdata->msg); mci 209 drivers/edac/armada_xp_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, mci 215 drivers/edac/armada_xp_edac.c mci->ctl_name, drvdata->msg); mci 219 drivers/edac/armada_xp_edac.c static void axp_mc_read_config(struct mem_ctl_info *mci) mci 221 drivers/edac/armada_xp_edac.c struct axp_mc_drvdata *drvdata = mci->pvt_info; mci 237 drivers/edac/armada_xp_edac.c dimm = mci->dimms[i]; mci 288 drivers/edac/armada_xp_edac.c struct mem_ctl_info *mci; mci 315 drivers/edac/armada_xp_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*drvdata)); mci 316 drivers/edac/armada_xp_edac.c if (!mci) mci 319 drivers/edac/armada_xp_edac.c drvdata = mci->pvt_info; mci 321 drivers/edac/armada_xp_edac.c mci->pdev = &pdev->dev; mci 322 drivers/edac/armada_xp_edac.c platform_set_drvdata(pdev, mci); mci 325 drivers/edac/armada_xp_edac.c mci->edac_check = axp_mc_check; mci 326 drivers/edac/armada_xp_edac.c mci->mtype_cap = MEM_FLAG_DDR3; mci 327 drivers/edac/armada_xp_edac.c mci->edac_cap = EDAC_FLAG_SECDED; mci 328 drivers/edac/armada_xp_edac.c mci->mod_name = pdev->dev.driver->name; mci 329 drivers/edac/armada_xp_edac.c mci->ctl_name = id ? id->compatible : "unknown"; mci 330 drivers/edac/armada_xp_edac.c mci->dev_name = dev_name(&pdev->dev); mci 331 drivers/edac/armada_xp_edac.c mci->scrub_mode = SCRUB_NONE; mci 333 drivers/edac/armada_xp_edac.c axp_mc_read_config(mci); mci 352 drivers/edac/armada_xp_edac.c if (edac_mc_add_mc(mci)) { mci 353 drivers/edac/armada_xp_edac.c edac_mc_free(mci); mci 363 drivers/edac/armada_xp_edac.c struct mem_ctl_info *mci = platform_get_drvdata(pdev); mci 366 drivers/edac/armada_xp_edac.c edac_mc_free(mci); mci 92 drivers/edac/aspeed_edac.c static void count_rec(struct mem_ctl_info *mci, u8 rec_cnt, u32 rec_addr) mci 94 drivers/edac/aspeed_edac.c struct csrow_info *csrow = mci->csrows[0]; mci 107 drivers/edac/aspeed_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, rec_cnt-1, mci 118 drivers/edac/aspeed_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 124 drivers/edac/aspeed_edac.c static void count_un_rec(struct mem_ctl_info *mci, u8 un_rec_cnt, mci 127 drivers/edac/aspeed_edac.c struct csrow_info *csrow = mci->csrows[0]; mci 139 drivers/edac/aspeed_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 150 drivers/edac/aspeed_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, un_rec_cnt-1, mci 159 drivers/edac/aspeed_edac.c struct mem_ctl_info *mci = arg; mci 165 drivers/edac/aspeed_edac.c dev_dbg(mci->pdev, "received edac interrupt w/ mcr register 50: 0x%x\n", mci 172 drivers/edac/aspeed_edac.c dev_dbg(mci->pdev, "%d recoverable interrupts and %d unrecoverable interrupts\n", mci 190 drivers/edac/aspeed_edac.c count_rec(mci, rec_cnt, rec_addr); mci 191 drivers/edac/aspeed_edac.c count_un_rec(mci, un_rec_cnt, un_rec_addr); mci 194 drivers/edac/aspeed_edac.c dev_dbg(mci->pdev, "received edac interrupt, but did not find any ECC counters\n"); mci 197 drivers/edac/aspeed_edac.c dev_dbg(mci->pdev, "edac interrupt handled. mcr reg 50 is now: 0x%x\n", mci 231 drivers/edac/aspeed_edac.c static int init_csrows(struct mem_ctl_info *mci) mci 233 drivers/edac/aspeed_edac.c struct csrow_info *csrow = mci->csrows[0]; mci 244 drivers/edac/aspeed_edac.c dev_err(mci->pdev, "dt: missing /memory node\n"); mci 253 drivers/edac/aspeed_edac.c dev_err(mci->pdev, "dt: failed requesting resource for /memory node\n"); mci 257 drivers/edac/aspeed_edac.c dev_dbg(mci->pdev, "dt: /memory node resources: first page r.start=0x%x, resource_size=0x%x, PAGE_SHIFT macro=0x%x\n", mci 272 drivers/edac/aspeed_edac.c dev_dbg(mci->pdev, "initialized dimm with first_page=0x%lx and nr_pages=0x%x\n", mci 283 drivers/edac/aspeed_edac.c struct mem_ctl_info *mci; mci 319 drivers/edac/aspeed_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0); mci 320 drivers/edac/aspeed_edac.c if (!mci) mci 323 drivers/edac/aspeed_edac.c mci->pdev = &pdev->dev; mci 324 drivers/edac/aspeed_edac.c mci->mtype_cap = MEM_FLAG_DDR3 | MEM_FLAG_DDR4; mci 325 drivers/edac/aspeed_edac.c mci->edac_ctl_cap = EDAC_FLAG_SECDED; mci 326 drivers/edac/aspeed_edac.c mci->edac_cap = EDAC_FLAG_SECDED; mci 327 drivers/edac/aspeed_edac.c mci->scrub_cap = SCRUB_FLAG_HW_SRC; mci 328 drivers/edac/aspeed_edac.c mci->scrub_mode = SCRUB_HW_SRC; mci 329 drivers/edac/aspeed_edac.c mci->mod_name = DRV_NAME; mci 330 drivers/edac/aspeed_edac.c mci->ctl_name = "MIC"; mci 331 drivers/edac/aspeed_edac.c mci->dev_name = dev_name(&pdev->dev); mci 333 drivers/edac/aspeed_edac.c rc = init_csrows(mci); mci 339 drivers/edac/aspeed_edac.c platform_set_drvdata(pdev, mci); mci 342 drivers/edac/aspeed_edac.c rc = edac_mc_add_mc(mci); mci 349 drivers/edac/aspeed_edac.c rc = config_irq(mci, pdev); mci 360 drivers/edac/aspeed_edac.c edac_mc_free(mci); mci 367 drivers/edac/aspeed_edac.c struct mem_ctl_info *mci; mci 374 drivers/edac/aspeed_edac.c mci = edac_mc_del_mc(&pdev->dev); mci 375 drivers/edac/aspeed_edac.c if (mci) mci 376 drivers/edac/aspeed_edac.c edac_mc_free(mci); mci 93 drivers/edac/bluefield_edac.c static void bluefield_gather_report_ecc(struct mem_ctl_info *mci, mci 97 drivers/edac/bluefield_edac.c struct bluefield_edac_priv *priv = mci->pvt_info; mci 125 drivers/edac/bluefield_edac.c edac_mc_handle_error(ecc_type, mci, error_cnt, 0, 0, 0, mci 126 drivers/edac/bluefield_edac.c 0, 0, -1, mci->ctl_name, ""); mci 140 drivers/edac/bluefield_edac.c edac_mc_handle_error(ecc_type, mci, error_cnt, mci 143 drivers/edac/bluefield_edac.c syndrom, ecc_dimm, 0, 0, mci->ctl_name, ""); mci 146 drivers/edac/bluefield_edac.c static void bluefield_edac_check(struct mem_ctl_info *mci) mci 148 drivers/edac/bluefield_edac.c struct bluefield_edac_priv *priv = mci->pvt_info; mci 155 drivers/edac/bluefield_edac.c if (mci->edac_cap == EDAC_FLAG_NONE) mci 165 drivers/edac/bluefield_edac.c bluefield_gather_report_ecc(mci, single_error_count, 1); mci 171 drivers/edac/bluefield_edac.c bluefield_gather_report_ecc(mci, double_error_count, 0); mci 180 drivers/edac/bluefield_edac.c static void bluefield_edac_init_dimms(struct mem_ctl_info *mci) mci 182 drivers/edac/bluefield_edac.c struct bluefield_edac_priv *priv = mci->pvt_info; mci 183 drivers/edac/bluefield_edac.c int mem_ctrl_idx = mci->mc_idx; mci 189 drivers/edac/bluefield_edac.c dimm = mci->dimms[i]; mci 237 drivers/edac/bluefield_edac.c mci->edac_cap = EDAC_FLAG_NONE; mci 239 drivers/edac/bluefield_edac.c mci->edac_cap = EDAC_FLAG_SECDED; mci 247 drivers/edac/bluefield_edac.c struct mem_ctl_info *mci; mci 277 drivers/edac/bluefield_edac.c mci = edac_mc_alloc(mc_idx, ARRAY_SIZE(layers), layers, sizeof(*priv)); mci 278 drivers/edac/bluefield_edac.c if (!mci) mci 281 drivers/edac/bluefield_edac.c priv = mci->pvt_info; mci 291 drivers/edac/bluefield_edac.c mci->pdev = dev; mci 292 drivers/edac/bluefield_edac.c mci->mtype_cap = MEM_FLAG_DDR4 | MEM_FLAG_RDDR4 | mci 294 drivers/edac/bluefield_edac.c mci->edac_ctl_cap = EDAC_FLAG_SECDED; mci 296 drivers/edac/bluefield_edac.c mci->mod_name = DRIVER_NAME; mci 297 drivers/edac/bluefield_edac.c mci->ctl_name = "BlueField_Memory_Controller"; mci 298 drivers/edac/bluefield_edac.c mci->dev_name = dev_name(dev); mci 299 drivers/edac/bluefield_edac.c mci->edac_check = bluefield_edac_check; mci 302 drivers/edac/bluefield_edac.c bluefield_edac_init_dimms(mci); mci 304 drivers/edac/bluefield_edac.c platform_set_drvdata(pdev, mci); mci 307 drivers/edac/bluefield_edac.c rc = edac_mc_add_mc(mci); mci 320 drivers/edac/bluefield_edac.c edac_mc_free(mci); mci 328 drivers/edac/bluefield_edac.c struct mem_ctl_info *mci = platform_get_drvdata(pdev); mci 331 drivers/edac/bluefield_edac.c edac_mc_free(mci); mci 34 drivers/edac/cell_edac.c static void cell_edac_count_ce(struct mem_ctl_info *mci, int chan, u64 ar) mci 36 drivers/edac/cell_edac.c struct cell_edac_priv *priv = mci->pvt_info; mci 37 drivers/edac/cell_edac.c struct csrow_info *csrow = mci->csrows[0]; mci 40 drivers/edac/cell_edac.c dev_dbg(mci->pdev, "ECC CE err on node %d, channel %d, ar = 0x%016llx\n", mci 52 drivers/edac/cell_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 57 drivers/edac/cell_edac.c static void cell_edac_count_ue(struct mem_ctl_info *mci, int chan, u64 ar) mci 59 drivers/edac/cell_edac.c struct cell_edac_priv *priv = mci->pvt_info; mci 60 drivers/edac/cell_edac.c struct csrow_info *csrow = mci->csrows[0]; mci 63 drivers/edac/cell_edac.c dev_dbg(mci->pdev, "ECC UE err on node %d, channel %d, ar = 0x%016llx\n", mci 74 drivers/edac/cell_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 79 drivers/edac/cell_edac.c static void cell_edac_check(struct mem_ctl_info *mci) mci 81 drivers/edac/cell_edac.c struct cell_edac_priv *priv = mci->pvt_info; mci 87 drivers/edac/cell_edac.c dev_dbg(mci->pdev, "fir change : 0x%016lx\n", fir); mci 94 drivers/edac/cell_edac.c cell_edac_count_ce(mci, 0, addreg); mci 99 drivers/edac/cell_edac.c cell_edac_count_ce(mci, 1, addreg); mci 104 drivers/edac/cell_edac.c cell_edac_count_ue(mci, 0, addreg); mci 109 drivers/edac/cell_edac.c cell_edac_count_ue(mci, 1, addreg); mci 123 drivers/edac/cell_edac.c dev_dbg(mci->pdev, "fir clear : 0x%016lx\n", fir); mci 128 drivers/edac/cell_edac.c static void cell_edac_init_csrows(struct mem_ctl_info *mci) mci 130 drivers/edac/cell_edac.c struct csrow_info *csrow = mci->csrows[0]; mci 132 drivers/edac/cell_edac.c struct cell_edac_priv *priv = mci->pvt_info; mci 158 drivers/edac/cell_edac.c dev_dbg(mci->pdev, mci 171 drivers/edac/cell_edac.c struct mem_ctl_info *mci; mci 208 drivers/edac/cell_edac.c mci = edac_mc_alloc(pdev->id, ARRAY_SIZE(layers), layers, mci 210 drivers/edac/cell_edac.c if (mci == NULL) mci 212 drivers/edac/cell_edac.c priv = mci->pvt_info; mci 216 drivers/edac/cell_edac.c mci->pdev = &pdev->dev; mci 217 drivers/edac/cell_edac.c mci->mtype_cap = MEM_FLAG_XDR; mci 218 drivers/edac/cell_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_EC | EDAC_FLAG_SECDED; mci 219 drivers/edac/cell_edac.c mci->edac_cap = EDAC_FLAG_EC | EDAC_FLAG_SECDED; mci 220 drivers/edac/cell_edac.c mci->mod_name = "cell_edac"; mci 221 drivers/edac/cell_edac.c mci->ctl_name = "MIC"; mci 222 drivers/edac/cell_edac.c mci->dev_name = dev_name(&pdev->dev); mci 223 drivers/edac/cell_edac.c mci->edac_check = cell_edac_check; mci 224 drivers/edac/cell_edac.c cell_edac_init_csrows(mci); mci 227 drivers/edac/cell_edac.c rc = edac_mc_add_mc(mci); mci 230 drivers/edac/cell_edac.c edac_mc_free(mci); mci 239 drivers/edac/cell_edac.c struct mem_ctl_info *mci = edac_mc_del_mc(&pdev->dev); mci 240 drivers/edac/cell_edac.c if (mci) mci 241 drivers/edac/cell_edac.c edac_mc_free(mci); mci 26 drivers/edac/cpc925_edac.c #define cpc925_mc_printk(mci, level, fmt, arg...) \ mci 27 drivers/edac/cpc925_edac.c edac_mc_chipset_printk(mci, level, "CPC925", fmt, ##arg) mci 314 drivers/edac/cpc925_edac.c static void cpc925_init_csrows(struct mem_ctl_info *mci) mci 316 drivers/edac/cpc925_edac.c struct cpc925_mc_pdata *pdata = mci->pvt_info; mci 326 drivers/edac/cpc925_edac.c for (index = 0; index < mci->nr_csrows; index++) { mci 337 drivers/edac/cpc925_edac.c csrow = mci->csrows[index]; mci 380 drivers/edac/cpc925_edac.c static void cpc925_mc_init(struct mem_ctl_info *mci) mci 382 drivers/edac/cpc925_edac.c struct cpc925_mc_pdata *pdata = mci->pvt_info; mci 402 drivers/edac/cpc925_edac.c static void cpc925_mc_exit(struct mem_ctl_info *mci) mci 435 drivers/edac/cpc925_edac.c static void cpc925_mc_get_pfn(struct mem_ctl_info *mci, u32 mear, mci 452 drivers/edac/cpc925_edac.c if (mci->csrows[rank]->first_page == 0) { mci 453 drivers/edac/cpc925_edac.c cpc925_mc_printk(mci, KERN_ERR, "ECC occurs in a " mci 460 drivers/edac/cpc925_edac.c pa = mci->csrows[rank]->first_page << PAGE_SHIFT; mci 504 drivers/edac/cpc925_edac.c static int cpc925_mc_find_channel(struct mem_ctl_info *mci, u16 syndrome) mci 512 drivers/edac/cpc925_edac.c cpc925_mc_printk(mci, KERN_INFO, "Unexpected syndrome value: 0x%x\n", mci 518 drivers/edac/cpc925_edac.c static void cpc925_mc_check(struct mem_ctl_info *mci) mci 520 drivers/edac/cpc925_edac.c struct cpc925_mc_pdata *pdata = mci->pvt_info; mci 539 drivers/edac/cpc925_edac.c cpc925_mc_get_pfn(mci, mear, &pfn, &offset, &csrow); mci 542 drivers/edac/cpc925_edac.c cpc925_mc_printk(mci, KERN_INFO, "DRAM CECC Fault\n"); mci 543 drivers/edac/cpc925_edac.c channel = cpc925_mc_find_channel(mci, syndrome); mci 544 drivers/edac/cpc925_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 547 drivers/edac/cpc925_edac.c mci->ctl_name, ""); mci 551 drivers/edac/cpc925_edac.c cpc925_mc_printk(mci, KERN_INFO, "DRAM UECC Fault\n"); mci 552 drivers/edac/cpc925_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 555 drivers/edac/cpc925_edac.c mci->ctl_name, ""); mci 558 drivers/edac/cpc925_edac.c cpc925_mc_printk(mci, KERN_INFO, "Dump registers:\n"); mci 559 drivers/edac/cpc925_edac.c cpc925_mc_printk(mci, KERN_INFO, "APIMASK 0x%08x\n", mci 561 drivers/edac/cpc925_edac.c cpc925_mc_printk(mci, KERN_INFO, "APIEXCP 0x%08x\n", mci 563 drivers/edac/cpc925_edac.c cpc925_mc_printk(mci, KERN_INFO, "Mem Scrub Ctrl 0x%08x\n", mci 565 drivers/edac/cpc925_edac.c cpc925_mc_printk(mci, KERN_INFO, "Mem Scrub Rge Start 0x%08x\n", mci 567 drivers/edac/cpc925_edac.c cpc925_mc_printk(mci, KERN_INFO, "Mem Scrub Rge End 0x%08x\n", mci 569 drivers/edac/cpc925_edac.c cpc925_mc_printk(mci, KERN_INFO, "Mem Scrub Pattern 0x%08x\n", mci 571 drivers/edac/cpc925_edac.c cpc925_mc_printk(mci, KERN_INFO, "Mem Chk Ctrl 0x%08x\n", mci 573 drivers/edac/cpc925_edac.c cpc925_mc_printk(mci, KERN_INFO, "Mem Chk Rge End 0x%08x\n", mci 575 drivers/edac/cpc925_edac.c cpc925_mc_printk(mci, KERN_INFO, "Mem Err Address 0x%08x\n", mci 577 drivers/edac/cpc925_edac.c cpc925_mc_printk(mci, KERN_INFO, "Mem Err Syndrome 0x%08x\n", mci 863 drivers/edac/cpc925_edac.c static int cpc925_get_sdram_scrub_rate(struct mem_ctl_info *mci) mci 865 drivers/edac/cpc925_edac.c struct cpc925_mc_pdata *pdata = mci->pvt_info; mci 877 drivers/edac/cpc925_edac.c cpc925_mc_printk(mci, KERN_INFO, "Scrub mode not enabled\n"); mci 909 drivers/edac/cpc925_edac.c struct mem_ctl_info *mci; mci 954 drivers/edac/cpc925_edac.c mci = edac_mc_alloc(edac_mc_idx, ARRAY_SIZE(layers), layers, mci 956 drivers/edac/cpc925_edac.c if (!mci) { mci 962 drivers/edac/cpc925_edac.c pdata = mci->pvt_info; mci 967 drivers/edac/cpc925_edac.c mci->pdev = &pdev->dev; mci 968 drivers/edac/cpc925_edac.c platform_set_drvdata(pdev, mci); mci 969 drivers/edac/cpc925_edac.c mci->dev_name = dev_name(&pdev->dev); mci 970 drivers/edac/cpc925_edac.c mci->mtype_cap = MEM_FLAG_RDDR | MEM_FLAG_DDR; mci 971 drivers/edac/cpc925_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED; mci 972 drivers/edac/cpc925_edac.c mci->edac_cap = EDAC_FLAG_SECDED; mci 973 drivers/edac/cpc925_edac.c mci->mod_name = CPC925_EDAC_MOD_STR; mci 974 drivers/edac/cpc925_edac.c mci->ctl_name = pdev->name; mci 977 drivers/edac/cpc925_edac.c mci->edac_check = cpc925_mc_check; mci 979 drivers/edac/cpc925_edac.c mci->ctl_page_to_phys = NULL; mci 980 drivers/edac/cpc925_edac.c mci->scrub_mode = SCRUB_SW_SRC; mci 981 drivers/edac/cpc925_edac.c mci->set_sdram_scrub_rate = NULL; mci 982 drivers/edac/cpc925_edac.c mci->get_sdram_scrub_rate = cpc925_get_sdram_scrub_rate; mci 984 drivers/edac/cpc925_edac.c cpc925_init_csrows(mci); mci 987 drivers/edac/cpc925_edac.c cpc925_mc_init(mci); mci 989 drivers/edac/cpc925_edac.c if (edac_mc_add_mc(mci) > 0) { mci 990 drivers/edac/cpc925_edac.c cpc925_mc_printk(mci, KERN_ERR, "Failed edac_mc_add_mc()\n"); mci 1003 drivers/edac/cpc925_edac.c cpc925_mc_exit(mci); mci 1004 drivers/edac/cpc925_edac.c edac_mc_free(mci); mci 1015 drivers/edac/cpc925_edac.c struct mem_ctl_info *mci = platform_get_drvdata(pdev); mci 1022 drivers/edac/cpc925_edac.c cpc925_mc_exit(mci); mci 1025 drivers/edac/cpc925_edac.c edac_mc_free(mci); mci 11 drivers/edac/debugfs.c struct mem_ctl_info *mci = to_mci(dev); mci 13 drivers/edac/debugfs.c u16 errcount = mci->fake_inject_count; mci 18 drivers/edac/debugfs.c type = mci->fake_inject_ue ? HW_EVENT_ERR_UNCORRECTED mci 26 drivers/edac/debugfs.c mci->fake_inject_layer[0], mci 27 drivers/edac/debugfs.c mci->fake_inject_layer[1], mci 28 drivers/edac/debugfs.c mci->fake_inject_layer[2] mci 30 drivers/edac/debugfs.c edac_mc_handle_error(type, mci, errcount, 0, 0, 0, mci 31 drivers/edac/debugfs.c mci->fake_inject_layer[0], mci 32 drivers/edac/debugfs.c mci->fake_inject_layer[1], mci 33 drivers/edac/debugfs.c mci->fake_inject_layer[2], mci 55 drivers/edac/debugfs.c void edac_create_debugfs_nodes(struct mem_ctl_info *mci) mci 61 drivers/edac/debugfs.c parent = debugfs_create_dir(mci->dev.kobj.name, edac_debugfs); mci 63 drivers/edac/debugfs.c for (i = 0; i < mci->n_layers; i++) { mci 65 drivers/edac/debugfs.c edac_layer_name[mci->layers[i].type]); mci 67 drivers/edac/debugfs.c &mci->fake_inject_layer[i]); mci 71 drivers/edac/debugfs.c &mci->fake_inject_ue); mci 74 drivers/edac/debugfs.c &mci->fake_inject_count); mci 76 drivers/edac/debugfs.c debugfs_create_file("fake_inject", S_IWUSR, parent, &mci->dev, mci 79 drivers/edac/debugfs.c mci->debugfs = parent; mci 40 drivers/edac/e752x_edac.c #define e752x_mc_printk(mci, level, fmt, arg...) \ mci 41 drivers/edac/e752x_edac.c edac_mc_chipset_printk(mci, level, "e752x", fmt, ##arg) mci 304 drivers/edac/e752x_edac.c static unsigned long ctl_page_to_phys(struct mem_ctl_info *mci, mci 308 drivers/edac/e752x_edac.c struct e752x_pvt *pvt = (struct e752x_pvt *)mci->pvt_info; mci 327 drivers/edac/e752x_edac.c static void do_process_ce(struct mem_ctl_info *mci, u16 error_one, mci 334 drivers/edac/e752x_edac.c struct e752x_pvt *pvt = (struct e752x_pvt *)mci->pvt_info; mci 362 drivers/edac/e752x_edac.c e752x_mc_printk(mci, KERN_WARNING, mci 366 drivers/edac/e752x_edac.c row = edac_mc_find_csrow_by_page(mci, page); mci 372 drivers/edac/e752x_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 378 drivers/edac/e752x_edac.c static inline void process_ce(struct mem_ctl_info *mci, u16 error_one, mci 385 drivers/edac/e752x_edac.c do_process_ce(mci, error_one, sec1_add, sec1_syndrome); mci 388 drivers/edac/e752x_edac.c static void do_process_ue(struct mem_ctl_info *mci, u16 error_one, mci 393 drivers/edac/e752x_edac.c struct e752x_pvt *pvt = (struct e752x_pvt *)mci->pvt_info; mci 406 drivers/edac/e752x_edac.c edac_mc_find_csrow_by_page(mci, block_page); mci 409 drivers/edac/e752x_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 425 drivers/edac/e752x_edac.c edac_mc_find_csrow_by_page(mci, block_page); mci 428 drivers/edac/e752x_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 436 drivers/edac/e752x_edac.c static inline void process_ue(struct mem_ctl_info *mci, u16 error_one, mci 443 drivers/edac/e752x_edac.c do_process_ue(mci, error_one, ded_add, scrb_add); mci 446 drivers/edac/e752x_edac.c static inline void process_ue_no_info_wr(struct mem_ctl_info *mci, mci 455 drivers/edac/e752x_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, 0, 0, 0, mci 460 drivers/edac/e752x_edac.c static void do_process_ded_retry(struct mem_ctl_info *mci, u16 error, mci 465 drivers/edac/e752x_edac.c struct e752x_pvt *pvt = (struct e752x_pvt *)mci->pvt_info; mci 472 drivers/edac/e752x_edac.c edac_mc_find_csrow_by_page(mci, page); mci 474 drivers/edac/e752x_edac.c e752x_mc_printk(mci, KERN_WARNING, mci 479 drivers/edac/e752x_edac.c static inline void process_ded_retry(struct mem_ctl_info *mci, u16 error, mci 486 drivers/edac/e752x_edac.c do_process_ded_retry(mci, error, retry_add); mci 489 drivers/edac/e752x_edac.c static inline void process_threshold_ce(struct mem_ctl_info *mci, u16 error, mci 495 drivers/edac/e752x_edac.c e752x_mc_printk(mci, KERN_WARNING, "Memory threshold CE\n"); mci 790 drivers/edac/e752x_edac.c static void e752x_check_dram(struct mem_ctl_info *mci, mci 801 drivers/edac/e752x_edac.c process_ce(mci, error_one, info->dram_sec1_add, mci 805 drivers/edac/e752x_edac.c process_ce(mci, error_next, info->dram_sec2_add, mci 809 drivers/edac/e752x_edac.c process_ue_no_info_wr(mci, error_found, handle_error); mci 812 drivers/edac/e752x_edac.c process_ue_no_info_wr(mci, error_found, handle_error); mci 815 drivers/edac/e752x_edac.c process_ded_retry(mci, error_one, info->dram_retr_add, mci 819 drivers/edac/e752x_edac.c process_ded_retry(mci, error_next, info->dram_retr_add, mci 823 drivers/edac/e752x_edac.c process_threshold_ce(mci, error_one, error_found, handle_error); mci 826 drivers/edac/e752x_edac.c process_threshold_ce(mci, error_next, error_found, mci 830 drivers/edac/e752x_edac.c process_ue(mci, error_one, info->dram_ded_add, mci 834 drivers/edac/e752x_edac.c process_ue(mci, error_next, info->dram_ded_add, mci 838 drivers/edac/e752x_edac.c static void e752x_get_error_info(struct mem_ctl_info *mci, mci 845 drivers/edac/e752x_edac.c pvt = (struct e752x_pvt *)mci->pvt_info; mci 945 drivers/edac/e752x_edac.c static int e752x_process_error_info(struct mem_ctl_info *mci, mci 975 drivers/edac/e752x_edac.c e752x_check_dram(mci, info, &error_found, handle_errors); mci 979 drivers/edac/e752x_edac.c static void e752x_check(struct mem_ctl_info *mci) mci 984 drivers/edac/e752x_edac.c e752x_get_error_info(mci, &info); mci 985 drivers/edac/e752x_edac.c e752x_process_error_info(mci, &info, 1); mci 989 drivers/edac/e752x_edac.c static int set_sdram_scrub_rate(struct mem_ctl_info *mci, u32 new_bw) mci 992 drivers/edac/e752x_edac.c struct e752x_pvt *pvt = (struct e752x_pvt *) mci->pvt_info; mci 1018 drivers/edac/e752x_edac.c static int get_sdram_scrub_rate(struct mem_ctl_info *mci) mci 1021 drivers/edac/e752x_edac.c struct e752x_pvt *pvt = (struct e752x_pvt *) mci->pvt_info; mci 1056 drivers/edac/e752x_edac.c static inline int remap_csrow_index(struct mem_ctl_info *mci, int index) mci 1058 drivers/edac/e752x_edac.c struct e752x_pvt *pvt = mci->pvt_info; mci 1066 drivers/edac/e752x_edac.c static void e752x_init_csrows(struct mem_ctl_info *mci, struct pci_dev *pdev, mci 1094 drivers/edac/e752x_edac.c for (last_cumul_size = index = 0; index < mci->nr_csrows; index++) { mci 1097 drivers/edac/e752x_edac.c csrow = mci->csrows[remap_csrow_index(mci, index)]; mci 1119 drivers/edac/e752x_edac.c mci->edac_cap |= EDAC_FLAG_S4ECD4ED; mci 1122 drivers/edac/e752x_edac.c mci->edac_cap |= EDAC_FLAG_SECDED; mci 1260 drivers/edac/e752x_edac.c struct mem_ctl_info *mci; mci 1294 drivers/edac/e752x_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt)); mci 1295 drivers/edac/e752x_edac.c if (mci == NULL) mci 1299 drivers/edac/e752x_edac.c mci->mtype_cap = MEM_FLAG_RDDR; mci 1301 drivers/edac/e752x_edac.c mci->edac_ctl_cap = (dev_idx == I3100) ? EDAC_FLAG_SECDED : mci 1304 drivers/edac/e752x_edac.c mci->mod_name = EDAC_MOD_STR; mci 1305 drivers/edac/e752x_edac.c mci->pdev = &pdev->dev; mci 1308 drivers/edac/e752x_edac.c pvt = (struct e752x_pvt *)mci->pvt_info; mci 1313 drivers/edac/e752x_edac.c edac_mc_free(mci); mci 1318 drivers/edac/e752x_edac.c mci->ctl_name = pvt->dev_info->ctl_name; mci 1319 drivers/edac/e752x_edac.c mci->dev_name = pci_name(pdev); mci 1320 drivers/edac/e752x_edac.c mci->edac_check = e752x_check; mci 1321 drivers/edac/e752x_edac.c mci->ctl_page_to_phys = ctl_page_to_phys; mci 1322 drivers/edac/e752x_edac.c mci->set_sdram_scrub_rate = set_sdram_scrub_rate; mci 1323 drivers/edac/e752x_edac.c mci->get_sdram_scrub_rate = get_sdram_scrub_rate; mci 1332 drivers/edac/e752x_edac.c e752x_init_csrows(mci, pdev, ddrcsr); mci 1336 drivers/edac/e752x_edac.c mci->edac_cap = EDAC_FLAG_SECDED; /* the only mode supported */ mci 1338 drivers/edac/e752x_edac.c mci->edac_cap |= EDAC_FLAG_NONE; mci 1355 drivers/edac/e752x_edac.c if (edac_mc_add_mc(mci)) { mci 1361 drivers/edac/e752x_edac.c e752x_get_error_info(mci, &discard); /* clear other MCH errors */ mci 1380 drivers/edac/e752x_edac.c edac_mc_free(mci); mci 1399 drivers/edac/e752x_edac.c struct mem_ctl_info *mci; mci 1407 drivers/edac/e752x_edac.c if ((mci = edac_mc_del_mc(&pdev->dev)) == NULL) mci 1410 drivers/edac/e752x_edac.c pvt = (struct e752x_pvt *)mci->pvt_info; mci 1413 drivers/edac/e752x_edac.c edac_mc_free(mci); mci 40 drivers/edac/e7xxx_edac.c #define e7xxx_mc_printk(mci, level, fmt, arg...) \ mci 41 drivers/edac/e7xxx_edac.c edac_mc_chipset_printk(mci, level, "e7xxx", fmt, ##arg) mci 182 drivers/edac/e7xxx_edac.c static unsigned long ctl_page_to_phys(struct mem_ctl_info *mci, mci 186 drivers/edac/e7xxx_edac.c struct e7xxx_pvt *pvt = (struct e7xxx_pvt *)mci->pvt_info; mci 203 drivers/edac/e7xxx_edac.c static void process_ce(struct mem_ctl_info *mci, struct e7xxx_error_info *info) mci 218 drivers/edac/e7xxx_edac.c row = edac_mc_find_csrow_by_page(mci, page); mci 221 drivers/edac/e7xxx_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, page, 0, syndrome, mci 225 drivers/edac/e7xxx_edac.c static void process_ce_no_info(struct mem_ctl_info *mci) mci 228 drivers/edac/e7xxx_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, 0, 0, 0, -1, -1, -1, mci 232 drivers/edac/e7xxx_edac.c static void process_ue(struct mem_ctl_info *mci, struct e7xxx_error_info *info) mci 242 drivers/edac/e7xxx_edac.c row = edac_mc_find_csrow_by_page(mci, block_page); mci 244 drivers/edac/e7xxx_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, block_page, 0, 0, mci 248 drivers/edac/e7xxx_edac.c static void process_ue_no_info(struct mem_ctl_info *mci) mci 252 drivers/edac/e7xxx_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, 0, 0, 0, -1, -1, -1, mci 256 drivers/edac/e7xxx_edac.c static void e7xxx_get_error_info(struct mem_ctl_info *mci, mci 261 drivers/edac/e7xxx_edac.c pvt = (struct e7xxx_pvt *)mci->pvt_info; mci 284 drivers/edac/e7xxx_edac.c static int e7xxx_process_error_info(struct mem_ctl_info *mci, mci 297 drivers/edac/e7xxx_edac.c process_ce(mci, info); mci 304 drivers/edac/e7xxx_edac.c process_ue(mci, info); mci 312 drivers/edac/e7xxx_edac.c process_ce_no_info(mci); mci 314 drivers/edac/e7xxx_edac.c process_ce(mci, info); mci 323 drivers/edac/e7xxx_edac.c process_ue_no_info(mci); mci 325 drivers/edac/e7xxx_edac.c process_ue(mci, info); mci 332 drivers/edac/e7xxx_edac.c static void e7xxx_check(struct mem_ctl_info *mci) mci 337 drivers/edac/e7xxx_edac.c e7xxx_get_error_info(mci, &info); mci 338 drivers/edac/e7xxx_edac.c e7xxx_process_error_info(mci, &info, 1); mci 354 drivers/edac/e7xxx_edac.c static void e7xxx_init_csrows(struct mem_ctl_info *mci, struct pci_dev *pdev, mci 377 drivers/edac/e7xxx_edac.c for (index = 0; index < mci->nr_csrows; index++) { mci 380 drivers/edac/e7xxx_edac.c csrow = mci->csrows[index]; mci 401 drivers/edac/e7xxx_edac.c mci->edac_cap |= EDAC_FLAG_S4ECD4ED; mci 404 drivers/edac/e7xxx_edac.c mci->edac_cap |= EDAC_FLAG_SECDED; mci 424 drivers/edac/e7xxx_edac.c struct mem_ctl_info *mci = NULL; mci 450 drivers/edac/e7xxx_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt)); mci 451 drivers/edac/e7xxx_edac.c if (mci == NULL) mci 455 drivers/edac/e7xxx_edac.c mci->mtype_cap = MEM_FLAG_RDDR; mci 456 drivers/edac/e7xxx_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED | mci 459 drivers/edac/e7xxx_edac.c mci->mod_name = EDAC_MOD_STR; mci 460 drivers/edac/e7xxx_edac.c mci->pdev = &pdev->dev; mci 462 drivers/edac/e7xxx_edac.c pvt = (struct e7xxx_pvt *)mci->pvt_info; mci 475 drivers/edac/e7xxx_edac.c mci->ctl_name = pvt->dev_info->ctl_name; mci 476 drivers/edac/e7xxx_edac.c mci->dev_name = pci_name(pdev); mci 477 drivers/edac/e7xxx_edac.c mci->edac_check = e7xxx_check; mci 478 drivers/edac/e7xxx_edac.c mci->ctl_page_to_phys = ctl_page_to_phys; mci 479 drivers/edac/e7xxx_edac.c e7xxx_init_csrows(mci, pdev, dev_idx, drc); mci 480 drivers/edac/e7xxx_edac.c mci->edac_cap |= EDAC_FLAG_NONE; mci 494 drivers/edac/e7xxx_edac.c e7xxx_get_error_info(mci, &discard); mci 499 drivers/edac/e7xxx_edac.c if (edac_mc_add_mc(mci)) { mci 523 drivers/edac/e7xxx_edac.c edac_mc_free(mci); mci 540 drivers/edac/e7xxx_edac.c struct mem_ctl_info *mci; mci 548 drivers/edac/e7xxx_edac.c if ((mci = edac_mc_del_mc(&pdev->dev)) == NULL) mci 551 drivers/edac/e7xxx_edac.c pvt = (struct e7xxx_pvt *)mci->pvt_info; mci 553 drivers/edac/e7xxx_edac.c edac_mc_free(mci); mci 120 drivers/edac/edac_mc.c struct mem_ctl_info *mci = dimm->mci; mci 124 drivers/edac/edac_mc.c for (i = 0; i < mci->n_layers; i++) { mci 126 drivers/edac/edac_mc.c edac_layer_name[mci->layers[i].type], mci 155 drivers/edac/edac_mc.c dimm->mci->csbased ? "rank" : "dimm", mci 173 drivers/edac/edac_mc.c edac_dbg(4, " csrow->mci = %p\n", csrow->mci); mci 176 drivers/edac/edac_mc.c static void edac_mc_dump_mci(struct mem_ctl_info *mci) mci 178 drivers/edac/edac_mc.c edac_dbg(3, "\tmci = %p\n", mci); mci 179 drivers/edac/edac_mc.c edac_dbg(3, "\tmci->mtype_cap = %lx\n", mci->mtype_cap); mci 180 drivers/edac/edac_mc.c edac_dbg(3, "\tmci->edac_ctl_cap = %lx\n", mci->edac_ctl_cap); mci 181 drivers/edac/edac_mc.c edac_dbg(3, "\tmci->edac_cap = %lx\n", mci->edac_cap); mci 182 drivers/edac/edac_mc.c edac_dbg(4, "\tmci->edac_check = %p\n", mci->edac_check); mci 184 drivers/edac/edac_mc.c mci->nr_csrows, mci->csrows); mci 186 drivers/edac/edac_mc.c mci->tot_dimms, mci->dimms); mci 187 drivers/edac/edac_mc.c edac_dbg(3, "\tdev = %p\n", mci->pdev); mci 189 drivers/edac/edac_mc.c mci->mod_name, mci->ctl_name); mci 190 drivers/edac/edac_mc.c edac_dbg(3, "\tpvt_info = %p\n\n", mci->pvt_info); mci 276 drivers/edac/edac_mc.c static void _edac_mc_free(struct mem_ctl_info *mci) mci 281 drivers/edac/edac_mc.c if (mci->dimms) { mci 282 drivers/edac/edac_mc.c for (i = 0; i < mci->tot_dimms; i++) mci 283 drivers/edac/edac_mc.c kfree(mci->dimms[i]); mci 284 drivers/edac/edac_mc.c kfree(mci->dimms); mci 287 drivers/edac/edac_mc.c if (mci->csrows) { mci 288 drivers/edac/edac_mc.c for (row = 0; row < mci->nr_csrows; row++) { mci 289 drivers/edac/edac_mc.c csr = mci->csrows[row]; mci 294 drivers/edac/edac_mc.c for (chn = 0; chn < mci->num_cschannel; chn++) mci 300 drivers/edac/edac_mc.c kfree(mci->csrows); mci 302 drivers/edac/edac_mc.c kfree(mci); mci 310 drivers/edac/edac_mc.c struct mem_ctl_info *mci; mci 344 drivers/edac/edac_mc.c mci = edac_align_ptr(&ptr, sizeof(*mci), 1); mci 364 drivers/edac/edac_mc.c mci = kzalloc(size, GFP_KERNEL); mci 365 drivers/edac/edac_mc.c if (mci == NULL) mci 371 drivers/edac/edac_mc.c layer = (struct edac_mc_layer *)(((char *)mci) + ((unsigned long)layer)); mci 373 drivers/edac/edac_mc.c mci->ce_per_layer[i] = (u32 *)((char *)mci + ((unsigned long)ce_per_layer[i])); mci 374 drivers/edac/edac_mc.c mci->ue_per_layer[i] = (u32 *)((char *)mci + ((unsigned long)ue_per_layer[i])); mci 376 drivers/edac/edac_mc.c pvt = sz_pvt ? (((char *)mci) + ((unsigned long)pvt)) : NULL; mci 379 drivers/edac/edac_mc.c mci->mc_idx = mc_num; mci 380 drivers/edac/edac_mc.c mci->tot_dimms = tot_dimms; mci 381 drivers/edac/edac_mc.c mci->pvt_info = pvt; mci 382 drivers/edac/edac_mc.c mci->n_layers = n_layers; mci 383 drivers/edac/edac_mc.c mci->layers = layer; mci 384 drivers/edac/edac_mc.c memcpy(mci->layers, layers, sizeof(*layer) * n_layers); mci 385 drivers/edac/edac_mc.c mci->nr_csrows = tot_csrows; mci 386 drivers/edac/edac_mc.c mci->num_cschannel = tot_channels; mci 387 drivers/edac/edac_mc.c mci->csbased = per_rank; mci 392 drivers/edac/edac_mc.c mci->csrows = kcalloc(tot_csrows, sizeof(*mci->csrows), GFP_KERNEL); mci 393 drivers/edac/edac_mc.c if (!mci->csrows) mci 396 drivers/edac/edac_mc.c csr = kzalloc(sizeof(**mci->csrows), GFP_KERNEL); mci 399 drivers/edac/edac_mc.c mci->csrows[row] = csr; mci 401 drivers/edac/edac_mc.c csr->mci = mci; mci 421 drivers/edac/edac_mc.c mci->dimms = kcalloc(tot_dimms, sizeof(*mci->dimms), GFP_KERNEL); mci 422 drivers/edac/edac_mc.c if (!mci->dimms) mci 429 drivers/edac/edac_mc.c chan = mci->csrows[row]->channels[chn]; mci 432 drivers/edac/edac_mc.c edac_mc_printk(mci, KERN_ERR, "EDAC core bug: EDAC_DIMM_OFF is trying to do an illegal data access\n"); mci 436 drivers/edac/edac_mc.c dimm = kzalloc(sizeof(**mci->dimms), GFP_KERNEL); mci 439 drivers/edac/edac_mc.c mci->dimms[off] = dimm; mci 440 drivers/edac/edac_mc.c dimm->mci = mci; mci 491 drivers/edac/edac_mc.c mci->op_state = OP_ALLOC; mci 493 drivers/edac/edac_mc.c return mci; mci 496 drivers/edac/edac_mc.c _edac_mc_free(mci); mci 502 drivers/edac/edac_mc.c void edac_mc_free(struct mem_ctl_info *mci) mci 506 drivers/edac/edac_mc.c if (device_is_registered(&mci->dev)) mci 507 drivers/edac/edac_mc.c edac_unregister_sysfs(mci); mci 509 drivers/edac/edac_mc.c _edac_mc_free(mci); mci 530 drivers/edac/edac_mc.c struct mem_ctl_info *mci; mci 536 drivers/edac/edac_mc.c mci = list_entry(item, struct mem_ctl_info, link); mci 538 drivers/edac/edac_mc.c if (mci->pdev == dev) mci 539 drivers/edac/edac_mc.c return mci; mci 571 drivers/edac/edac_mc.c struct mem_ctl_info *mci = to_edac_mem_ctl_work(d_work); mci 575 drivers/edac/edac_mc.c if (mci->op_state != OP_RUNNING_POLL) { mci 581 drivers/edac/edac_mc.c mci->edac_check(mci); mci 586 drivers/edac/edac_mc.c edac_queue_work(&mci->work, msecs_to_jiffies(edac_mc_get_poll_msec())); mci 597 drivers/edac/edac_mc.c struct mem_ctl_info *mci; mci 603 drivers/edac/edac_mc.c mci = list_entry(item, struct mem_ctl_info, link); mci 605 drivers/edac/edac_mc.c if (mci->op_state == OP_RUNNING_POLL) mci 606 drivers/edac/edac_mc.c edac_mod_work(&mci->work, value); mci 621 drivers/edac/edac_mc.c static int add_mc_to_global_list(struct mem_ctl_info *mci) mci 628 drivers/edac/edac_mc.c p = __find_mci_by_dev(mci->pdev); mci 635 drivers/edac/edac_mc.c if (p->mc_idx >= mci->mc_idx) { mci 636 drivers/edac/edac_mc.c if (unlikely(p->mc_idx == mci->mc_idx)) mci 644 drivers/edac/edac_mc.c list_add_tail_rcu(&mci->link, insert_before); mci 650 drivers/edac/edac_mc.c edac_dev_name(mci), p->mod_name, p->ctl_name, p->mc_idx); mci 660 drivers/edac/edac_mc.c static int del_mc_from_global_list(struct mem_ctl_info *mci) mci 662 drivers/edac/edac_mc.c list_del_rcu(&mci->link); mci 668 drivers/edac/edac_mc.c INIT_LIST_HEAD(&mci->link); mci 675 drivers/edac/edac_mc.c struct mem_ctl_info *mci; mci 681 drivers/edac/edac_mc.c mci = list_entry(item, struct mem_ctl_info, link); mci 682 drivers/edac/edac_mc.c if (mci->mc_idx == idx) mci 686 drivers/edac/edac_mc.c mci = NULL; mci 689 drivers/edac/edac_mc.c return mci; mci 700 drivers/edac/edac_mc.c int edac_mc_add_mc_with_groups(struct mem_ctl_info *mci, mci 708 drivers/edac/edac_mc.c edac_mc_dump_mci(mci); mci 713 drivers/edac/edac_mc.c for (i = 0; i < mci->nr_csrows; i++) { mci 714 drivers/edac/edac_mc.c struct csrow_info *csrow = mci->csrows[i]; mci 727 drivers/edac/edac_mc.c for (i = 0; i < mci->tot_dimms; i++) mci 728 drivers/edac/edac_mc.c if (mci->dimms[i]->nr_pages) mci 729 drivers/edac/edac_mc.c edac_mc_dump_dimm(mci->dimms[i], i); mci 734 drivers/edac/edac_mc.c if (edac_mc_owner && edac_mc_owner != mci->mod_name) { mci 739 drivers/edac/edac_mc.c if (add_mc_to_global_list(mci)) mci 743 drivers/edac/edac_mc.c mci->start_time = jiffies; mci 745 drivers/edac/edac_mc.c mci->bus = edac_get_sysfs_subsys(); mci 747 drivers/edac/edac_mc.c if (edac_create_sysfs_mci_device(mci, groups)) { mci 748 drivers/edac/edac_mc.c edac_mc_printk(mci, KERN_WARNING, mci 753 drivers/edac/edac_mc.c if (mci->edac_check) { mci 754 drivers/edac/edac_mc.c mci->op_state = OP_RUNNING_POLL; mci 756 drivers/edac/edac_mc.c INIT_DELAYED_WORK(&mci->work, edac_mc_workq_function); mci 757 drivers/edac/edac_mc.c edac_queue_work(&mci->work, msecs_to_jiffies(edac_mc_get_poll_msec())); mci 760 drivers/edac/edac_mc.c mci->op_state = OP_RUNNING_INTERRUPT; mci 764 drivers/edac/edac_mc.c edac_mc_printk(mci, KERN_INFO, mci 766 drivers/edac/edac_mc.c mci->mod_name, mci->ctl_name, mci->dev_name, mci 767 drivers/edac/edac_mc.c edac_op_state_to_string(mci->op_state)); mci 769 drivers/edac/edac_mc.c edac_mc_owner = mci->mod_name; mci 775 drivers/edac/edac_mc.c del_mc_from_global_list(mci); mci 785 drivers/edac/edac_mc.c struct mem_ctl_info *mci; mci 792 drivers/edac/edac_mc.c mci = __find_mci_by_dev(dev); mci 793 drivers/edac/edac_mc.c if (mci == NULL) { mci 799 drivers/edac/edac_mc.c mci->op_state = OP_OFFLINE; mci 801 drivers/edac/edac_mc.c if (del_mc_from_global_list(mci)) mci 806 drivers/edac/edac_mc.c if (mci->edac_check) mci 807 drivers/edac/edac_mc.c edac_stop_work(&mci->work); mci 810 drivers/edac/edac_mc.c edac_remove_sysfs_mci_device(mci); mci 813 drivers/edac/edac_mc.c "Removed device %d for %s %s: DEV %s\n", mci->mc_idx, mci 814 drivers/edac/edac_mc.c mci->mod_name, mci->ctl_name, edac_dev_name(mci)); mci 816 drivers/edac/edac_mc.c return mci; mci 852 drivers/edac/edac_mc.c int edac_mc_find_csrow_by_page(struct mem_ctl_info *mci, unsigned long page) mci 854 drivers/edac/edac_mc.c struct csrow_info **csrows = mci->csrows; mci 857 drivers/edac/edac_mc.c edac_dbg(1, "MC%d: 0x%lx\n", mci->mc_idx, page); mci 860 drivers/edac/edac_mc.c for (i = 0; i < mci->nr_csrows; i++) { mci 871 drivers/edac/edac_mc.c mci->mc_idx, mci 885 drivers/edac/edac_mc.c edac_mc_printk(mci, KERN_ERR, mci 902 drivers/edac/edac_mc.c static void edac_inc_ce_error(struct mem_ctl_info *mci, mci 909 drivers/edac/edac_mc.c mci->ce_mc += count; mci 912 drivers/edac/edac_mc.c mci->ce_noinfo_count += count; mci 916 drivers/edac/edac_mc.c for (i = 0; i < mci->n_layers; i++) { mci 920 drivers/edac/edac_mc.c mci->ce_per_layer[i][index] += count; mci 922 drivers/edac/edac_mc.c if (i < mci->n_layers - 1) mci 923 drivers/edac/edac_mc.c index *= mci->layers[i + 1].size; mci 927 drivers/edac/edac_mc.c static void edac_inc_ue_error(struct mem_ctl_info *mci, mci 934 drivers/edac/edac_mc.c mci->ue_mc += count; mci 937 drivers/edac/edac_mc.c mci->ue_noinfo_count += count; mci 941 drivers/edac/edac_mc.c for (i = 0; i < mci->n_layers; i++) { mci 945 drivers/edac/edac_mc.c mci->ue_per_layer[i][index] += count; mci 947 drivers/edac/edac_mc.c if (i < mci->n_layers - 1) mci 948 drivers/edac/edac_mc.c index *= mci->layers[i + 1].size; mci 952 drivers/edac/edac_mc.c static void edac_ce_error(struct mem_ctl_info *mci, mci 973 drivers/edac/edac_mc.c edac_mc_printk(mci, KERN_WARNING, mci 978 drivers/edac/edac_mc.c edac_mc_printk(mci, KERN_WARNING, mci 983 drivers/edac/edac_mc.c edac_inc_ce_error(mci, enable_per_layer_report, pos, error_count); mci 985 drivers/edac/edac_mc.c if (mci->scrub_mode == SCRUB_SW_SRC) { mci 997 drivers/edac/edac_mc.c remapped_page = mci->ctl_page_to_phys ? mci 998 drivers/edac/edac_mc.c mci->ctl_page_to_phys(mci, page_frame_number) : mci 1006 drivers/edac/edac_mc.c static void edac_ue_error(struct mem_ctl_info *mci, mci 1023 drivers/edac/edac_mc.c edac_mc_printk(mci, KERN_WARNING, mci 1028 drivers/edac/edac_mc.c edac_mc_printk(mci, KERN_WARNING, mci 1043 drivers/edac/edac_mc.c edac_inc_ue_error(mci, enable_per_layer_report, pos, error_count); mci 1047 drivers/edac/edac_mc.c struct mem_ctl_info *mci, mci 1059 drivers/edac/edac_mc.c edac_ce_error(mci, e->error_count, pos, e->msg, e->location, e->label, mci 1067 drivers/edac/edac_mc.c edac_ue_error(mci, e->error_count, pos, e->msg, e->location, e->label, mci 1076 drivers/edac/edac_mc.c struct mem_ctl_info *mci, mci 1092 drivers/edac/edac_mc.c struct edac_raw_error_desc *e = &mci->error_desc; mci 1094 drivers/edac/edac_mc.c edac_dbg(3, "MC%d\n", mci->mc_idx); mci 1114 drivers/edac/edac_mc.c for (i = 0; i < mci->n_layers; i++) { mci 1115 drivers/edac/edac_mc.c if (pos[i] >= (int)mci->layers[i].size) { mci 1117 drivers/edac/edac_mc.c edac_mc_printk(mci, KERN_ERR, mci 1119 drivers/edac/edac_mc.c edac_layer_name[mci->layers[i].type], mci 1120 drivers/edac/edac_mc.c pos[i], mci->layers[i].size); mci 1147 drivers/edac/edac_mc.c for (i = 0; i < mci->tot_dimms; i++) { mci 1148 drivers/edac/edac_mc.c struct dimm_info *dimm = mci->dimms[i]; mci 1186 drivers/edac/edac_mc.c mci->csbased ? "rank" : "dimm", mci 1208 drivers/edac/edac_mc.c mci->csrows[row]->ce_count += error_count; mci 1210 drivers/edac/edac_mc.c mci->csrows[row]->channels[chan]->ce_count += error_count; mci 1214 drivers/edac/edac_mc.c mci->csrows[row]->ue_count += error_count; mci 1220 drivers/edac/edac_mc.c for (i = 0; i < mci->n_layers; i++) { mci 1225 drivers/edac/edac_mc.c edac_layer_name[mci->layers[i].type], mci 1240 drivers/edac/edac_mc.c mci->mc_idx, e->top_layer, e->mid_layer, mci 1245 drivers/edac/edac_mc.c edac_raw_mc_handle_error(type, mci, e); mci 51 drivers/edac/edac_mc.h #define edac_mc_printk(mci, level, fmt, arg...) \ mci 52 drivers/edac/edac_mc.h printk(level "EDAC MC%d: " fmt, mci->mc_idx, ##arg) mci 54 drivers/edac/edac_mc.h #define edac_mc_chipset_printk(mci, level, prefix, fmt, arg...) \ mci 55 drivers/edac/edac_mc.h printk(level "EDAC " prefix " MC%d: " fmt, mci->mc_idx, ##arg) mci 148 drivers/edac/edac_mc.h extern int edac_mc_add_mc_with_groups(struct mem_ctl_info *mci, mci 150 drivers/edac/edac_mc.h #define edac_mc_add_mc(mci) edac_mc_add_mc_with_groups(mci, NULL) mci 157 drivers/edac/edac_mc.h extern void edac_mc_free(struct mem_ctl_info *mci); mci 208 drivers/edac/edac_mc.h extern int edac_mc_find_csrow_by_page(struct mem_ctl_info *mci, mci 224 drivers/edac/edac_mc.h struct mem_ctl_info *mci, mci 246 drivers/edac/edac_mc.h struct mem_ctl_info *mci, mci 401 drivers/edac/edac_mc_sysfs.c static int edac_create_csrow_object(struct mem_ctl_info *mci, mci 409 drivers/edac/edac_mc_sysfs.c csrow->dev.parent = &mci->dev; mci 410 drivers/edac/edac_mc_sysfs.c csrow->mci = mci; mci 427 drivers/edac/edac_mc_sysfs.c static int edac_create_csrow_objects(struct mem_ctl_info *mci) mci 432 drivers/edac/edac_mc_sysfs.c for (i = 0; i < mci->nr_csrows; i++) { mci 433 drivers/edac/edac_mc_sysfs.c csrow = mci->csrows[i]; mci 436 drivers/edac/edac_mc_sysfs.c err = edac_create_csrow_object(mci, mci->csrows[i], i); mci 444 drivers/edac/edac_mc_sysfs.c csrow = mci->csrows[i]; mci 447 drivers/edac/edac_mc_sysfs.c device_unregister(&mci->csrows[i]->dev); mci 453 drivers/edac/edac_mc_sysfs.c static void edac_delete_csrow_objects(struct mem_ctl_info *mci) mci 458 drivers/edac/edac_mc_sysfs.c for (i = mci->nr_csrows - 1; i >= 0; i--) { mci 459 drivers/edac/edac_mc_sysfs.c csrow = mci->csrows[i]; mci 462 drivers/edac/edac_mc_sysfs.c device_unregister(&mci->csrows[i]->dev); mci 558 drivers/edac/edac_mc_sysfs.c off = EDAC_DIMM_OFF(dimm->mci->layers, mci 559 drivers/edac/edac_mc_sysfs.c dimm->mci->n_layers, mci 563 drivers/edac/edac_mc_sysfs.c count = dimm->mci->ce_per_layer[dimm->mci->n_layers-1][off]; mci 575 drivers/edac/edac_mc_sysfs.c off = EDAC_DIMM_OFF(dimm->mci->layers, mci 576 drivers/edac/edac_mc_sysfs.c dimm->mci->n_layers, mci 580 drivers/edac/edac_mc_sysfs.c count = dimm->mci->ue_per_layer[dimm->mci->n_layers-1][off]; mci 628 drivers/edac/edac_mc_sysfs.c static int edac_create_dimm_object(struct mem_ctl_info *mci, mci 633 drivers/edac/edac_mc_sysfs.c dimm->mci = mci; mci 638 drivers/edac/edac_mc_sysfs.c dimm->dev.parent = &mci->dev; mci 639 drivers/edac/edac_mc_sysfs.c if (mci->csbased) mci 644 drivers/edac/edac_mc_sysfs.c pm_runtime_forbid(&mci->dev); mci 674 drivers/edac/edac_mc_sysfs.c struct mem_ctl_info *mci = to_mci(dev); mci 676 drivers/edac/edac_mc_sysfs.c mci->ue_mc = 0; mci 677 drivers/edac/edac_mc_sysfs.c mci->ce_mc = 0; mci 678 drivers/edac/edac_mc_sysfs.c mci->ue_noinfo_count = 0; mci 679 drivers/edac/edac_mc_sysfs.c mci->ce_noinfo_count = 0; mci 681 drivers/edac/edac_mc_sysfs.c for (row = 0; row < mci->nr_csrows; row++) { mci 682 drivers/edac/edac_mc_sysfs.c struct csrow_info *ri = mci->csrows[row]; mci 692 drivers/edac/edac_mc_sysfs.c for (i = 0; i < mci->n_layers; i++) { mci 693 drivers/edac/edac_mc_sysfs.c cnt *= mci->layers[i].size; mci 694 drivers/edac/edac_mc_sysfs.c memset(mci->ce_per_layer[i], 0, cnt * sizeof(u32)); mci 695 drivers/edac/edac_mc_sysfs.c memset(mci->ue_per_layer[i], 0, cnt * sizeof(u32)); mci 698 drivers/edac/edac_mc_sysfs.c mci->start_time = jiffies; mci 715 drivers/edac/edac_mc_sysfs.c struct mem_ctl_info *mci = to_mci(dev); mci 722 drivers/edac/edac_mc_sysfs.c new_bw = mci->set_sdram_scrub_rate(mci, bandwidth); mci 739 drivers/edac/edac_mc_sysfs.c struct mem_ctl_info *mci = to_mci(dev); mci 742 drivers/edac/edac_mc_sysfs.c bandwidth = mci->get_sdram_scrub_rate(mci); mci 756 drivers/edac/edac_mc_sysfs.c struct mem_ctl_info *mci = to_mci(dev); mci 758 drivers/edac/edac_mc_sysfs.c return sprintf(data, "%d\n", mci->ue_mc); mci 765 drivers/edac/edac_mc_sysfs.c struct mem_ctl_info *mci = to_mci(dev); mci 767 drivers/edac/edac_mc_sysfs.c return sprintf(data, "%d\n", mci->ce_mc); mci 774 drivers/edac/edac_mc_sysfs.c struct mem_ctl_info *mci = to_mci(dev); mci 776 drivers/edac/edac_mc_sysfs.c return sprintf(data, "%d\n", mci->ce_noinfo_count); mci 783 drivers/edac/edac_mc_sysfs.c struct mem_ctl_info *mci = to_mci(dev); mci 785 drivers/edac/edac_mc_sysfs.c return sprintf(data, "%d\n", mci->ue_noinfo_count); mci 792 drivers/edac/edac_mc_sysfs.c struct mem_ctl_info *mci = to_mci(dev); mci 794 drivers/edac/edac_mc_sysfs.c return sprintf(data, "%ld\n", (jiffies - mci->start_time) / HZ); mci 801 drivers/edac/edac_mc_sysfs.c struct mem_ctl_info *mci = to_mci(dev); mci 803 drivers/edac/edac_mc_sysfs.c return sprintf(data, "%s\n", mci->ctl_name); mci 810 drivers/edac/edac_mc_sysfs.c struct mem_ctl_info *mci = to_mci(dev); mci 813 drivers/edac/edac_mc_sysfs.c for (csrow_idx = 0; csrow_idx < mci->nr_csrows; csrow_idx++) { mci 814 drivers/edac/edac_mc_sysfs.c struct csrow_info *csrow = mci->csrows[csrow_idx]; mci 830 drivers/edac/edac_mc_sysfs.c struct mem_ctl_info *mci = to_mci(dev); mci 834 drivers/edac/edac_mc_sysfs.c for (i = 0; i < mci->n_layers; i++) { mci 836 drivers/edac/edac_mc_sysfs.c edac_layer_name[mci->layers[i].type], mci 837 drivers/edac/edac_mc_sysfs.c mci->layers[i].size - 1); mci 878 drivers/edac/edac_mc_sysfs.c struct mem_ctl_info *mci = to_mci(dev); mci 883 drivers/edac/edac_mc_sysfs.c if (mci->get_sdram_scrub_rate) mci 885 drivers/edac/edac_mc_sysfs.c if (mci->set_sdram_scrub_rate) mci 918 drivers/edac/edac_mc_sysfs.c int edac_create_sysfs_mci_device(struct mem_ctl_info *mci, mci 924 drivers/edac/edac_mc_sysfs.c mci->dev.type = &mci_attr_type; mci 925 drivers/edac/edac_mc_sysfs.c device_initialize(&mci->dev); mci 927 drivers/edac/edac_mc_sysfs.c mci->dev.parent = mci_pdev; mci 928 drivers/edac/edac_mc_sysfs.c mci->dev.groups = groups; mci 929 drivers/edac/edac_mc_sysfs.c dev_set_name(&mci->dev, "mc%d", mci->mc_idx); mci 930 drivers/edac/edac_mc_sysfs.c dev_set_drvdata(&mci->dev, mci); mci 931 drivers/edac/edac_mc_sysfs.c pm_runtime_forbid(&mci->dev); mci 933 drivers/edac/edac_mc_sysfs.c err = device_add(&mci->dev); mci 935 drivers/edac/edac_mc_sysfs.c edac_dbg(1, "failure: create device %s\n", dev_name(&mci->dev)); mci 936 drivers/edac/edac_mc_sysfs.c put_device(&mci->dev); mci 940 drivers/edac/edac_mc_sysfs.c edac_dbg(0, "device %s created\n", dev_name(&mci->dev)); mci 945 drivers/edac/edac_mc_sysfs.c for (i = 0; i < mci->tot_dimms; i++) { mci 946 drivers/edac/edac_mc_sysfs.c struct dimm_info *dimm = mci->dimms[i]; mci 951 drivers/edac/edac_mc_sysfs.c err = edac_create_dimm_object(mci, dimm, i); mci 957 drivers/edac/edac_mc_sysfs.c err = edac_create_csrow_objects(mci); mci 962 drivers/edac/edac_mc_sysfs.c edac_create_debugfs_nodes(mci); mci 967 drivers/edac/edac_mc_sysfs.c struct dimm_info *dimm = mci->dimms[i]; mci 973 drivers/edac/edac_mc_sysfs.c device_unregister(&mci->dev); mci 981 drivers/edac/edac_mc_sysfs.c void edac_remove_sysfs_mci_device(struct mem_ctl_info *mci) mci 988 drivers/edac/edac_mc_sysfs.c edac_debugfs_remove_recursive(mci->debugfs); mci 991 drivers/edac/edac_mc_sysfs.c edac_delete_csrow_objects(mci); mci 994 drivers/edac/edac_mc_sysfs.c for (i = 0; i < mci->tot_dimms; i++) { mci 995 drivers/edac/edac_mc_sysfs.c struct dimm_info *dimm = mci->dimms[i]; mci 1003 drivers/edac/edac_mc_sysfs.c void edac_unregister_sysfs(struct mem_ctl_info *mci) mci 1005 drivers/edac/edac_mc_sysfs.c edac_dbg(1, "unregistering device %s\n", dev_name(&mci->dev)); mci 1006 drivers/edac/edac_mc_sysfs.c device_unregister(&mci->dev); mci 28 drivers/edac/edac_module.h extern int edac_create_sysfs_mci_device(struct mem_ctl_info *mci, mci 30 drivers/edac/edac_module.h extern void edac_remove_sysfs_mci_device(struct mem_ctl_info *mci); mci 31 drivers/edac/edac_module.h void edac_unregister_sysfs(struct mem_ctl_info *mci); mci 74 drivers/edac/edac_module.h void edac_create_debugfs_nodes(struct mem_ctl_info *mci); mci 90 drivers/edac/edac_module.h static inline void edac_create_debugfs_nodes(struct mem_ctl_info *mci) { } mci 63 drivers/edac/fsl_ddr_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 64 drivers/edac/fsl_ddr_edac.c struct fsl_mc_pdata *pdata = mci->pvt_info; mci 73 drivers/edac/fsl_ddr_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 74 drivers/edac/fsl_ddr_edac.c struct fsl_mc_pdata *pdata = mci->pvt_info; mci 83 drivers/edac/fsl_ddr_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 84 drivers/edac/fsl_ddr_edac.c struct fsl_mc_pdata *pdata = mci->pvt_info; mci 93 drivers/edac/fsl_ddr_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 94 drivers/edac/fsl_ddr_edac.c struct fsl_mc_pdata *pdata = mci->pvt_info; mci 113 drivers/edac/fsl_ddr_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 114 drivers/edac/fsl_ddr_edac.c struct fsl_mc_pdata *pdata = mci->pvt_info; mci 133 drivers/edac/fsl_ddr_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 134 drivers/edac/fsl_ddr_edac.c struct fsl_mc_pdata *pdata = mci->pvt_info; mci 277 drivers/edac/fsl_ddr_edac.c static void fsl_mc_check(struct mem_ctl_info *mci) mci 279 drivers/edac/fsl_ddr_edac.c struct fsl_mc_pdata *pdata = mci->pvt_info; mci 296 drivers/edac/fsl_ddr_edac.c fsl_mc_printk(mci, KERN_ERR, "Err Detect Register: %#8.8x\n", mci 320 drivers/edac/fsl_ddr_edac.c for (row_index = 0; row_index < mci->nr_csrows; row_index++) { mci 321 drivers/edac/fsl_ddr_edac.c csrow = mci->csrows[row_index]; mci 338 drivers/edac/fsl_ddr_edac.c fsl_mc_printk(mci, KERN_ERR, mci 341 drivers/edac/fsl_ddr_edac.c fsl_mc_printk(mci, KERN_ERR, mci 344 drivers/edac/fsl_ddr_edac.c fsl_mc_printk(mci, KERN_ERR, mci 351 drivers/edac/fsl_ddr_edac.c fsl_mc_printk(mci, KERN_ERR, mci 354 drivers/edac/fsl_ddr_edac.c fsl_mc_printk(mci, KERN_ERR, "Err addr: %#8.8llx\n", err_addr); mci 355 drivers/edac/fsl_ddr_edac.c fsl_mc_printk(mci, KERN_ERR, "PFN: %#8.8x\n", pfn); mci 358 drivers/edac/fsl_ddr_edac.c if (row_index == mci->nr_csrows) mci 359 drivers/edac/fsl_ddr_edac.c fsl_mc_printk(mci, KERN_ERR, "PFN out of range!\n"); mci 362 drivers/edac/fsl_ddr_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 365 drivers/edac/fsl_ddr_edac.c mci->ctl_name, ""); mci 368 drivers/edac/fsl_ddr_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 371 drivers/edac/fsl_ddr_edac.c mci->ctl_name, ""); mci 378 drivers/edac/fsl_ddr_edac.c struct mem_ctl_info *mci = dev_id; mci 379 drivers/edac/fsl_ddr_edac.c struct fsl_mc_pdata *pdata = mci->pvt_info; mci 386 drivers/edac/fsl_ddr_edac.c fsl_mc_check(mci); mci 391 drivers/edac/fsl_ddr_edac.c static void fsl_ddr_init_csrows(struct mem_ctl_info *mci) mci 393 drivers/edac/fsl_ddr_edac.c struct fsl_mc_pdata *pdata = mci->pvt_info; mci 443 drivers/edac/fsl_ddr_edac.c for (index = 0; index < mci->nr_csrows; index++) { mci 447 drivers/edac/fsl_ddr_edac.c csrow = mci->csrows[index]; mci 478 drivers/edac/fsl_ddr_edac.c struct mem_ctl_info *mci; mci 494 drivers/edac/fsl_ddr_edac.c mci = edac_mc_alloc(edac_mc_idx, ARRAY_SIZE(layers), layers, mci 496 drivers/edac/fsl_ddr_edac.c if (!mci) { mci 501 drivers/edac/fsl_ddr_edac.c pdata = mci->pvt_info; mci 503 drivers/edac/fsl_ddr_edac.c mci->pdev = &op->dev; mci 505 drivers/edac/fsl_ddr_edac.c dev_set_drvdata(mci->pdev, mci); mci 506 drivers/edac/fsl_ddr_edac.c mci->ctl_name = pdata->name; mci 507 drivers/edac/fsl_ddr_edac.c mci->dev_name = pdata->name; mci 546 drivers/edac/fsl_ddr_edac.c mci->mtype_cap = MEM_FLAG_DDR | MEM_FLAG_RDDR | mci 550 drivers/edac/fsl_ddr_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED; mci 551 drivers/edac/fsl_ddr_edac.c mci->edac_cap = EDAC_FLAG_SECDED; mci 552 drivers/edac/fsl_ddr_edac.c mci->mod_name = EDAC_MOD_STR; mci 555 drivers/edac/fsl_ddr_edac.c mci->edac_check = fsl_mc_check; mci 557 drivers/edac/fsl_ddr_edac.c mci->ctl_page_to_phys = NULL; mci 559 drivers/edac/fsl_ddr_edac.c mci->scrub_mode = SCRUB_SW_SRC; mci 561 drivers/edac/fsl_ddr_edac.c fsl_ddr_init_csrows(mci); mci 570 drivers/edac/fsl_ddr_edac.c res = edac_mc_add_mc_with_groups(mci, fsl_ddr_dev_groups); mci 592 drivers/edac/fsl_ddr_edac.c "[EDAC] MC err", mci); mci 614 drivers/edac/fsl_ddr_edac.c edac_mc_free(mci); mci 620 drivers/edac/fsl_ddr_edac.c struct mem_ctl_info *mci = dev_get_drvdata(&op->dev); mci 621 drivers/edac/fsl_ddr_edac.c struct fsl_mc_pdata *pdata = mci->pvt_info; mci 634 drivers/edac/fsl_ddr_edac.c edac_mc_free(mci); mci 19 drivers/edac/fsl_ddr_edac.h #define fsl_mc_printk(mci, level, fmt, arg...) \ mci 20 drivers/edac/fsl_ddr_edac.h edac_mc_chipset_printk(mci, level, "FSL_DDR", fmt, ##arg) mci 21 drivers/edac/ghes_edac.c struct mem_ctl_info *mci; mci 79 drivers/edac/ghes_edac.c struct mem_ctl_info *mci; mci 91 drivers/edac/ghes_edac.c static int get_dimm_smbios_index(struct mem_ctl_info *mci, u16 handle) mci 95 drivers/edac/ghes_edac.c for (i = 0; i < mci->tot_dimms; i++) { mci 96 drivers/edac/ghes_edac.c if (mci->dimms[i]->smbios_handle == handle) mci 105 drivers/edac/ghes_edac.c struct mem_ctl_info *mci = dimm_fill->mci; mci 109 drivers/edac/ghes_edac.c struct dimm_info *dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci 110 drivers/edac/ghes_edac.c mci->n_layers, mci 208 drivers/edac/ghes_edac.c struct mem_ctl_info *mci; mci 228 drivers/edac/ghes_edac.c mci = pvt->mci; mci 229 drivers/edac/ghes_edac.c e = &mci->error_desc; mci 361 drivers/edac/ghes_edac.c index = get_dimm_smbios_index(mci, mem_err->mem_dev_handle); mci 456 drivers/edac/ghes_edac.c mci->mc_idx, e->top_layer, e->mid_layer, e->low_layer, mci 460 drivers/edac/ghes_edac.c edac_raw_mc_handle_error(type, mci, e); mci 478 drivers/edac/ghes_edac.c struct mem_ctl_info *mci; mci 516 drivers/edac/ghes_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(struct ghes_edac_pvt)); mci 517 drivers/edac/ghes_edac.c if (!mci) { mci 523 drivers/edac/ghes_edac.c pvt = mci->pvt_info; mci 525 drivers/edac/ghes_edac.c pvt->mci = mci; mci 527 drivers/edac/ghes_edac.c mci->pdev = dev; mci 528 drivers/edac/ghes_edac.c mci->mtype_cap = MEM_FLAG_EMPTY; mci 529 drivers/edac/ghes_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE; mci 530 drivers/edac/ghes_edac.c mci->edac_cap = EDAC_FLAG_NONE; mci 531 drivers/edac/ghes_edac.c mci->mod_name = "ghes_edac.c"; mci 532 drivers/edac/ghes_edac.c mci->ctl_name = "ghes_edac"; mci 533 drivers/edac/ghes_edac.c mci->dev_name = "ghes"; mci 550 drivers/edac/ghes_edac.c dimm_fill.mci = mci; mci 553 drivers/edac/ghes_edac.c struct dimm_info *dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci 554 drivers/edac/ghes_edac.c mci->n_layers, 0, 0, 0); mci 563 drivers/edac/ghes_edac.c rc = edac_mc_add_mc(mci); mci 566 drivers/edac/ghes_edac.c edac_mc_free(mci); mci 586 drivers/edac/ghes_edac.c struct mem_ctl_info *mci; mci 598 drivers/edac/ghes_edac.c mci = ghes_pvt ? ghes_pvt->mci : NULL; mci 602 drivers/edac/ghes_edac.c if (!mci) mci 605 drivers/edac/ghes_edac.c mci = edac_mc_del_mc(mci->pdev); mci 606 drivers/edac/ghes_edac.c if (mci) mci 607 drivers/edac/ghes_edac.c edac_mc_free(mci); mci 55 drivers/edac/highbank_mc_edac.c struct mem_ctl_info *mci = dev_id; mci 56 drivers/edac/highbank_mc_edac.c struct hb_mc_drvdata *drvdata = mci->pvt_info; mci 64 drivers/edac/highbank_mc_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 68 drivers/edac/highbank_mc_edac.c mci->ctl_name, ""); mci 74 drivers/edac/highbank_mc_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 78 drivers/edac/highbank_mc_edac.c mci->ctl_name, ""); mci 86 drivers/edac/highbank_mc_edac.c static void highbank_mc_err_inject(struct mem_ctl_info *mci, u8 synd) mci 88 drivers/edac/highbank_mc_edac.c struct hb_mc_drvdata *pdata = mci->pvt_info; mci 102 drivers/edac/highbank_mc_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 108 drivers/edac/highbank_mc_edac.c highbank_mc_err_inject(mci, synd); mci 149 drivers/edac/highbank_mc_edac.c struct mem_ctl_info *mci; mci 168 drivers/edac/highbank_mc_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, mci 170 drivers/edac/highbank_mc_edac.c if (!mci) mci 173 drivers/edac/highbank_mc_edac.c mci->pdev = &pdev->dev; mci 174 drivers/edac/highbank_mc_edac.c drvdata = mci->pvt_info; mci 175 drivers/edac/highbank_mc_edac.c platform_set_drvdata(pdev, mci); mci 212 drivers/edac/highbank_mc_edac.c mci->mtype_cap = MEM_FLAG_DDR3; mci 213 drivers/edac/highbank_mc_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED; mci 214 drivers/edac/highbank_mc_edac.c mci->edac_cap = EDAC_FLAG_SECDED; mci 215 drivers/edac/highbank_mc_edac.c mci->mod_name = pdev->dev.driver->name; mci 216 drivers/edac/highbank_mc_edac.c mci->ctl_name = id->compatible; mci 217 drivers/edac/highbank_mc_edac.c mci->dev_name = dev_name(&pdev->dev); mci 218 drivers/edac/highbank_mc_edac.c mci->scrub_mode = SCRUB_SW_SRC; mci 221 drivers/edac/highbank_mc_edac.c dimm = *mci->dimms; mci 228 drivers/edac/highbank_mc_edac.c res = edac_mc_add_mc_with_groups(mci, highbank_dev_groups); mci 234 drivers/edac/highbank_mc_edac.c 0, dev_name(&pdev->dev), mci); mci 246 drivers/edac/highbank_mc_edac.c edac_mc_free(mci); mci 252 drivers/edac/highbank_mc_edac.c struct mem_ctl_info *mci = platform_get_drvdata(pdev); mci 255 drivers/edac/highbank_mc_edac.c edac_mc_free(mci); mci 143 drivers/edac/i10nm_base.c static int i10nm_get_dimm_config(struct mem_ctl_info *mci) mci 145 drivers/edac/i10nm_base.c struct skx_pvt *pvt = mci->pvt_info; mci 157 drivers/edac/i10nm_base.c dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci 158 drivers/edac/i10nm_base.c mci->n_layers, i, j, 0); mci 190 drivers/edac/i3000_edac.c static void i3000_get_error_info(struct mem_ctl_info *mci, mci 195 drivers/edac/i3000_edac.c pdev = to_pci_dev(mci->pdev); mci 230 drivers/edac/i3000_edac.c static int i3000_process_error_info(struct mem_ctl_info *mci, mci 237 drivers/edac/i3000_edac.c multi_chan = mci->csrows[0]->nr_channels - 1; mci 246 drivers/edac/i3000_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, 0, 0, 0, mci 256 drivers/edac/i3000_edac.c row = edac_mc_find_csrow_by_page(mci, pfn); mci 259 drivers/edac/i3000_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 264 drivers/edac/i3000_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 272 drivers/edac/i3000_edac.c static void i3000_check(struct mem_ctl_info *mci) mci 276 drivers/edac/i3000_edac.c edac_dbg(1, "MC%d\n", mci->mc_idx); mci 277 drivers/edac/i3000_edac.c i3000_get_error_info(mci, &info); mci 278 drivers/edac/i3000_edac.c i3000_process_error_info(mci, &info, 1); mci 313 drivers/edac/i3000_edac.c struct mem_ctl_info *mci = NULL; mci 363 drivers/edac/i3000_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0); mci 364 drivers/edac/i3000_edac.c if (!mci) mci 369 drivers/edac/i3000_edac.c mci->pdev = &pdev->dev; mci 370 drivers/edac/i3000_edac.c mci->mtype_cap = MEM_FLAG_DDR2; mci 372 drivers/edac/i3000_edac.c mci->edac_ctl_cap = EDAC_FLAG_SECDED; mci 373 drivers/edac/i3000_edac.c mci->edac_cap = EDAC_FLAG_SECDED; mci 375 drivers/edac/i3000_edac.c mci->mod_name = EDAC_MOD_STR; mci 376 drivers/edac/i3000_edac.c mci->ctl_name = i3000_devs[dev_idx].ctl_name; mci 377 drivers/edac/i3000_edac.c mci->dev_name = pci_name(pdev); mci 378 drivers/edac/i3000_edac.c mci->edac_check = i3000_check; mci 379 drivers/edac/i3000_edac.c mci->ctl_page_to_phys = NULL; mci 390 drivers/edac/i3000_edac.c for (last_cumul_size = i = 0; i < mci->nr_csrows; i++) { mci 393 drivers/edac/i3000_edac.c struct csrow_info *csrow = mci->csrows[i]; mci 427 drivers/edac/i3000_edac.c if (edac_mc_add_mc(mci)) { mci 448 drivers/edac/i3000_edac.c if (mci) mci 449 drivers/edac/i3000_edac.c edac_mc_free(mci); mci 473 drivers/edac/i3000_edac.c struct mem_ctl_info *mci; mci 480 drivers/edac/i3000_edac.c mci = edac_mc_del_mc(&pdev->dev); mci 481 drivers/edac/i3000_edac.c if (!mci) mci 484 drivers/edac/i3000_edac.c edac_mc_free(mci); mci 166 drivers/edac/i3200_edac.c static void i3200_clear_error_info(struct mem_ctl_info *mci) mci 170 drivers/edac/i3200_edac.c pdev = to_pci_dev(mci->pdev); mci 180 drivers/edac/i3200_edac.c static void i3200_get_and_clear_error_info(struct mem_ctl_info *mci, mci 184 drivers/edac/i3200_edac.c struct i3200_priv *priv = mci->pvt_info; mci 187 drivers/edac/i3200_edac.c pdev = to_pci_dev(mci->pdev); mci 216 drivers/edac/i3200_edac.c i3200_clear_error_info(mci); mci 219 drivers/edac/i3200_edac.c static void i3200_process_error_info(struct mem_ctl_info *mci, mci 229 drivers/edac/i3200_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, 0, 0, 0, mci 237 drivers/edac/i3200_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 243 drivers/edac/i3200_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 252 drivers/edac/i3200_edac.c static void i3200_check(struct mem_ctl_info *mci) mci 256 drivers/edac/i3200_edac.c edac_dbg(1, "MC%d\n", mci->mc_idx); mci 257 drivers/edac/i3200_edac.c i3200_get_and_clear_error_info(mci, &info); mci 258 drivers/edac/i3200_edac.c i3200_process_error_info(mci, &info); mci 340 drivers/edac/i3200_edac.c struct mem_ctl_info *mci = NULL; mci 362 drivers/edac/i3200_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, mci 364 drivers/edac/i3200_edac.c if (!mci) mci 369 drivers/edac/i3200_edac.c mci->pdev = &pdev->dev; mci 370 drivers/edac/i3200_edac.c mci->mtype_cap = MEM_FLAG_DDR2; mci 372 drivers/edac/i3200_edac.c mci->edac_ctl_cap = EDAC_FLAG_SECDED; mci 373 drivers/edac/i3200_edac.c mci->edac_cap = EDAC_FLAG_SECDED; mci 375 drivers/edac/i3200_edac.c mci->mod_name = EDAC_MOD_STR; mci 376 drivers/edac/i3200_edac.c mci->ctl_name = i3200_devs[dev_idx].ctl_name; mci 377 drivers/edac/i3200_edac.c mci->dev_name = pci_name(pdev); mci 378 drivers/edac/i3200_edac.c mci->edac_check = i3200_check; mci 379 drivers/edac/i3200_edac.c mci->ctl_page_to_phys = NULL; mci 380 drivers/edac/i3200_edac.c priv = mci->pvt_info; mci 395 drivers/edac/i3200_edac.c struct dimm_info *dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci 396 drivers/edac/i3200_edac.c mci->n_layers, i, j, 0); mci 413 drivers/edac/i3200_edac.c i3200_clear_error_info(mci); mci 416 drivers/edac/i3200_edac.c if (edac_mc_add_mc(mci)) { mci 427 drivers/edac/i3200_edac.c if (mci) mci 428 drivers/edac/i3200_edac.c edac_mc_free(mci); mci 451 drivers/edac/i3200_edac.c struct mem_ctl_info *mci; mci 456 drivers/edac/i3200_edac.c mci = edac_mc_del_mc(&pdev->dev); mci 457 drivers/edac/i3200_edac.c if (!mci) mci 460 drivers/edac/i3200_edac.c priv = mci->pvt_info; mci 463 drivers/edac/i3200_edac.c edac_mc_free(mci); mci 36 drivers/edac/i5000_edac.c #define i5000_mc_printk(mci, level, fmt, arg...) \ mci 37 drivers/edac/i5000_edac.c edac_mc_chipset_printk(mci, level, "i5000", fmt, ##arg) mci 385 drivers/edac/i5000_edac.c static void i5000_get_error_info(struct mem_ctl_info *mci, mci 391 drivers/edac/i5000_edac.c pvt = mci->pvt_info; mci 460 drivers/edac/i5000_edac.c static void i5000_process_fatal_error_info(struct mem_ctl_info *mci, mci 528 drivers/edac/i5000_edac.c edac_mc_handle_error(HW_EVENT_ERR_FATAL, mci, 1, 0, 0, 0, mci 541 drivers/edac/i5000_edac.c static void i5000_process_nonfatal_error_info(struct mem_ctl_info *mci, mci 627 drivers/edac/i5000_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, 0, 0, 0, mci 681 drivers/edac/i5000_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, 0, 0, 0, mci 727 drivers/edac/i5000_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, 0, 0, 0, mci 737 drivers/edac/i5000_edac.c static void i5000_process_error_info(struct mem_ctl_info *mci, mci 742 drivers/edac/i5000_edac.c i5000_process_fatal_error_info(mci, info, handle_errors); mci 745 drivers/edac/i5000_edac.c i5000_process_nonfatal_error_info(mci, info, handle_errors); mci 754 drivers/edac/i5000_edac.c static void i5000_clear_error(struct mem_ctl_info *mci) mci 758 drivers/edac/i5000_edac.c i5000_get_error_info(mci, &info); mci 765 drivers/edac/i5000_edac.c static void i5000_check_error(struct mem_ctl_info *mci) mci 768 drivers/edac/i5000_edac.c edac_dbg(4, "MC%d\n", mci->mc_idx); mci 769 drivers/edac/i5000_edac.c i5000_get_error_info(mci, &info); mci 770 drivers/edac/i5000_edac.c i5000_process_error_info(mci, &info, 1); mci 779 drivers/edac/i5000_edac.c static int i5000_get_devices(struct mem_ctl_info *mci, int dev_idx) mci 785 drivers/edac/i5000_edac.c pvt = mci->pvt_info; mci 899 drivers/edac/i5000_edac.c static void i5000_put_devices(struct mem_ctl_info *mci) mci 903 drivers/edac/i5000_edac.c pvt = mci->pvt_info; mci 1131 drivers/edac/i5000_edac.c static void i5000_get_mc_regs(struct mem_ctl_info *mci) mci 1139 drivers/edac/i5000_edac.c pvt = mci->pvt_info; mci 1247 drivers/edac/i5000_edac.c static int i5000_init_csrows(struct mem_ctl_info *mci) mci 1258 drivers/edac/i5000_edac.c pvt = mci->pvt_info; mci 1278 drivers/edac/i5000_edac.c dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci->n_layers, mci 1308 drivers/edac/i5000_edac.c static void i5000_enable_error_reporting(struct mem_ctl_info *mci) mci 1313 drivers/edac/i5000_edac.c pvt = mci->pvt_info; mci 1357 drivers/edac/i5000_edac.c struct mem_ctl_info *mci; mci 1401 drivers/edac/i5000_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt)); mci 1402 drivers/edac/i5000_edac.c if (mci == NULL) mci 1405 drivers/edac/i5000_edac.c edac_dbg(0, "MC: mci = %p\n", mci); mci 1407 drivers/edac/i5000_edac.c mci->pdev = &pdev->dev; /* record ptr to the generic device */ mci 1409 drivers/edac/i5000_edac.c pvt = mci->pvt_info; mci 1415 drivers/edac/i5000_edac.c if (i5000_get_devices(mci, dev_idx)) mci 1419 drivers/edac/i5000_edac.c i5000_get_mc_regs(mci); /* retrieve the hardware registers */ mci 1421 drivers/edac/i5000_edac.c mci->mc_idx = 0; mci 1422 drivers/edac/i5000_edac.c mci->mtype_cap = MEM_FLAG_FB_DDR2; mci 1423 drivers/edac/i5000_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE; mci 1424 drivers/edac/i5000_edac.c mci->edac_cap = EDAC_FLAG_NONE; mci 1425 drivers/edac/i5000_edac.c mci->mod_name = "i5000_edac.c"; mci 1426 drivers/edac/i5000_edac.c mci->ctl_name = i5000_devs[dev_idx].ctl_name; mci 1427 drivers/edac/i5000_edac.c mci->dev_name = pci_name(pdev); mci 1428 drivers/edac/i5000_edac.c mci->ctl_page_to_phys = NULL; mci 1431 drivers/edac/i5000_edac.c mci->edac_check = i5000_check_error; mci 1435 drivers/edac/i5000_edac.c if (i5000_init_csrows(mci)) { mci 1437 drivers/edac/i5000_edac.c mci->edac_cap = EDAC_FLAG_NONE; /* no csrows found */ mci 1440 drivers/edac/i5000_edac.c i5000_enable_error_reporting(mci); mci 1444 drivers/edac/i5000_edac.c if (edac_mc_add_mc(mci)) { mci 1452 drivers/edac/i5000_edac.c i5000_clear_error(mci); mci 1470 drivers/edac/i5000_edac.c i5000_put_devices(mci); mci 1473 drivers/edac/i5000_edac.c edac_mc_free(mci); mci 1505 drivers/edac/i5000_edac.c struct mem_ctl_info *mci; mci 1512 drivers/edac/i5000_edac.c if ((mci = edac_mc_del_mc(&pdev->dev)) == NULL) mci 1516 drivers/edac/i5000_edac.c i5000_put_devices(mci); mci 1517 drivers/edac/i5000_edac.c edac_mc_free(mci); mci 366 drivers/edac/i5100_edac.c static int i5100_rank_to_slot(const struct mem_ctl_info *mci, mci 369 drivers/edac/i5100_edac.c const struct i5100_priv *priv = mci->pvt_info; mci 420 drivers/edac/i5100_edac.c static unsigned int i5100_csrow_to_rank(const struct mem_ctl_info *mci, mci 423 drivers/edac/i5100_edac.c const struct i5100_priv *priv = mci->pvt_info; mci 429 drivers/edac/i5100_edac.c static unsigned int i5100_csrow_to_chan(const struct mem_ctl_info *mci, mci 432 drivers/edac/i5100_edac.c const struct i5100_priv *priv = mci->pvt_info; mci 437 drivers/edac/i5100_edac.c static void i5100_handle_ce(struct mem_ctl_info *mci, mci 453 drivers/edac/i5100_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 459 drivers/edac/i5100_edac.c static void i5100_handle_ue(struct mem_ctl_info *mci, mci 475 drivers/edac/i5100_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 481 drivers/edac/i5100_edac.c static void i5100_read_log(struct mem_ctl_info *mci, int chan, mci 484 drivers/edac/i5100_edac.c struct i5100_priv *priv = mci->pvt_info; mci 524 drivers/edac/i5100_edac.c i5100_handle_ce(mci, chan, bank, rank, syndrome, cas, ras, msg); mci 546 drivers/edac/i5100_edac.c i5100_handle_ue(mci, chan, bank, rank, syndrome, cas, ras, msg); mci 552 drivers/edac/i5100_edac.c static void i5100_check_error(struct mem_ctl_info *mci) mci 554 drivers/edac/i5100_edac.c struct i5100_priv *priv = mci->pvt_info; mci 562 drivers/edac/i5100_edac.c i5100_read_log(mci, i5100_ferr_nf_mem_chan_indx(dw), mci 604 drivers/edac/i5100_edac.c static int i5100_set_scrub_rate(struct mem_ctl_info *mci, u32 bandwidth) mci 606 drivers/edac/i5100_edac.c struct i5100_priv *priv = mci->pvt_info; mci 629 drivers/edac/i5100_edac.c static int i5100_get_scrub_rate(struct mem_ctl_info *mci) mci 631 drivers/edac/i5100_edac.c struct i5100_priv *priv = mci->pvt_info; mci 658 drivers/edac/i5100_edac.c static unsigned long i5100_npages(struct mem_ctl_info *mci, unsigned int csrow) mci 660 drivers/edac/i5100_edac.c struct i5100_priv *priv = mci->pvt_info; mci 661 drivers/edac/i5100_edac.c const unsigned int chan_rank = i5100_csrow_to_rank(mci, csrow); mci 662 drivers/edac/i5100_edac.c const unsigned int chan = i5100_csrow_to_chan(mci, csrow); mci 679 drivers/edac/i5100_edac.c static void i5100_init_mtr(struct mem_ctl_info *mci) mci 681 drivers/edac/i5100_edac.c struct i5100_priv *priv = mci->pvt_info; mci 711 drivers/edac/i5100_edac.c static int i5100_read_spd_byte(const struct mem_ctl_info *mci, mci 714 drivers/edac/i5100_edac.c struct i5100_priv *priv = mci->pvt_info; mci 751 drivers/edac/i5100_edac.c static void i5100_init_dimm_csmap(struct mem_ctl_info *mci) mci 753 drivers/edac/i5100_edac.c struct i5100_priv *priv = mci->pvt_info; mci 782 drivers/edac/i5100_edac.c struct mem_ctl_info *mci) mci 784 drivers/edac/i5100_edac.c struct i5100_priv *priv = mci->pvt_info; mci 793 drivers/edac/i5100_edac.c if (i5100_read_spd_byte(mci, i, j, 5, &rank) < 0) mci 800 drivers/edac/i5100_edac.c i5100_init_dimm_csmap(mci); mci 804 drivers/edac/i5100_edac.c struct mem_ctl_info *mci) mci 808 drivers/edac/i5100_edac.c struct i5100_priv *priv = mci->pvt_info; mci 846 drivers/edac/i5100_edac.c i5100_init_mtr(mci); mci 849 drivers/edac/i5100_edac.c static void i5100_init_csrows(struct mem_ctl_info *mci) mci 852 drivers/edac/i5100_edac.c struct i5100_priv *priv = mci->pvt_info; mci 854 drivers/edac/i5100_edac.c for (i = 0; i < mci->tot_dimms; i++) { mci 856 drivers/edac/i5100_edac.c const unsigned long npages = i5100_npages(mci, i); mci 857 drivers/edac/i5100_edac.c const unsigned int chan = i5100_csrow_to_chan(mci, i); mci 858 drivers/edac/i5100_edac.c const unsigned int rank = i5100_csrow_to_rank(mci, i); mci 863 drivers/edac/i5100_edac.c dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci->n_layers, mci 873 drivers/edac/i5100_edac.c i5100_rank_to_slot(mci, chan, rank)); mci 884 drivers/edac/i5100_edac.c static void i5100_do_inject(struct mem_ctl_info *mci) mci 886 drivers/edac/i5100_edac.c struct i5100_priv *priv = mci->pvt_info; mci 949 drivers/edac/i5100_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 951 drivers/edac/i5100_edac.c i5100_do_inject(mci); mci 962 drivers/edac/i5100_edac.c static int i5100_setup_debugfs(struct mem_ctl_info *mci) mci 964 drivers/edac/i5100_edac.c struct i5100_priv *priv = mci->pvt_info; mci 969 drivers/edac/i5100_edac.c priv->debugfs = edac_debugfs_create_dir_at(mci->bus->name, i5100_debugfs); mci 987 drivers/edac/i5100_edac.c &mci->dev, &i5100_inject_enable_fops); mci 996 drivers/edac/i5100_edac.c struct mem_ctl_info *mci; mci 1064 drivers/edac/i5100_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, mci 1066 drivers/edac/i5100_edac.c if (!mci) { mci 1087 drivers/edac/i5100_edac.c mci->pdev = &pdev->dev; mci 1089 drivers/edac/i5100_edac.c priv = mci->pvt_info; mci 1106 drivers/edac/i5100_edac.c i5100_init_dimm_layout(pdev, mci); mci 1107 drivers/edac/i5100_edac.c i5100_init_interleaving(pdev, mci); mci 1109 drivers/edac/i5100_edac.c mci->mtype_cap = MEM_FLAG_FB_DDR2; mci 1110 drivers/edac/i5100_edac.c mci->edac_ctl_cap = EDAC_FLAG_SECDED; mci 1111 drivers/edac/i5100_edac.c mci->edac_cap = EDAC_FLAG_SECDED; mci 1112 drivers/edac/i5100_edac.c mci->mod_name = "i5100_edac.c"; mci 1113 drivers/edac/i5100_edac.c mci->ctl_name = "i5100"; mci 1114 drivers/edac/i5100_edac.c mci->dev_name = pci_name(pdev); mci 1115 drivers/edac/i5100_edac.c mci->ctl_page_to_phys = NULL; mci 1117 drivers/edac/i5100_edac.c mci->edac_check = i5100_check_error; mci 1118 drivers/edac/i5100_edac.c mci->set_sdram_scrub_rate = i5100_set_scrub_rate; mci 1119 drivers/edac/i5100_edac.c mci->get_sdram_scrub_rate = i5100_get_scrub_rate; mci 1128 drivers/edac/i5100_edac.c i5100_init_csrows(mci); mci 1140 drivers/edac/i5100_edac.c if (edac_mc_add_mc(mci)) { mci 1145 drivers/edac/i5100_edac.c i5100_setup_debugfs(mci); mci 1152 drivers/edac/i5100_edac.c edac_mc_free(mci); mci 1181 drivers/edac/i5100_edac.c struct mem_ctl_info *mci; mci 1184 drivers/edac/i5100_edac.c mci = edac_mc_del_mc(&pdev->dev); mci 1186 drivers/edac/i5100_edac.c if (!mci) mci 1189 drivers/edac/i5100_edac.c priv = mci->pvt_info; mci 1204 drivers/edac/i5100_edac.c edac_mc_free(mci); mci 47 drivers/edac/i5400_edac.c #define i5400_mc_printk(mci, level, fmt, arg...) \ mci 48 drivers/edac/i5400_edac.c edac_mc_chipset_printk(mci, level, "i5400", fmt, ##arg) mci 435 drivers/edac/i5400_edac.c static void i5400_get_error_info(struct mem_ctl_info *mci, mci 441 drivers/edac/i5400_edac.c pvt = mci->pvt_info; mci 511 drivers/edac/i5400_edac.c static void i5400_proccess_non_recoverable_info(struct mem_ctl_info *mci, mci 563 drivers/edac/i5400_edac.c edac_mc_handle_error(tp_event, mci, 1, 0, 0, 0, mci 576 drivers/edac/i5400_edac.c static void i5400_process_nonfatal_error_info(struct mem_ctl_info *mci, mci 597 drivers/edac/i5400_edac.c i5400_proccess_non_recoverable_info(mci, info, allErrors); mci 635 drivers/edac/i5400_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, 0, 0, 0, mci 648 drivers/edac/i5400_edac.c i5400_mc_printk(mci, KERN_EMERG, mci 657 drivers/edac/i5400_edac.c static void i5400_process_error_info(struct mem_ctl_info *mci, mci 663 drivers/edac/i5400_edac.c i5400_proccess_non_recoverable_info(mci, info, allErrors); mci 666 drivers/edac/i5400_edac.c i5400_process_nonfatal_error_info(mci, info); mci 675 drivers/edac/i5400_edac.c static void i5400_clear_error(struct mem_ctl_info *mci) mci 679 drivers/edac/i5400_edac.c i5400_get_error_info(mci, &info); mci 686 drivers/edac/i5400_edac.c static void i5400_check_error(struct mem_ctl_info *mci) mci 689 drivers/edac/i5400_edac.c edac_dbg(4, "MC%d\n", mci->mc_idx); mci 690 drivers/edac/i5400_edac.c i5400_get_error_info(mci, &info); mci 691 drivers/edac/i5400_edac.c i5400_process_error_info(mci, &info); mci 698 drivers/edac/i5400_edac.c static void i5400_put_devices(struct mem_ctl_info *mci) mci 702 drivers/edac/i5400_edac.c pvt = mci->pvt_info; mci 717 drivers/edac/i5400_edac.c static int i5400_get_devices(struct mem_ctl_info *mci, int dev_idx) mci 722 drivers/edac/i5400_edac.c pvt = mci->pvt_info; mci 1051 drivers/edac/i5400_edac.c static void i5400_get_mc_regs(struct mem_ctl_info *mci) mci 1061 drivers/edac/i5400_edac.c pvt = mci->pvt_info; mci 1169 drivers/edac/i5400_edac.c static int i5400_init_dimms(struct mem_ctl_info *mci) mci 1179 drivers/edac/i5400_edac.c pvt = mci->pvt_info; mci 1190 drivers/edac/i5400_edac.c for (channel = 0; channel < mci->layers[0].size * mci->layers[1].size; mci 1192 drivers/edac/i5400_edac.c for (slot = 0; slot < mci->layers[2].size; slot++) { mci 1199 drivers/edac/i5400_edac.c dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci->n_layers, mci 1228 drivers/edac/i5400_edac.c mci->dimms[0]->edac_mode = EDAC_SECDED; mci 1237 drivers/edac/i5400_edac.c static void i5400_enable_error_reporting(struct mem_ctl_info *mci) mci 1242 drivers/edac/i5400_edac.c pvt = mci->pvt_info; mci 1264 drivers/edac/i5400_edac.c struct mem_ctl_info *mci; mci 1293 drivers/edac/i5400_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt)); mci 1294 drivers/edac/i5400_edac.c if (mci == NULL) mci 1297 drivers/edac/i5400_edac.c edac_dbg(0, "MC: mci = %p\n", mci); mci 1299 drivers/edac/i5400_edac.c mci->pdev = &pdev->dev; /* record ptr to the generic device */ mci 1301 drivers/edac/i5400_edac.c pvt = mci->pvt_info; mci 1307 drivers/edac/i5400_edac.c if (i5400_get_devices(mci, dev_idx)) mci 1311 drivers/edac/i5400_edac.c i5400_get_mc_regs(mci); /* retrieve the hardware registers */ mci 1313 drivers/edac/i5400_edac.c mci->mc_idx = 0; mci 1314 drivers/edac/i5400_edac.c mci->mtype_cap = MEM_FLAG_FB_DDR2; mci 1315 drivers/edac/i5400_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE; mci 1316 drivers/edac/i5400_edac.c mci->edac_cap = EDAC_FLAG_NONE; mci 1317 drivers/edac/i5400_edac.c mci->mod_name = "i5400_edac.c"; mci 1318 drivers/edac/i5400_edac.c mci->ctl_name = i5400_devs[dev_idx].ctl_name; mci 1319 drivers/edac/i5400_edac.c mci->dev_name = pci_name(pdev); mci 1320 drivers/edac/i5400_edac.c mci->ctl_page_to_phys = NULL; mci 1323 drivers/edac/i5400_edac.c mci->edac_check = i5400_check_error; mci 1327 drivers/edac/i5400_edac.c if (i5400_init_dimms(mci)) { mci 1329 drivers/edac/i5400_edac.c mci->edac_cap = EDAC_FLAG_NONE; /* no dimms found */ mci 1332 drivers/edac/i5400_edac.c i5400_enable_error_reporting(mci); mci 1336 drivers/edac/i5400_edac.c if (edac_mc_add_mc(mci)) { mci 1344 drivers/edac/i5400_edac.c i5400_clear_error(mci); mci 1362 drivers/edac/i5400_edac.c i5400_put_devices(mci); mci 1365 drivers/edac/i5400_edac.c edac_mc_free(mci); mci 1397 drivers/edac/i5400_edac.c struct mem_ctl_info *mci; mci 1404 drivers/edac/i5400_edac.c mci = edac_mc_del_mc(&pdev->dev); mci 1405 drivers/edac/i5400_edac.c if (!mci) mci 1409 drivers/edac/i5400_edac.c i5400_put_devices(mci); mci 1413 drivers/edac/i5400_edac.c edac_mc_free(mci); mci 39 drivers/edac/i7300_edac.c #define i7300_mc_printk(mci, level, fmt, arg...) \ mci 40 drivers/edac/i7300_edac.c edac_mc_chipset_printk(mci, level, "i7300", fmt, ##arg) mci 351 drivers/edac/i7300_edac.c static void i7300_process_error_global(struct mem_ctl_info *mci) mci 359 drivers/edac/i7300_edac.c pvt = mci->pvt_info; mci 396 drivers/edac/i7300_edac.c i7300_mc_printk(mci, KERN_EMERG, "%s misc error: %s\n", mci 406 drivers/edac/i7300_edac.c static void i7300_process_fbd_error(struct mem_ctl_info *mci) mci 418 drivers/edac/i7300_edac.c pvt = mci->pvt_info; mci 449 drivers/edac/i7300_edac.c edac_mc_handle_error(HW_EVENT_ERR_FATAL, mci, 1, 0, 0, 0, mci 496 drivers/edac/i7300_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, 0, 0, mci 509 drivers/edac/i7300_edac.c static void i7300_check_error(struct mem_ctl_info *mci) mci 511 drivers/edac/i7300_edac.c i7300_process_error_global(mci); mci 512 drivers/edac/i7300_edac.c i7300_process_fbd_error(mci); mci 519 drivers/edac/i7300_edac.c static void i7300_clear_error(struct mem_ctl_info *mci) mci 521 drivers/edac/i7300_edac.c struct i7300_pvt *pvt = mci->pvt_info; mci 556 drivers/edac/i7300_edac.c static void i7300_enable_error_reporting(struct mem_ctl_info *mci) mci 558 drivers/edac/i7300_edac.c struct i7300_pvt *pvt = mci->pvt_info; mci 745 drivers/edac/i7300_edac.c static int i7300_init_csrows(struct mem_ctl_info *mci) mci 754 drivers/edac/i7300_edac.c pvt = mci->pvt_info; mci 797 drivers/edac/i7300_edac.c dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci 798 drivers/edac/i7300_edac.c mci->n_layers, branch, ch, slot); mci 839 drivers/edac/i7300_edac.c static int i7300_get_mc_regs(struct mem_ctl_info *mci) mci 845 drivers/edac/i7300_edac.c pvt = mci->pvt_info; mci 891 drivers/edac/i7300_edac.c rc = i7300_init_csrows(mci); mci 910 drivers/edac/i7300_edac.c static void i7300_put_devices(struct mem_ctl_info *mci) mci 915 drivers/edac/i7300_edac.c pvt = mci->pvt_info; mci 935 drivers/edac/i7300_edac.c static int i7300_get_devices(struct mem_ctl_info *mci) mci 940 drivers/edac/i7300_edac.c pvt = mci->pvt_info; mci 1013 drivers/edac/i7300_edac.c i7300_put_devices(mci); mci 1024 drivers/edac/i7300_edac.c struct mem_ctl_info *mci; mci 1052 drivers/edac/i7300_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt)); mci 1053 drivers/edac/i7300_edac.c if (mci == NULL) mci 1056 drivers/edac/i7300_edac.c edac_dbg(0, "MC: mci = %p\n", mci); mci 1058 drivers/edac/i7300_edac.c mci->pdev = &pdev->dev; /* record ptr to the generic device */ mci 1060 drivers/edac/i7300_edac.c pvt = mci->pvt_info; mci 1065 drivers/edac/i7300_edac.c edac_mc_free(mci); mci 1070 drivers/edac/i7300_edac.c if (i7300_get_devices(mci)) mci 1073 drivers/edac/i7300_edac.c mci->mc_idx = 0; mci 1074 drivers/edac/i7300_edac.c mci->mtype_cap = MEM_FLAG_FB_DDR2; mci 1075 drivers/edac/i7300_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE; mci 1076 drivers/edac/i7300_edac.c mci->edac_cap = EDAC_FLAG_NONE; mci 1077 drivers/edac/i7300_edac.c mci->mod_name = "i7300_edac.c"; mci 1078 drivers/edac/i7300_edac.c mci->ctl_name = i7300_devs[0].ctl_name; mci 1079 drivers/edac/i7300_edac.c mci->dev_name = pci_name(pdev); mci 1080 drivers/edac/i7300_edac.c mci->ctl_page_to_phys = NULL; mci 1083 drivers/edac/i7300_edac.c mci->edac_check = i7300_check_error; mci 1087 drivers/edac/i7300_edac.c if (i7300_get_mc_regs(mci)) { mci 1089 drivers/edac/i7300_edac.c mci->edac_cap = EDAC_FLAG_NONE; /* no csrows found */ mci 1092 drivers/edac/i7300_edac.c i7300_enable_error_reporting(mci); mci 1096 drivers/edac/i7300_edac.c if (edac_mc_add_mc(mci)) { mci 1104 drivers/edac/i7300_edac.c i7300_clear_error(mci); mci 1122 drivers/edac/i7300_edac.c i7300_put_devices(mci); mci 1126 drivers/edac/i7300_edac.c edac_mc_free(mci); mci 1136 drivers/edac/i7300_edac.c struct mem_ctl_info *mci; mci 1144 drivers/edac/i7300_edac.c mci = edac_mc_del_mc(&pdev->dev); mci 1145 drivers/edac/i7300_edac.c if (!mci) mci 1148 drivers/edac/i7300_edac.c tmp = ((struct i7300_pvt *)mci->pvt_info)->tmp_prt_buffer; mci 1151 drivers/edac/i7300_edac.c i7300_put_devices(mci); mci 1154 drivers/edac/i7300_edac.c edac_mc_free(mci); mci 71 drivers/edac/i7core_edac.c #define i7core_mc_printk(mci, level, fmt, arg...) \ mci 72 drivers/edac/i7core_edac.c edac_mc_chipset_printk(mci, level, "i7core", fmt, ##arg) mci 245 drivers/edac/i7core_edac.c struct mem_ctl_info *mci; mci 487 drivers/edac/i7core_edac.c static int get_dimm_config(struct mem_ctl_info *mci) mci 489 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 588 drivers/edac/i7core_edac.c dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci->n_layers, mci 661 drivers/edac/i7core_edac.c static int disable_inject(const struct mem_ctl_info *mci) mci 663 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 687 drivers/edac/i7core_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 688 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 693 drivers/edac/i7core_edac.c disable_inject(mci); mci 707 drivers/edac/i7core_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 708 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 724 drivers/edac/i7core_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 725 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 730 drivers/edac/i7core_edac.c disable_inject(mci); mci 744 drivers/edac/i7core_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 745 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 764 drivers/edac/i7core_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 765 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 770 drivers/edac/i7core_edac.c disable_inject(mci); mci 784 drivers/edac/i7core_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 785 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 807 drivers/edac/i7core_edac.c struct mem_ctl_info *mci = dev_get_drvdata(dev); \ mci 813 drivers/edac/i7core_edac.c pvt = mci->pvt_info; \ mci 816 drivers/edac/i7core_edac.c disable_inject(mci); \ mci 836 drivers/edac/i7core_edac.c struct mem_ctl_info *mci = dev_get_drvdata(dev); \ mci 839 drivers/edac/i7core_edac.c pvt = mci->pvt_info; \ mci 915 drivers/edac/i7core_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 916 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 932 drivers/edac/i7core_edac.c disable_inject(mci); mci 1019 drivers/edac/i7core_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 1020 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 1043 drivers/edac/i7core_edac.c struct mem_ctl_info *mci = dev_get_drvdata(dev); \ mci 1044 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; \ mci 1158 drivers/edac/i7core_edac.c static int i7core_create_sysfs_devices(struct mem_ctl_info *mci) mci 1160 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 1168 drivers/edac/i7core_edac.c pvt->addrmatch_dev->bus = mci->dev.bus; mci 1170 drivers/edac/i7core_edac.c pvt->addrmatch_dev->parent = &mci->dev; mci 1172 drivers/edac/i7core_edac.c dev_set_drvdata(pvt->addrmatch_dev, mci); mci 1189 drivers/edac/i7core_edac.c pvt->chancounts_dev->bus = mci->dev.bus; mci 1191 drivers/edac/i7core_edac.c pvt->chancounts_dev->parent = &mci->dev; mci 1193 drivers/edac/i7core_edac.c dev_set_drvdata(pvt->chancounts_dev, mci); mci 1213 drivers/edac/i7core_edac.c static void i7core_delete_sysfs_devices(struct mem_ctl_info *mci) mci 1215 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 1453 drivers/edac/i7core_edac.c static int mci_bind_devs(struct mem_ctl_info *mci, mci 1456 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 1533 drivers/edac/i7core_edac.c static void i7core_rdimm_update_ce_count(struct mem_ctl_info *mci, mci 1539 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 1570 drivers/edac/i7core_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, add0, mci 1574 drivers/edac/i7core_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, add1, mci 1578 drivers/edac/i7core_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, add2, mci 1583 drivers/edac/i7core_edac.c static void i7core_rdimm_check_mc_ecc_err(struct mem_ctl_info *mci) mci 1585 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 1618 drivers/edac/i7core_edac.c i7core_rdimm_update_ce_count(mci, i, new0, new1, new2); mci 1628 drivers/edac/i7core_edac.c static void i7core_udimm_check_mc_ecc_err(struct mem_ctl_info *mci) mci 1630 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 1695 drivers/edac/i7core_edac.c static void i7core_mce_output_error(struct mem_ctl_info *mci, mci 1698 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 1780 drivers/edac/i7core_edac.c edac_mc_handle_error(tp_event, mci, core_err_cnt, mci 1792 drivers/edac/i7core_edac.c static void i7core_check_error(struct mem_ctl_info *mci, struct mce *m) mci 1794 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 1796 drivers/edac/i7core_edac.c i7core_mce_output_error(mci, m); mci 1802 drivers/edac/i7core_edac.c i7core_udimm_check_mc_ecc_err(mci); mci 1804 drivers/edac/i7core_edac.c i7core_rdimm_check_mc_ecc_err(mci); mci 1816 drivers/edac/i7core_edac.c struct mem_ctl_info *mci; mci 1822 drivers/edac/i7core_edac.c mci = i7_dev->mci; mci 1835 drivers/edac/i7core_edac.c i7core_check_error(mci, mce); mci 1957 drivers/edac/i7core_edac.c static int set_sdram_scrub_rate(struct mem_ctl_info *mci, u32 new_bw) mci 1959 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 2019 drivers/edac/i7core_edac.c static int get_sdram_scrub_rate(struct mem_ctl_info *mci) mci 2021 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 2048 drivers/edac/i7core_edac.c static void enable_sdram_scrub_setting(struct mem_ctl_info *mci) mci 2050 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 2059 drivers/edac/i7core_edac.c mci->set_sdram_scrub_rate = set_sdram_scrub_rate; mci 2060 drivers/edac/i7core_edac.c mci->get_sdram_scrub_rate = get_sdram_scrub_rate; mci 2063 drivers/edac/i7core_edac.c static void disable_sdram_scrub_setting(struct mem_ctl_info *mci) mci 2065 drivers/edac/i7core_edac.c struct i7core_pvt *pvt = mci->pvt_info; mci 2098 drivers/edac/i7core_edac.c struct mem_ctl_info *mci = i7core_dev->mci; mci 2101 drivers/edac/i7core_edac.c if (unlikely(!mci || !mci->pvt_info)) { mci 2108 drivers/edac/i7core_edac.c pvt = mci->pvt_info; mci 2110 drivers/edac/i7core_edac.c edac_dbg(0, "MC: mci = %p, dev = %p\n", mci, &i7core_dev->pdev[0]->dev); mci 2114 drivers/edac/i7core_edac.c disable_sdram_scrub_setting(mci); mci 2120 drivers/edac/i7core_edac.c i7core_delete_sysfs_devices(mci); mci 2121 drivers/edac/i7core_edac.c edac_mc_del_mc(mci->pdev); mci 2123 drivers/edac/i7core_edac.c edac_dbg(1, "%s: free mci struct\n", mci->ctl_name); mci 2124 drivers/edac/i7core_edac.c kfree(mci->ctl_name); mci 2125 drivers/edac/i7core_edac.c edac_mc_free(mci); mci 2126 drivers/edac/i7core_edac.c i7core_dev->mci = NULL; mci 2131 drivers/edac/i7core_edac.c struct mem_ctl_info *mci; mci 2144 drivers/edac/i7core_edac.c mci = edac_mc_alloc(i7core_dev->socket, ARRAY_SIZE(layers), layers, mci 2146 drivers/edac/i7core_edac.c if (unlikely(!mci)) mci 2149 drivers/edac/i7core_edac.c edac_dbg(0, "MC: mci = %p, dev = %p\n", mci, &i7core_dev->pdev[0]->dev); mci 2151 drivers/edac/i7core_edac.c pvt = mci->pvt_info; mci 2156 drivers/edac/i7core_edac.c i7core_dev->mci = mci; mci 2163 drivers/edac/i7core_edac.c mci->mtype_cap = MEM_FLAG_DDR3; mci 2164 drivers/edac/i7core_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE; mci 2165 drivers/edac/i7core_edac.c mci->edac_cap = EDAC_FLAG_NONE; mci 2166 drivers/edac/i7core_edac.c mci->mod_name = "i7core_edac.c"; mci 2168 drivers/edac/i7core_edac.c mci->ctl_name = kasprintf(GFP_KERNEL, "i7 core #%d", i7core_dev->socket); mci 2169 drivers/edac/i7core_edac.c if (!mci->ctl_name) { mci 2174 drivers/edac/i7core_edac.c mci->dev_name = pci_name(i7core_dev->pdev[0]); mci 2175 drivers/edac/i7core_edac.c mci->ctl_page_to_phys = NULL; mci 2178 drivers/edac/i7core_edac.c rc = mci_bind_devs(mci, i7core_dev); mci 2184 drivers/edac/i7core_edac.c get_dimm_config(mci); mci 2186 drivers/edac/i7core_edac.c mci->pdev = &i7core_dev->pdev[0]->dev; mci 2190 drivers/edac/i7core_edac.c enable_sdram_scrub_setting(mci); mci 2193 drivers/edac/i7core_edac.c if (unlikely(edac_mc_add_mc_with_groups(mci, i7core_dev_groups))) { mci 2202 drivers/edac/i7core_edac.c if (i7core_create_sysfs_devices(mci)) { mci 2204 drivers/edac/i7core_edac.c edac_mc_del_mc(mci->pdev); mci 2226 drivers/edac/i7core_edac.c kfree(mci->ctl_name); mci 2229 drivers/edac/i7core_edac.c edac_mc_free(mci); mci 2230 drivers/edac/i7core_edac.c i7core_dev->mci = NULL; mci 120 drivers/edac/i82443bxgx_edac.c static void i82443bxgx_edacmc_get_error_info(struct mem_ctl_info *mci, mci 125 drivers/edac/i82443bxgx_edac.c pdev = to_pci_dev(mci->pdev); mci 140 drivers/edac/i82443bxgx_edac.c static int i82443bxgx_edacmc_process_error_info(struct mem_ctl_info *mci, mci 157 drivers/edac/i82443bxgx_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 159 drivers/edac/i82443bxgx_edac.c edac_mc_find_csrow_by_page(mci, page), mci 160 drivers/edac/i82443bxgx_edac.c 0, -1, mci->ctl_name, ""); mci 166 drivers/edac/i82443bxgx_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 168 drivers/edac/i82443bxgx_edac.c edac_mc_find_csrow_by_page(mci, page), mci 169 drivers/edac/i82443bxgx_edac.c 0, -1, mci->ctl_name, ""); mci 175 drivers/edac/i82443bxgx_edac.c static void i82443bxgx_edacmc_check(struct mem_ctl_info *mci) mci 179 drivers/edac/i82443bxgx_edac.c edac_dbg(1, "MC%d\n", mci->mc_idx); mci 180 drivers/edac/i82443bxgx_edac.c i82443bxgx_edacmc_get_error_info(mci, &info); mci 181 drivers/edac/i82443bxgx_edac.c i82443bxgx_edacmc_process_error_info(mci, &info, 1); mci 184 drivers/edac/i82443bxgx_edac.c static void i82443bxgx_init_csrows(struct mem_ctl_info *mci, mci 197 drivers/edac/i82443bxgx_edac.c for (index = 0; index < mci->nr_csrows; index++) { mci 198 drivers/edac/i82443bxgx_edac.c csrow = mci->csrows[index]; mci 203 drivers/edac/i82443bxgx_edac.c mci->mc_idx, index, drbar); mci 207 drivers/edac/i82443bxgx_edac.c mci->mc_idx, index, row_high_limit, mci 234 drivers/edac/i82443bxgx_edac.c struct mem_ctl_info *mci; mci 255 drivers/edac/i82443bxgx_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0); mci 256 drivers/edac/i82443bxgx_edac.c if (mci == NULL) mci 259 drivers/edac/i82443bxgx_edac.c edac_dbg(0, "MC: mci = %p\n", mci); mci 260 drivers/edac/i82443bxgx_edac.c mci->pdev = &pdev->dev; mci 261 drivers/edac/i82443bxgx_edac.c mci->mtype_cap = MEM_FLAG_EDO | MEM_FLAG_SDR | MEM_FLAG_RDR; mci 262 drivers/edac/i82443bxgx_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_EC | EDAC_FLAG_SECDED; mci 280 drivers/edac/i82443bxgx_edac.c mci->edac_cap = mci->edac_ctl_cap; mci 282 drivers/edac/i82443bxgx_edac.c mci->edac_cap = EDAC_FLAG_NONE; mci 284 drivers/edac/i82443bxgx_edac.c mci->scrub_cap = SCRUB_FLAG_HW_SRC; mci 289 drivers/edac/i82443bxgx_edac.c mci->scrub_mode = (ecc_mode == I82443BXGX_NBXCFG_INTEGRITY_SCRUB) mci 309 drivers/edac/i82443bxgx_edac.c i82443bxgx_init_csrows(mci, pdev, edac_mode, mtype); mci 320 drivers/edac/i82443bxgx_edac.c mci->mod_name = EDAC_MOD_STR; mci 321 drivers/edac/i82443bxgx_edac.c mci->ctl_name = "I82443BXGX"; mci 322 drivers/edac/i82443bxgx_edac.c mci->dev_name = pci_name(pdev); mci 323 drivers/edac/i82443bxgx_edac.c mci->edac_check = i82443bxgx_edacmc_check; mci 324 drivers/edac/i82443bxgx_edac.c mci->ctl_page_to_phys = NULL; mci 326 drivers/edac/i82443bxgx_edac.c if (edac_mc_add_mc(mci)) { mci 346 drivers/edac/i82443bxgx_edac.c edac_mc_free(mci); mci 369 drivers/edac/i82443bxgx_edac.c struct mem_ctl_info *mci; mci 376 drivers/edac/i82443bxgx_edac.c if ((mci = edac_mc_del_mc(&pdev->dev)) == NULL) mci 379 drivers/edac/i82443bxgx_edac.c edac_mc_free(mci); mci 24 drivers/edac/i82860_edac.c #define i82860_mc_printk(mci, level, fmt, arg...) \ mci 25 drivers/edac/i82860_edac.c edac_mc_chipset_printk(mci, level, "i82860", fmt, ##arg) mci 64 drivers/edac/i82860_edac.c static void i82860_get_error_info(struct mem_ctl_info *mci, mci 69 drivers/edac/i82860_edac.c pdev = to_pci_dev(mci->pdev); mci 97 drivers/edac/i82860_edac.c static int i82860_process_error_info(struct mem_ctl_info *mci, mci 111 drivers/edac/i82860_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, 0, 0, 0, mci 117 drivers/edac/i82860_edac.c row = edac_mc_find_csrow_by_page(mci, info->eap); mci 118 drivers/edac/i82860_edac.c dimm = mci->csrows[row]->channels[0]->dimm; mci 121 drivers/edac/i82860_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 126 drivers/edac/i82860_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 134 drivers/edac/i82860_edac.c static void i82860_check(struct mem_ctl_info *mci) mci 138 drivers/edac/i82860_edac.c edac_dbg(1, "MC%d\n", mci->mc_idx); mci 139 drivers/edac/i82860_edac.c i82860_get_error_info(mci, &info); mci 140 drivers/edac/i82860_edac.c i82860_process_error_info(mci, &info, 1); mci 143 drivers/edac/i82860_edac.c static void i82860_init_csrows(struct mem_ctl_info *mci, struct pci_dev *pdev) mci 162 drivers/edac/i82860_edac.c for (index = 0; index < mci->nr_csrows; index++) { mci 163 drivers/edac/i82860_edac.c csrow = mci->csrows[index]; mci 187 drivers/edac/i82860_edac.c struct mem_ctl_info *mci; mci 207 drivers/edac/i82860_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0); mci 208 drivers/edac/i82860_edac.c if (!mci) mci 212 drivers/edac/i82860_edac.c mci->pdev = &pdev->dev; mci 213 drivers/edac/i82860_edac.c mci->mtype_cap = MEM_FLAG_DDR; mci 214 drivers/edac/i82860_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED; mci 216 drivers/edac/i82860_edac.c mci->edac_cap = EDAC_FLAG_SECDED; mci 217 drivers/edac/i82860_edac.c mci->mod_name = EDAC_MOD_STR; mci 218 drivers/edac/i82860_edac.c mci->ctl_name = i82860_devs[dev_idx].ctl_name; mci 219 drivers/edac/i82860_edac.c mci->dev_name = pci_name(pdev); mci 220 drivers/edac/i82860_edac.c mci->edac_check = i82860_check; mci 221 drivers/edac/i82860_edac.c mci->ctl_page_to_phys = NULL; mci 222 drivers/edac/i82860_edac.c i82860_init_csrows(mci, pdev); mci 223 drivers/edac/i82860_edac.c i82860_get_error_info(mci, &discard); /* clear counters */ mci 228 drivers/edac/i82860_edac.c if (edac_mc_add_mc(mci)) { mci 250 drivers/edac/i82860_edac.c edac_mc_free(mci); mci 276 drivers/edac/i82860_edac.c struct mem_ctl_info *mci; mci 283 drivers/edac/i82860_edac.c if ((mci = edac_mc_del_mc(&pdev->dev)) == NULL) mci 286 drivers/edac/i82860_edac.c edac_mc_free(mci); mci 28 drivers/edac/i82875p_edac.c #define i82875p_mc_printk(mci, level, fmt, arg...) \ mci 29 drivers/edac/i82875p_edac.c edac_mc_chipset_printk(mci, level, "i82875p", fmt, ##arg) mci 186 drivers/edac/i82875p_edac.c static void i82875p_get_error_info(struct mem_ctl_info *mci, mci 191 drivers/edac/i82875p_edac.c pdev = to_pci_dev(mci->pdev); mci 223 drivers/edac/i82875p_edac.c static int i82875p_process_error_info(struct mem_ctl_info *mci, mci 229 drivers/edac/i82875p_edac.c multi_chan = mci->csrows[0]->nr_channels - 1; mci 238 drivers/edac/i82875p_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, 0, 0, 0, mci 245 drivers/edac/i82875p_edac.c row = edac_mc_find_csrow_by_page(mci, info->eap); mci 248 drivers/edac/i82875p_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 253 drivers/edac/i82875p_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 261 drivers/edac/i82875p_edac.c static void i82875p_check(struct mem_ctl_info *mci) mci 265 drivers/edac/i82875p_edac.c edac_dbg(1, "MC%d\n", mci->mc_idx); mci 266 drivers/edac/i82875p_edac.c i82875p_get_error_info(mci, &info); mci 267 drivers/edac/i82875p_edac.c i82875p_process_error_info(mci, &info, 1); mci 340 drivers/edac/i82875p_edac.c static void i82875p_init_csrows(struct mem_ctl_info *mci, mci 362 drivers/edac/i82875p_edac.c for (index = 0; index < mci->nr_csrows; index++) { mci 363 drivers/edac/i82875p_edac.c csrow = mci->csrows[index]; mci 391 drivers/edac/i82875p_edac.c struct mem_ctl_info *mci; mci 413 drivers/edac/i82875p_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt)); mci 414 drivers/edac/i82875p_edac.c if (!mci) { mci 420 drivers/edac/i82875p_edac.c mci->pdev = &pdev->dev; mci 421 drivers/edac/i82875p_edac.c mci->mtype_cap = MEM_FLAG_DDR; mci 422 drivers/edac/i82875p_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED; mci 423 drivers/edac/i82875p_edac.c mci->edac_cap = EDAC_FLAG_UNKNOWN; mci 424 drivers/edac/i82875p_edac.c mci->mod_name = EDAC_MOD_STR; mci 425 drivers/edac/i82875p_edac.c mci->ctl_name = i82875p_devs[dev_idx].ctl_name; mci 426 drivers/edac/i82875p_edac.c mci->dev_name = pci_name(pdev); mci 427 drivers/edac/i82875p_edac.c mci->edac_check = i82875p_check; mci 428 drivers/edac/i82875p_edac.c mci->ctl_page_to_phys = NULL; mci 430 drivers/edac/i82875p_edac.c pvt = (struct i82875p_pvt *)mci->pvt_info; mci 433 drivers/edac/i82875p_edac.c i82875p_init_csrows(mci, pdev, ovrfl_window, drc); mci 434 drivers/edac/i82875p_edac.c i82875p_get_error_info(mci, &discard); /* clear counters */ mci 439 drivers/edac/i82875p_edac.c if (edac_mc_add_mc(mci)) { mci 460 drivers/edac/i82875p_edac.c edac_mc_free(mci); mci 493 drivers/edac/i82875p_edac.c struct mem_ctl_info *mci; mci 501 drivers/edac/i82875p_edac.c if ((mci = edac_mc_del_mc(&pdev->dev)) == NULL) mci 504 drivers/edac/i82875p_edac.c pvt = (struct i82875p_pvt *)mci->pvt_info; mci 517 drivers/edac/i82875p_edac.c edac_mc_free(mci); mci 24 drivers/edac/i82975x_edac.c #define i82975x_mc_printk(mci, level, fmt, arg...) \ mci 25 drivers/edac/i82975x_edac.c edac_mc_chipset_printk(mci, level, "i82975x", fmt, ##arg) mci 238 drivers/edac/i82975x_edac.c static void i82975x_get_error_info(struct mem_ctl_info *mci, mci 243 drivers/edac/i82975x_edac.c pdev = to_pci_dev(mci->pdev); mci 277 drivers/edac/i82975x_edac.c static int i82975x_process_error_info(struct mem_ctl_info *mci, mci 290 drivers/edac/i82975x_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, 0, 0, 0, mci 300 drivers/edac/i82975x_edac.c row = edac_mc_find_csrow_by_page(mci, page); mci 303 drivers/edac/i82975x_edac.c i82975x_mc_printk(mci, KERN_ERR, "error processing EAP:\n" mci 310 drivers/edac/i82975x_edac.c chan = (mci->csrows[row]->nr_channels == 1) ? 0 : info->eap & 1; mci 313 drivers/edac/i82975x_edac.c (1 << mci->csrows[row]->channels[chan]->dimm->grain)); mci 316 drivers/edac/i82975x_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 321 drivers/edac/i82975x_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 329 drivers/edac/i82975x_edac.c static void i82975x_check(struct mem_ctl_info *mci) mci 333 drivers/edac/i82975x_edac.c edac_dbg(1, "MC%d\n", mci->mc_idx); mci 334 drivers/edac/i82975x_edac.c i82975x_get_error_info(mci, &info); mci 335 drivers/edac/i82975x_edac.c i82975x_process_error_info(mci, &info, 1); mci 361 drivers/edac/i82975x_edac.c static void i82975x_init_csrows(struct mem_ctl_info *mci, mci 382 drivers/edac/i82975x_edac.c for (index = 0; index < mci->nr_csrows; index++) { mci 383 drivers/edac/i82975x_edac.c csrow = mci->csrows[index]; mci 408 drivers/edac/i82975x_edac.c dimm = mci->csrows[index]->channels[chan]->dimm; mci 467 drivers/edac/i82975x_edac.c struct mem_ctl_info *mci; mci 547 drivers/edac/i82975x_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt)); mci 548 drivers/edac/i82975x_edac.c if (!mci) { mci 554 drivers/edac/i82975x_edac.c mci->pdev = &pdev->dev; mci 555 drivers/edac/i82975x_edac.c mci->mtype_cap = MEM_FLAG_DDR2; mci 556 drivers/edac/i82975x_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED; mci 557 drivers/edac/i82975x_edac.c mci->edac_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED; mci 558 drivers/edac/i82975x_edac.c mci->mod_name = EDAC_MOD_STR; mci 559 drivers/edac/i82975x_edac.c mci->ctl_name = i82975x_devs[dev_idx].ctl_name; mci 560 drivers/edac/i82975x_edac.c mci->dev_name = pci_name(pdev); mci 561 drivers/edac/i82975x_edac.c mci->edac_check = i82975x_check; mci 562 drivers/edac/i82975x_edac.c mci->ctl_page_to_phys = NULL; mci 564 drivers/edac/i82975x_edac.c pvt = (struct i82975x_pvt *) mci->pvt_info; mci 566 drivers/edac/i82975x_edac.c i82975x_init_csrows(mci, pdev, mch_window); mci 567 drivers/edac/i82975x_edac.c mci->scrub_mode = SCRUB_HW_SRC; mci 568 drivers/edac/i82975x_edac.c i82975x_get_error_info(mci, &discard); /* clear counters */ mci 571 drivers/edac/i82975x_edac.c if (edac_mc_add_mc(mci)) { mci 581 drivers/edac/i82975x_edac.c edac_mc_free(mci); mci 610 drivers/edac/i82975x_edac.c struct mem_ctl_info *mci; mci 615 drivers/edac/i82975x_edac.c mci = edac_mc_del_mc(&pdev->dev); mci 616 drivers/edac/i82975x_edac.c if (mci == NULL) mci 619 drivers/edac/i82975x_edac.c pvt = mci->pvt_info; mci 623 drivers/edac/i82975x_edac.c edac_mc_free(mci); mci 247 drivers/edac/ie31200_edac.c static void ie31200_clear_error_info(struct mem_ctl_info *mci) mci 253 drivers/edac/ie31200_edac.c pci_write_bits16(to_pci_dev(mci->pdev), IE31200_ERRSTS, mci 257 drivers/edac/ie31200_edac.c static void ie31200_get_and_clear_error_info(struct mem_ctl_info *mci, mci 261 drivers/edac/ie31200_edac.c struct ie31200_priv *priv = mci->pvt_info; mci 263 drivers/edac/ie31200_edac.c pdev = to_pci_dev(mci->pdev); mci 293 drivers/edac/ie31200_edac.c ie31200_clear_error_info(mci); mci 296 drivers/edac/ie31200_edac.c static void ie31200_process_error_info(struct mem_ctl_info *mci, mci 306 drivers/edac/ie31200_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, 0, 0, 0, mci 314 drivers/edac/ie31200_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 320 drivers/edac/ie31200_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 330 drivers/edac/ie31200_edac.c static void ie31200_check(struct mem_ctl_info *mci) mci 334 drivers/edac/ie31200_edac.c edac_dbg(1, "MC%d\n", mci->mc_idx); mci 335 drivers/edac/ie31200_edac.c ie31200_get_and_clear_error_info(mci, &info); mci 336 drivers/edac/ie31200_edac.c ie31200_process_error_info(mci, &info); mci 398 drivers/edac/ie31200_edac.c struct mem_ctl_info *mci = NULL; mci 425 drivers/edac/ie31200_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, mci 427 drivers/edac/ie31200_edac.c if (!mci) mci 437 drivers/edac/ie31200_edac.c mci->pdev = &pdev->dev; mci 439 drivers/edac/ie31200_edac.c mci->mtype_cap = MEM_FLAG_DDR4; mci 441 drivers/edac/ie31200_edac.c mci->mtype_cap = MEM_FLAG_DDR3; mci 442 drivers/edac/ie31200_edac.c mci->edac_ctl_cap = EDAC_FLAG_SECDED; mci 443 drivers/edac/ie31200_edac.c mci->edac_cap = EDAC_FLAG_SECDED; mci 444 drivers/edac/ie31200_edac.c mci->mod_name = EDAC_MOD_STR; mci 445 drivers/edac/ie31200_edac.c mci->ctl_name = ie31200_devs[dev_idx].ctl_name; mci 446 drivers/edac/ie31200_edac.c mci->dev_name = pci_name(pdev); mci 447 drivers/edac/ie31200_edac.c mci->edac_check = ie31200_check; mci 448 drivers/edac/ie31200_edac.c mci->ctl_page_to_phys = NULL; mci 449 drivers/edac/ie31200_edac.c priv = mci->pvt_info; mci 493 drivers/edac/ie31200_edac.c dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci 494 drivers/edac/ie31200_edac.c mci->n_layers, (i * 2) + 1, mci 506 drivers/edac/ie31200_edac.c dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci 507 drivers/edac/ie31200_edac.c mci->n_layers, i * 2, j, 0); mci 520 drivers/edac/ie31200_edac.c ie31200_clear_error_info(mci); mci 522 drivers/edac/ie31200_edac.c if (edac_mc_add_mc(mci)) { mci 536 drivers/edac/ie31200_edac.c edac_mc_free(mci); mci 554 drivers/edac/ie31200_edac.c struct mem_ctl_info *mci; mci 558 drivers/edac/ie31200_edac.c mci = edac_mc_del_mc(&pdev->dev); mci 559 drivers/edac/ie31200_edac.c if (!mci) mci 561 drivers/edac/ie31200_edac.c priv = mci->pvt_info; mci 563 drivers/edac/ie31200_edac.c edac_mc_free(mci); mci 590 drivers/edac/mv64x60_edac.c static void mv64x60_mc_check(struct mem_ctl_info *mci) mci 592 drivers/edac/mv64x60_edac.c struct mv64x60_mc_pdata *pdata = mci->pvt_info; mci 610 drivers/edac/mv64x60_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 614 drivers/edac/mv64x60_edac.c mci->ctl_name, ""); mci 616 drivers/edac/mv64x60_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 620 drivers/edac/mv64x60_edac.c mci->ctl_name, ""); mci 628 drivers/edac/mv64x60_edac.c struct mem_ctl_info *mci = dev_id; mci 629 drivers/edac/mv64x60_edac.c struct mv64x60_mc_pdata *pdata = mci->pvt_info; mci 637 drivers/edac/mv64x60_edac.c mv64x60_mc_check(mci); mci 656 drivers/edac/mv64x60_edac.c static void mv64x60_init_csrows(struct mem_ctl_info *mci, mci 669 drivers/edac/mv64x60_edac.c csrow = mci->csrows[0]; mci 698 drivers/edac/mv64x60_edac.c struct mem_ctl_info *mci; mci 714 drivers/edac/mv64x60_edac.c mci = edac_mc_alloc(edac_mc_idx, ARRAY_SIZE(layers), layers, mci 716 drivers/edac/mv64x60_edac.c if (!mci) { mci 722 drivers/edac/mv64x60_edac.c pdata = mci->pvt_info; mci 723 drivers/edac/mv64x60_edac.c mci->pdev = &pdev->dev; mci 724 drivers/edac/mv64x60_edac.c platform_set_drvdata(pdev, mci); mci 726 drivers/edac/mv64x60_edac.c mci->dev_name = dev_name(&pdev->dev); mci 765 drivers/edac/mv64x60_edac.c mci->mtype_cap = MEM_FLAG_RDDR | MEM_FLAG_DDR; mci 766 drivers/edac/mv64x60_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED; mci 767 drivers/edac/mv64x60_edac.c mci->edac_cap = EDAC_FLAG_SECDED; mci 768 drivers/edac/mv64x60_edac.c mci->mod_name = EDAC_MOD_STR; mci 769 drivers/edac/mv64x60_edac.c mci->ctl_name = mv64x60_ctl_name; mci 772 drivers/edac/mv64x60_edac.c mci->edac_check = mv64x60_mc_check; mci 774 drivers/edac/mv64x60_edac.c mci->ctl_page_to_phys = NULL; mci 776 drivers/edac/mv64x60_edac.c mci->scrub_mode = SCRUB_SW_SRC; mci 778 drivers/edac/mv64x60_edac.c mv64x60_init_csrows(mci, pdata); mci 786 drivers/edac/mv64x60_edac.c res = edac_mc_add_mc(mci); mci 800 drivers/edac/mv64x60_edac.c mci); mci 821 drivers/edac/mv64x60_edac.c edac_mc_free(mci); mci 827 drivers/edac/mv64x60_edac.c struct mem_ctl_info *mci = platform_get_drvdata(pdev); mci 832 drivers/edac/mv64x60_edac.c edac_mc_free(mci); mci 21 drivers/edac/mv64x60_edac.h #define mv64x60_mc_printk(mci, level, fmt, arg...) \ mci 22 drivers/edac/mv64x60_edac.h edac_mc_chipset_printk(mci, level, "MV64x60", fmt, ##arg) mci 38 drivers/edac/octeon_edac-lmc.c static void octeon_lmc_edac_poll(struct mem_ctl_info *mci) mci 44 drivers/edac/octeon_edac-lmc.c cfg0.u64 = cvmx_read_csr(CVMX_LMCX_MEM_CFG0(mci->mc_idx)); mci 47 drivers/edac/octeon_edac-lmc.c fadr.u64 = cvmx_read_csr(CVMX_LMCX_FADR(mci->mc_idx)); mci 55 drivers/edac/octeon_edac-lmc.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, 0, 0, 0, mci 62 drivers/edac/octeon_edac-lmc.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, 0, 0, 0, mci 68 drivers/edac/octeon_edac-lmc.c cvmx_write_csr(CVMX_LMCX_MEM_CFG0(mci->mc_idx), cfg0.u64); mci 71 drivers/edac/octeon_edac-lmc.c static void octeon_lmc_edac_poll_o2(struct mem_ctl_info *mci) mci 73 drivers/edac/octeon_edac-lmc.c struct octeon_lmc_pvt *pvt = mci->pvt_info; mci 79 drivers/edac/octeon_edac-lmc.c int_reg.u64 = cvmx_read_csr(CVMX_LMCX_INT(mci->mc_idx)); mci 91 drivers/edac/octeon_edac-lmc.c fadr.u64 = cvmx_read_csr(CVMX_LMCX_FADR(mci->mc_idx)); mci 106 drivers/edac/octeon_edac-lmc.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, 0, 0, 0, mci 113 drivers/edac/octeon_edac-lmc.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, 0, 0, 0, mci 121 drivers/edac/octeon_edac-lmc.c cvmx_write_csr(CVMX_LMCX_INT(mci->mc_idx), int_reg.u64); mci 135 drivers/edac/octeon_edac-lmc.c struct mem_ctl_info *mci = to_mci(dev); \ mci 136 drivers/edac/octeon_edac-lmc.c struct octeon_lmc_pvt *pvt = mci->pvt_info; \ mci 145 drivers/edac/octeon_edac-lmc.c struct mem_ctl_info *mci = to_mci(dev); \ mci 146 drivers/edac/octeon_edac-lmc.c struct octeon_lmc_pvt *pvt = mci->pvt_info; \ mci 172 drivers/edac/octeon_edac-lmc.c struct mem_ctl_info *mci = to_mci(dev); mci 173 drivers/edac/octeon_edac-lmc.c struct octeon_lmc_pvt *pvt = mci->pvt_info; mci 187 drivers/edac/octeon_edac-lmc.c struct mem_ctl_info *mci = to_mci(dev); mci 188 drivers/edac/octeon_edac-lmc.c struct octeon_lmc_pvt *pvt = mci->pvt_info; mci 227 drivers/edac/octeon_edac-lmc.c struct mem_ctl_info *mci; mci 246 drivers/edac/octeon_edac-lmc.c mci = edac_mc_alloc(mc, ARRAY_SIZE(layers), layers, sizeof(struct octeon_lmc_pvt)); mci 247 drivers/edac/octeon_edac-lmc.c if (!mci) mci 250 drivers/edac/octeon_edac-lmc.c mci->pdev = &pdev->dev; mci 251 drivers/edac/octeon_edac-lmc.c mci->dev_name = dev_name(&pdev->dev); mci 253 drivers/edac/octeon_edac-lmc.c mci->mod_name = "octeon-lmc"; mci 254 drivers/edac/octeon_edac-lmc.c mci->ctl_name = "octeon-lmc-err"; mci 255 drivers/edac/octeon_edac-lmc.c mci->edac_check = octeon_lmc_edac_poll; mci 257 drivers/edac/octeon_edac-lmc.c if (edac_mc_add_mc_with_groups(mci, octeon_dev_groups)) { mci 259 drivers/edac/octeon_edac-lmc.c edac_mc_free(mci); mci 278 drivers/edac/octeon_edac-lmc.c mci = edac_mc_alloc(mc, ARRAY_SIZE(layers), layers, sizeof(struct octeon_lmc_pvt)); mci 279 drivers/edac/octeon_edac-lmc.c if (!mci) mci 282 drivers/edac/octeon_edac-lmc.c mci->pdev = &pdev->dev; mci 283 drivers/edac/octeon_edac-lmc.c mci->dev_name = dev_name(&pdev->dev); mci 285 drivers/edac/octeon_edac-lmc.c mci->mod_name = "octeon-lmc"; mci 286 drivers/edac/octeon_edac-lmc.c mci->ctl_name = "co_lmc_err"; mci 287 drivers/edac/octeon_edac-lmc.c mci->edac_check = octeon_lmc_edac_poll_o2; mci 289 drivers/edac/octeon_edac-lmc.c if (edac_mc_add_mc_with_groups(mci, octeon_dev_groups)) { mci 291 drivers/edac/octeon_edac-lmc.c edac_mc_free(mci); mci 300 drivers/edac/octeon_edac-lmc.c platform_set_drvdata(pdev, mci); mci 307 drivers/edac/octeon_edac-lmc.c struct mem_ctl_info *mci = platform_get_drvdata(pdev); mci 310 drivers/edac/octeon_edac-lmc.c edac_mc_free(mci); mci 63 drivers/edac/pasemi_edac.c static u32 pasemi_edac_get_error_info(struct mem_ctl_info *mci) mci 65 drivers/edac/pasemi_edac.c struct pci_dev *pdev = to_pci_dev(mci->pdev); mci 84 drivers/edac/pasemi_edac.c static void pasemi_edac_process_error_info(struct mem_ctl_info *mci, u32 errsta) mci 86 drivers/edac/pasemi_edac.c struct pci_dev *pdev = to_pci_dev(mci->pdev); mci 101 drivers/edac/pasemi_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 102 drivers/edac/pasemi_edac.c mci->csrows[cs]->first_page, 0, 0, mci 103 drivers/edac/pasemi_edac.c cs, 0, -1, mci->ctl_name, ""); mci 108 drivers/edac/pasemi_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 109 drivers/edac/pasemi_edac.c mci->csrows[cs]->first_page, 0, 0, mci 110 drivers/edac/pasemi_edac.c cs, 0, -1, mci->ctl_name, ""); mci 113 drivers/edac/pasemi_edac.c static void pasemi_edac_check(struct mem_ctl_info *mci) mci 117 drivers/edac/pasemi_edac.c errsta = pasemi_edac_get_error_info(mci); mci 119 drivers/edac/pasemi_edac.c pasemi_edac_process_error_info(mci, errsta); mci 122 drivers/edac/pasemi_edac.c static int pasemi_edac_init_csrows(struct mem_ctl_info *mci, mci 131 drivers/edac/pasemi_edac.c for (index = 0; index < mci->nr_csrows; index++) { mci 132 drivers/edac/pasemi_edac.c csrow = mci->csrows[index]; mci 161 drivers/edac/pasemi_edac.c edac_mc_printk(mci, KERN_ERR, mci 182 drivers/edac/pasemi_edac.c struct mem_ctl_info *mci = NULL; mci 206 drivers/edac/pasemi_edac.c mci = edac_mc_alloc(system_mmc_id++, ARRAY_SIZE(layers), layers, mci 208 drivers/edac/pasemi_edac.c if (mci == NULL) mci 216 drivers/edac/pasemi_edac.c mci->pdev = &pdev->dev; mci 217 drivers/edac/pasemi_edac.c mci->mtype_cap = MEM_FLAG_DDR | MEM_FLAG_RDDR; mci 218 drivers/edac/pasemi_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_EC | EDAC_FLAG_SECDED; mci 219 drivers/edac/pasemi_edac.c mci->edac_cap = (errcor & MCCFG_ERRCOR_ECC_GEN_EN) ? mci 223 drivers/edac/pasemi_edac.c mci->mod_name = MODULE_NAME; mci 224 drivers/edac/pasemi_edac.c mci->dev_name = pci_name(pdev); mci 225 drivers/edac/pasemi_edac.c mci->ctl_name = "pasemi,pwrficient-mc"; mci 226 drivers/edac/pasemi_edac.c mci->edac_check = pasemi_edac_check; mci 227 drivers/edac/pasemi_edac.c mci->ctl_page_to_phys = NULL; mci 229 drivers/edac/pasemi_edac.c mci->scrub_cap = SCRUB_FLAG_HW_PROG | SCRUB_FLAG_HW_SRC; mci 230 drivers/edac/pasemi_edac.c mci->scrub_mode = mci 234 drivers/edac/pasemi_edac.c if (pasemi_edac_init_csrows(mci, pdev, mci 235 drivers/edac/pasemi_edac.c (mci->edac_cap & EDAC_FLAG_SECDED) ? mci 237 drivers/edac/pasemi_edac.c ((mci->edac_cap & EDAC_FLAG_EC) ? mci 244 drivers/edac/pasemi_edac.c pasemi_edac_get_error_info(mci); mci 246 drivers/edac/pasemi_edac.c if (edac_mc_add_mc(mci)) mci 253 drivers/edac/pasemi_edac.c edac_mc_free(mci); mci 259 drivers/edac/pasemi_edac.c struct mem_ctl_info *mci = edac_mc_del_mc(&pdev->dev); mci 261 drivers/edac/pasemi_edac.c if (!mci) mci 264 drivers/edac/pasemi_edac.c edac_mc_free(mci); mci 91 drivers/edac/pnd2_edac.c void (*get_dimm_config)(struct mem_ctl_info *mci); mci 92 drivers/edac/pnd2_edac.c int (*pmi2mem)(struct mem_ctl_info *mci, u64 pmiaddr, u32 pmiidx, mci 104 drivers/edac/pnd2_edac.c #define pnd2_mc_printk(mci, level, fmt, arg...) \ mci 105 drivers/edac/pnd2_edac.c edac_mc_chipset_printk(mci, level, "pnd2", fmt, ##arg) mci 926 drivers/edac/pnd2_edac.c static int apl_pmi2mem(struct mem_ctl_info *mci, u64 pmiaddr, u32 pmiidx, mci 930 drivers/edac/pnd2_edac.c struct pnd2_pvt *pvt = mci->pvt_info; mci 996 drivers/edac/pnd2_edac.c static int dnv_pmi2mem(struct mem_ctl_info *mci, u64 pmiaddr, u32 pmiidx, mci 1117 drivers/edac/pnd2_edac.c static int get_memory_error_data(struct mem_ctl_info *mci, u64 addr, mci 1133 drivers/edac/pnd2_edac.c ret = ops->pmi2mem(mci, pmiaddr, pmiidx, daddr, msg); mci 1143 drivers/edac/pnd2_edac.c static void pnd2_mce_output_error(struct mem_ctl_info *mci, const struct mce *m, mci 1201 drivers/edac/pnd2_edac.c rc = get_memory_error_data(mci, m->addr, daddr, msg); mci 1213 drivers/edac/pnd2_edac.c edac_mc_handle_error(tp_event, mci, core_err_cnt, m->addr >> PAGE_SHIFT, mci 1219 drivers/edac/pnd2_edac.c edac_mc_handle_error(tp_event, mci, core_err_cnt, 0, 0, 0, -1, -1, -1, msg, ""); mci 1222 drivers/edac/pnd2_edac.c static void apl_get_dimm_config(struct mem_ctl_info *mci) mci 1224 drivers/edac/pnd2_edac.c struct pnd2_pvt *pvt = mci->pvt_info; mci 1234 drivers/edac/pnd2_edac.c dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci->n_layers, i, 0, 0); mci 1269 drivers/edac/pnd2_edac.c static void dnv_get_dimm_config(struct mem_ctl_info *mci) mci 1314 drivers/edac/pnd2_edac.c dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci->n_layers, i, j, 0); mci 1335 drivers/edac/pnd2_edac.c struct mem_ctl_info *mci; mci 1350 drivers/edac/pnd2_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt)); mci 1351 drivers/edac/pnd2_edac.c if (!mci) mci 1354 drivers/edac/pnd2_edac.c pvt = mci->pvt_info; mci 1357 drivers/edac/pnd2_edac.c mci->mod_name = EDAC_MOD_STR; mci 1358 drivers/edac/pnd2_edac.c mci->dev_name = ops->name; mci 1359 drivers/edac/pnd2_edac.c mci->ctl_name = "Pondicherry2"; mci 1362 drivers/edac/pnd2_edac.c ops->get_dimm_config(mci); mci 1364 drivers/edac/pnd2_edac.c if (edac_mc_add_mc(mci)) { mci 1366 drivers/edac/pnd2_edac.c edac_mc_free(mci); mci 1370 drivers/edac/pnd2_edac.c *ppmci = mci; mci 1375 drivers/edac/pnd2_edac.c static void pnd2_unregister_mci(struct mem_ctl_info *mci) mci 1377 drivers/edac/pnd2_edac.c if (unlikely(!mci || !mci->pvt_info)) { mci 1384 drivers/edac/pnd2_edac.c edac_dbg(1, "%s: free mci struct\n", mci->ctl_name); mci 1385 drivers/edac/pnd2_edac.c edac_mc_free(mci); mci 1395 drivers/edac/pnd2_edac.c struct mem_ctl_info *mci; mci 1402 drivers/edac/pnd2_edac.c mci = pnd2_mci; mci 1403 drivers/edac/pnd2_edac.c if (!mci) mci 1420 drivers/edac/pnd2_edac.c pnd2_mc_printk(mci, KERN_INFO, "HANDLING MCE MEMORY ERROR\n"); mci 1421 drivers/edac/pnd2_edac.c pnd2_mc_printk(mci, KERN_INFO, "CPU %u: Machine Check %s: %llx Bank %u: %llx\n", mci 1423 drivers/edac/pnd2_edac.c pnd2_mc_printk(mci, KERN_INFO, "TSC %llx ", mce->tsc); mci 1424 drivers/edac/pnd2_edac.c pnd2_mc_printk(mci, KERN_INFO, "ADDR %llx ", mce->addr); mci 1425 drivers/edac/pnd2_edac.c pnd2_mc_printk(mci, KERN_INFO, "MISC %llx ", mce->misc); mci 1426 drivers/edac/pnd2_edac.c pnd2_mc_printk(mci, KERN_INFO, "PROCESSOR %u:%x TIME %llu SOCKET %u APIC %x\n", mci 1429 drivers/edac/pnd2_edac.c pnd2_mce_output_error(mci, mce, &daddr); mci 124 drivers/edac/ppc4xx_edac.c #define ppc4xx_edac_mc_printk(level, mci, fmt, arg...) \ mci 125 drivers/edac/ppc4xx_edac.c edac_mc_chipset_printk(mci, level, "PPC4xx", fmt, ##arg) mci 311 drivers/edac/ppc4xx_edac.c ppc4xx_edac_generate_bank_message(const struct mem_ctl_info *mci, mci 319 drivers/edac/ppc4xx_edac.c n = snprintf(buffer, size, "%s: Banks: ", mci->dev_name); mci 328 drivers/edac/ppc4xx_edac.c for (rows = 0, row = 0; row < mci->nr_csrows; row++) { mci 373 drivers/edac/ppc4xx_edac.c ppc4xx_edac_generate_checkbit_message(const struct mem_ctl_info *mci, mci 378 drivers/edac/ppc4xx_edac.c const struct ppc4xx_edac_pdata *pdata = mci->pvt_info; mci 431 drivers/edac/ppc4xx_edac.c ppc4xx_edac_generate_lane_message(const struct mem_ctl_info *mci, mci 496 drivers/edac/ppc4xx_edac.c ppc4xx_edac_generate_ecc_message(const struct mem_ctl_info *mci, mci 503 drivers/edac/ppc4xx_edac.c n = ppc4xx_edac_generate_bank_message(mci, status, buffer, size); mci 512 drivers/edac/ppc4xx_edac.c n = ppc4xx_edac_generate_checkbit_message(mci, status, buffer, size); mci 521 drivers/edac/ppc4xx_edac.c n = ppc4xx_edac_generate_lane_message(mci, status, buffer, size); mci 552 drivers/edac/ppc4xx_edac.c ppc4xx_edac_generate_plb_message(const struct mem_ctl_info *mci, mci 593 drivers/edac/ppc4xx_edac.c ppc4xx_edac_generate_message(const struct mem_ctl_info *mci, mci 603 drivers/edac/ppc4xx_edac.c n = ppc4xx_edac_generate_ecc_message(mci, status, buffer, size); mci 611 drivers/edac/ppc4xx_edac.c ppc4xx_edac_generate_plb_message(mci, status, buffer, size); mci 626 drivers/edac/ppc4xx_edac.c ppc4xx_ecc_dump_status(const struct mem_ctl_info *mci, mci 631 drivers/edac/ppc4xx_edac.c ppc4xx_edac_generate_message(mci, status, message, sizeof(message)); mci 633 drivers/edac/ppc4xx_edac.c ppc4xx_edac_mc_printk(KERN_INFO, mci, mci 663 drivers/edac/ppc4xx_edac.c ppc4xx_ecc_get_status(const struct mem_ctl_info *mci, mci 666 drivers/edac/ppc4xx_edac.c const struct ppc4xx_edac_pdata *pdata = mci->pvt_info; mci 688 drivers/edac/ppc4xx_edac.c ppc4xx_ecc_clear_status(const struct mem_ctl_info *mci, mci 691 drivers/edac/ppc4xx_edac.c const struct ppc4xx_edac_pdata *pdata = mci->pvt_info; mci 715 drivers/edac/ppc4xx_edac.c ppc4xx_edac_handle_ce(struct mem_ctl_info *mci, mci 721 drivers/edac/ppc4xx_edac.c ppc4xx_edac_generate_message(mci, status, message, sizeof(message)); mci 723 drivers/edac/ppc4xx_edac.c for (row = 0; row < mci->nr_csrows; row++) mci 725 drivers/edac/ppc4xx_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 743 drivers/edac/ppc4xx_edac.c ppc4xx_edac_handle_ue(struct mem_ctl_info *mci, mci 752 drivers/edac/ppc4xx_edac.c ppc4xx_edac_generate_message(mci, status, message, sizeof(message)); mci 754 drivers/edac/ppc4xx_edac.c for (row = 0; row < mci->nr_csrows; row++) mci 756 drivers/edac/ppc4xx_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 773 drivers/edac/ppc4xx_edac.c ppc4xx_edac_check(struct mem_ctl_info *mci) mci 780 drivers/edac/ppc4xx_edac.c ppc4xx_ecc_get_status(mci, &status); mci 784 drivers/edac/ppc4xx_edac.c ppc4xx_ecc_dump_status(mci, &status); mci 788 drivers/edac/ppc4xx_edac.c ppc4xx_edac_handle_ue(mci, &status); mci 791 drivers/edac/ppc4xx_edac.c ppc4xx_edac_handle_ce(mci, &status); mci 793 drivers/edac/ppc4xx_edac.c ppc4xx_ecc_clear_status(mci, &status); mci 812 drivers/edac/ppc4xx_edac.c struct mem_ctl_info *mci = dev_id; mci 814 drivers/edac/ppc4xx_edac.c ppc4xx_edac_check(mci); mci 889 drivers/edac/ppc4xx_edac.c static int ppc4xx_edac_init_csrows(struct mem_ctl_info *mci, u32 mcopt1) mci 891 drivers/edac/ppc4xx_edac.c const struct ppc4xx_edac_pdata *pdata = mci->pvt_info; mci 906 drivers/edac/ppc4xx_edac.c if (mci->edac_cap & EDAC_FLAG_SECDED) mci 908 drivers/edac/ppc4xx_edac.c else if (mci->edac_cap & EDAC_FLAG_EC) mci 918 drivers/edac/ppc4xx_edac.c for (row = 0; row < mci->nr_csrows; row++) { mci 919 drivers/edac/ppc4xx_edac.c struct csrow_info *csi = mci->csrows[row]; mci 951 drivers/edac/ppc4xx_edac.c ppc4xx_edac_mc_printk(KERN_ERR, mci, mci 1006 drivers/edac/ppc4xx_edac.c static int ppc4xx_edac_mc_init(struct mem_ctl_info *mci, mci 1020 drivers/edac/ppc4xx_edac.c mci->pdev = &op->dev; mci 1022 drivers/edac/ppc4xx_edac.c dev_set_drvdata(mci->pdev, mci); mci 1024 drivers/edac/ppc4xx_edac.c pdata = mci->pvt_info; mci 1030 drivers/edac/ppc4xx_edac.c mci->mtype_cap = (MEM_FLAG_DDR | MEM_FLAG_RDDR | mci 1033 drivers/edac/ppc4xx_edac.c mci->edac_ctl_cap = (EDAC_FLAG_NONE | mci 1037 drivers/edac/ppc4xx_edac.c mci->scrub_cap = SCRUB_NONE; mci 1038 drivers/edac/ppc4xx_edac.c mci->scrub_mode = SCRUB_NONE; mci 1047 drivers/edac/ppc4xx_edac.c mci->edac_cap = EDAC_FLAG_EC; mci 1050 drivers/edac/ppc4xx_edac.c mci->edac_cap = (EDAC_FLAG_EC | EDAC_FLAG_SECDED); mci 1051 drivers/edac/ppc4xx_edac.c mci->scrub_mode = SCRUB_SW_SRC; mci 1054 drivers/edac/ppc4xx_edac.c mci->edac_cap = EDAC_FLAG_NONE; mci 1060 drivers/edac/ppc4xx_edac.c mci->mod_name = PPC4XX_EDAC_MODULE_NAME; mci 1061 drivers/edac/ppc4xx_edac.c mci->ctl_name = ppc4xx_edac_match->compatible, mci 1062 drivers/edac/ppc4xx_edac.c mci->dev_name = np->full_name; mci 1066 drivers/edac/ppc4xx_edac.c mci->edac_check = ppc4xx_edac_check; mci 1067 drivers/edac/ppc4xx_edac.c mci->ctl_page_to_phys = NULL; mci 1071 drivers/edac/ppc4xx_edac.c status = ppc4xx_edac_init_csrows(mci, mcopt1); mci 1074 drivers/edac/ppc4xx_edac.c ppc4xx_edac_mc_printk(KERN_ERR, mci, mci 1096 drivers/edac/ppc4xx_edac.c struct mem_ctl_info *mci) mci 1100 drivers/edac/ppc4xx_edac.c struct ppc4xx_edac_pdata *pdata = mci->pvt_info; mci 1107 drivers/edac/ppc4xx_edac.c ppc4xx_edac_mc_printk(KERN_ERR, mci, mci 1117 drivers/edac/ppc4xx_edac.c mci); mci 1120 drivers/edac/ppc4xx_edac.c ppc4xx_edac_mc_printk(KERN_ERR, mci, mci 1131 drivers/edac/ppc4xx_edac.c mci); mci 1134 drivers/edac/ppc4xx_edac.c ppc4xx_edac_mc_printk(KERN_ERR, mci, mci 1141 drivers/edac/ppc4xx_edac.c ppc4xx_edac_mc_printk(KERN_INFO, mci, "ECCDED irq is %d\n", ded_irq); mci 1142 drivers/edac/ppc4xx_edac.c ppc4xx_edac_mc_printk(KERN_INFO, mci, "ECCSEC irq is %d\n", sec_irq); mci 1150 drivers/edac/ppc4xx_edac.c free_irq(sec_irq, mci); mci 1153 drivers/edac/ppc4xx_edac.c free_irq(ded_irq, mci); mci 1228 drivers/edac/ppc4xx_edac.c struct mem_ctl_info *mci = NULL; mci 1281 drivers/edac/ppc4xx_edac.c mci = edac_mc_alloc(ppc4xx_edac_instance, ARRAY_SIZE(layers), layers, mci 1283 drivers/edac/ppc4xx_edac.c if (mci == NULL) { mci 1291 drivers/edac/ppc4xx_edac.c status = ppc4xx_edac_mc_init(mci, op, &dcr_host, mcopt1); mci 1294 drivers/edac/ppc4xx_edac.c ppc4xx_edac_mc_printk(KERN_ERR, mci, mci 1305 drivers/edac/ppc4xx_edac.c if (edac_mc_add_mc(mci)) { mci 1306 drivers/edac/ppc4xx_edac.c ppc4xx_edac_mc_printk(KERN_ERR, mci, mci 1313 drivers/edac/ppc4xx_edac.c status = ppc4xx_edac_register_irq(op, mci); mci 1324 drivers/edac/ppc4xx_edac.c edac_mc_del_mc(mci->pdev); mci 1327 drivers/edac/ppc4xx_edac.c edac_mc_free(mci); mci 1348 drivers/edac/ppc4xx_edac.c struct mem_ctl_info *mci = dev_get_drvdata(&op->dev); mci 1349 drivers/edac/ppc4xx_edac.c struct ppc4xx_edac_pdata *pdata = mci->pvt_info; mci 1352 drivers/edac/ppc4xx_edac.c free_irq(pdata->irqs.sec, mci); mci 1353 drivers/edac/ppc4xx_edac.c free_irq(pdata->irqs.ded, mci); mci 1358 drivers/edac/ppc4xx_edac.c edac_mc_del_mc(mci->pdev); mci 1359 drivers/edac/ppc4xx_edac.c edac_mc_free(mci); mci 30 drivers/edac/r82600_edac.c #define r82600_mc_printk(mci, level, fmt, arg...) \ mci 31 drivers/edac/r82600_edac.c edac_mc_chipset_printk(mci, level, "r82600", fmt, ##arg) mci 137 drivers/edac/r82600_edac.c static void r82600_get_error_info(struct mem_ctl_info *mci, mci 142 drivers/edac/r82600_edac.c pdev = to_pci_dev(mci->pdev); mci 158 drivers/edac/r82600_edac.c static int r82600_process_error_info(struct mem_ctl_info *mci, mci 181 drivers/edac/r82600_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 183 drivers/edac/r82600_edac.c edac_mc_find_csrow_by_page(mci, page), mci 185 drivers/edac/r82600_edac.c mci->ctl_name, ""); mci 193 drivers/edac/r82600_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 195 drivers/edac/r82600_edac.c edac_mc_find_csrow_by_page(mci, page), mci 197 drivers/edac/r82600_edac.c mci->ctl_name, ""); mci 203 drivers/edac/r82600_edac.c static void r82600_check(struct mem_ctl_info *mci) mci 207 drivers/edac/r82600_edac.c edac_dbg(1, "MC%d\n", mci->mc_idx); mci 208 drivers/edac/r82600_edac.c r82600_get_error_info(mci, &info); mci 209 drivers/edac/r82600_edac.c r82600_process_error_info(mci, &info, 1); mci 217 drivers/edac/r82600_edac.c static void r82600_init_csrows(struct mem_ctl_info *mci, struct pci_dev *pdev, mci 231 drivers/edac/r82600_edac.c for (index = 0; index < mci->nr_csrows; index++) { mci 232 drivers/edac/r82600_edac.c csrow = mci->csrows[index]; mci 271 drivers/edac/r82600_edac.c struct mem_ctl_info *mci; mci 292 drivers/edac/r82600_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0); mci 293 drivers/edac/r82600_edac.c if (mci == NULL) mci 296 drivers/edac/r82600_edac.c edac_dbg(0, "mci = %p\n", mci); mci 297 drivers/edac/r82600_edac.c mci->pdev = &pdev->dev; mci 298 drivers/edac/r82600_edac.c mci->mtype_cap = MEM_FLAG_RDDR | MEM_FLAG_DDR; mci 299 drivers/edac/r82600_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_EC | EDAC_FLAG_SECDED; mci 308 drivers/edac/r82600_edac.c mci->edac_cap = EDAC_FLAG_NONE | EDAC_FLAG_EC | EDAC_FLAG_SECDED; mci 313 drivers/edac/r82600_edac.c mci, eapr); mci 315 drivers/edac/r82600_edac.c mci->edac_cap = EDAC_FLAG_NONE; mci 317 drivers/edac/r82600_edac.c mci->mod_name = EDAC_MOD_STR; mci 318 drivers/edac/r82600_edac.c mci->ctl_name = "R82600"; mci 319 drivers/edac/r82600_edac.c mci->dev_name = pci_name(pdev); mci 320 drivers/edac/r82600_edac.c mci->edac_check = r82600_check; mci 321 drivers/edac/r82600_edac.c mci->ctl_page_to_phys = NULL; mci 322 drivers/edac/r82600_edac.c r82600_init_csrows(mci, pdev, dramcr); mci 323 drivers/edac/r82600_edac.c r82600_get_error_info(mci, &discard); /* clear counters */ mci 328 drivers/edac/r82600_edac.c if (edac_mc_add_mc(mci)) { mci 355 drivers/edac/r82600_edac.c edac_mc_free(mci); mci 371 drivers/edac/r82600_edac.c struct mem_ctl_info *mci; mci 378 drivers/edac/r82600_edac.c if ((mci = edac_mc_del_mc(&pdev->dev)) == NULL) mci 381 drivers/edac/r82600_edac.c edac_mc_free(mci); mci 45 drivers/edac/sb_edac.c #define sbridge_mc_printk(mci, level, fmt, arg...) \ mci 46 drivers/edac/sb_edac.c edac_mc_chipset_printk(mci, level, "sbridge", fmt, ##arg) mci 361 drivers/edac/sb_edac.c struct mem_ctl_info *mci; mci 1565 drivers/edac/sb_edac.c static void get_source_id(struct mem_ctl_info *mci) mci 1567 drivers/edac/sb_edac.c struct sbridge_pvt *pvt = mci->pvt_info; mci 1582 drivers/edac/sb_edac.c static int __populate_dimms(struct mem_ctl_info *mci, mci 1586 drivers/edac/sb_edac.c struct sbridge_pvt *pvt = mci->pvt_info; mci 1623 drivers/edac/sb_edac.c dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci->n_layers, i, j, 0); mci 1676 drivers/edac/sb_edac.c static int get_dimm_config(struct mem_ctl_info *mci) mci 1678 drivers/edac/sb_edac.c struct sbridge_pvt *pvt = mci->pvt_info; mci 1751 drivers/edac/sb_edac.c return __populate_dimms(mci, knl_mc_sizes, mode); mci 1754 drivers/edac/sb_edac.c static void get_memory_layout(const struct mem_ctl_info *mci) mci 1756 drivers/edac/sb_edac.c struct sbridge_pvt *pvt = mci->pvt_info; mci 1922 drivers/edac/sb_edac.c return sbridge_dev->mci; mci 1927 drivers/edac/sb_edac.c static int get_memory_error_data(struct mem_ctl_info *mci, mci 1935 drivers/edac/sb_edac.c struct sbridge_pvt *pvt = mci->pvt_info; mci 2086 drivers/edac/sb_edac.c mci = new_mci; mci 2087 drivers/edac/sb_edac.c pvt = mci->pvt_info; mci 2241 drivers/edac/sb_edac.c static int get_memory_error_data_from_mce(struct mem_ctl_info *mci, mci 2257 drivers/edac/sb_edac.c pvt = mci->pvt_info; mci 2488 drivers/edac/sb_edac.c static int sbridge_mci_bind_devs(struct mem_ctl_info *mci, mci 2491 drivers/edac/sb_edac.c struct sbridge_pvt *pvt = mci->pvt_info; mci 2562 drivers/edac/sb_edac.c static int ibridge_mci_bind_devs(struct mem_ctl_info *mci, mci 2565 drivers/edac/sb_edac.c struct sbridge_pvt *pvt = mci->pvt_info; mci 2648 drivers/edac/sb_edac.c static int haswell_mci_bind_devs(struct mem_ctl_info *mci, mci 2651 drivers/edac/sb_edac.c struct sbridge_pvt *pvt = mci->pvt_info; mci 2733 drivers/edac/sb_edac.c static int broadwell_mci_bind_devs(struct mem_ctl_info *mci, mci 2736 drivers/edac/sb_edac.c struct sbridge_pvt *pvt = mci->pvt_info; mci 2814 drivers/edac/sb_edac.c static int knl_mci_bind_devs(struct mem_ctl_info *mci, mci 2817 drivers/edac/sb_edac.c struct sbridge_pvt *pvt = mci->pvt_info; mci 2949 drivers/edac/sb_edac.c static void sbridge_mce_output_error(struct mem_ctl_info *mci, mci 2953 drivers/edac/sb_edac.c struct sbridge_pvt *pvt = mci->pvt_info; mci 3053 drivers/edac/sb_edac.c edac_mc_handle_error(tp_event, mci, core_err_cnt, mci 3060 drivers/edac/sb_edac.c rc = get_memory_error_data(mci, m->addr, &socket, &ha, mci 3064 drivers/edac/sb_edac.c rc = get_memory_error_data_from_mce(mci, m, &socket, &ha, mci 3075 drivers/edac/sb_edac.c mci = new_mci; mci 3076 drivers/edac/sb_edac.c pvt = mci->pvt_info; mci 3116 drivers/edac/sb_edac.c edac_mc_handle_error(tp_event, mci, core_err_cnt, mci 3122 drivers/edac/sb_edac.c edac_mc_handle_error(tp_event, mci, core_err_cnt, 0, 0, 0, mci 3136 drivers/edac/sb_edac.c struct mem_ctl_info *mci; mci 3163 drivers/edac/sb_edac.c mci = get_mci_for_node_id(mce->socketid, IMC0); mci 3164 drivers/edac/sb_edac.c if (!mci) mci 3172 drivers/edac/sb_edac.c sbridge_mc_printk(mci, KERN_DEBUG, "HANDLING MCE MEMORY ERROR\n"); mci 3174 drivers/edac/sb_edac.c sbridge_mc_printk(mci, KERN_DEBUG, "CPU %d: Machine Check %s: %Lx " mci 3177 drivers/edac/sb_edac.c sbridge_mc_printk(mci, KERN_DEBUG, "TSC %llx ", mce->tsc); mci 3178 drivers/edac/sb_edac.c sbridge_mc_printk(mci, KERN_DEBUG, "ADDR %llx ", mce->addr); mci 3179 drivers/edac/sb_edac.c sbridge_mc_printk(mci, KERN_DEBUG, "MISC %llx ", mce->misc); mci 3181 drivers/edac/sb_edac.c sbridge_mc_printk(mci, KERN_DEBUG, "PROCESSOR %u:%x TIME %llu SOCKET " mci 3185 drivers/edac/sb_edac.c sbridge_mce_output_error(mci, mce); mci 3202 drivers/edac/sb_edac.c struct mem_ctl_info *mci = sbridge_dev->mci; mci 3205 drivers/edac/sb_edac.c if (unlikely(!mci || !mci->pvt_info)) { mci 3212 drivers/edac/sb_edac.c pvt = mci->pvt_info; mci 3215 drivers/edac/sb_edac.c mci, &sbridge_dev->pdev[0]->dev); mci 3218 drivers/edac/sb_edac.c edac_mc_del_mc(mci->pdev); mci 3220 drivers/edac/sb_edac.c edac_dbg(1, "%s: free mci struct\n", mci->ctl_name); mci 3221 drivers/edac/sb_edac.c kfree(mci->ctl_name); mci 3222 drivers/edac/sb_edac.c edac_mc_free(mci); mci 3223 drivers/edac/sb_edac.c sbridge_dev->mci = NULL; mci 3228 drivers/edac/sb_edac.c struct mem_ctl_info *mci; mci 3242 drivers/edac/sb_edac.c mci = edac_mc_alloc(sbridge_dev->mc, ARRAY_SIZE(layers), layers, mci 3245 drivers/edac/sb_edac.c if (unlikely(!mci)) mci 3249 drivers/edac/sb_edac.c mci, &pdev->dev); mci 3251 drivers/edac/sb_edac.c pvt = mci->pvt_info; mci 3256 drivers/edac/sb_edac.c sbridge_dev->mci = mci; mci 3258 drivers/edac/sb_edac.c mci->mtype_cap = type == KNIGHTS_LANDING ? mci 3260 drivers/edac/sb_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE; mci 3261 drivers/edac/sb_edac.c mci->edac_cap = EDAC_FLAG_NONE; mci 3262 drivers/edac/sb_edac.c mci->mod_name = EDAC_MOD_STR; mci 3263 drivers/edac/sb_edac.c mci->dev_name = pci_name(pdev); mci 3264 drivers/edac/sb_edac.c mci->ctl_page_to_phys = NULL; mci 3286 drivers/edac/sb_edac.c rc = ibridge_mci_bind_devs(mci, sbridge_dev); mci 3289 drivers/edac/sb_edac.c get_source_id(mci); mci 3290 drivers/edac/sb_edac.c mci->ctl_name = kasprintf(GFP_KERNEL, "Ivy Bridge SrcID#%d_Ha#%d", mci 3311 drivers/edac/sb_edac.c rc = sbridge_mci_bind_devs(mci, sbridge_dev); mci 3314 drivers/edac/sb_edac.c get_source_id(mci); mci 3315 drivers/edac/sb_edac.c mci->ctl_name = kasprintf(GFP_KERNEL, "Sandy Bridge SrcID#%d_Ha#%d", mci 3336 drivers/edac/sb_edac.c rc = haswell_mci_bind_devs(mci, sbridge_dev); mci 3339 drivers/edac/sb_edac.c get_source_id(mci); mci 3340 drivers/edac/sb_edac.c mci->ctl_name = kasprintf(GFP_KERNEL, "Haswell SrcID#%d_Ha#%d", mci 3361 drivers/edac/sb_edac.c rc = broadwell_mci_bind_devs(mci, sbridge_dev); mci 3364 drivers/edac/sb_edac.c get_source_id(mci); mci 3365 drivers/edac/sb_edac.c mci->ctl_name = kasprintf(GFP_KERNEL, "Broadwell SrcID#%d_Ha#%d", mci 3385 drivers/edac/sb_edac.c rc = knl_mci_bind_devs(mci, sbridge_dev); mci 3388 drivers/edac/sb_edac.c get_source_id(mci); mci 3389 drivers/edac/sb_edac.c mci->ctl_name = kasprintf(GFP_KERNEL, "Knights Landing SrcID#%d_Ha#%d", mci 3394 drivers/edac/sb_edac.c if (!mci->ctl_name) { mci 3400 drivers/edac/sb_edac.c rc = get_dimm_config(mci); mci 3405 drivers/edac/sb_edac.c get_memory_layout(mci); mci 3408 drivers/edac/sb_edac.c mci->pdev = &pdev->dev; mci 3411 drivers/edac/sb_edac.c if (unlikely(edac_mc_add_mc(mci))) { mci 3420 drivers/edac/sb_edac.c kfree(mci->ctl_name); mci 3422 drivers/edac/sb_edac.c edac_mc_free(mci); mci 3423 drivers/edac/sb_edac.c sbridge_dev->mci = NULL; mci 24 drivers/edac/skx_base.c #define skx_mc_printk(mci, level, fmt, arg...) \ mci 25 drivers/edac/skx_base.c edac_mc_chipset_printk(mci, level, "skx", fmt, ##arg) mci 159 drivers/edac/skx_base.c static int skx_get_dimm_config(struct mem_ctl_info *mci) mci 161 drivers/edac/skx_base.c struct skx_pvt *pvt = mci->pvt_info; mci 176 drivers/edac/skx_base.c dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci 177 drivers/edac/skx_base.c mci->n_layers, i, j, 0); mci 375 drivers/edac/skx_common.c struct mem_ctl_info *mci; mci 387 drivers/edac/skx_common.c mci = edac_mc_alloc(imc->mc, ARRAY_SIZE(layers), layers, mci 390 drivers/edac/skx_common.c if (unlikely(!mci)) mci 393 drivers/edac/skx_common.c edac_dbg(0, "MC#%d: mci = %p\n", imc->mc, mci); mci 396 drivers/edac/skx_common.c imc->mci = mci; mci 397 drivers/edac/skx_common.c pvt = mci->pvt_info; mci 400 drivers/edac/skx_common.c mci->ctl_name = kasprintf(GFP_KERNEL, "%s#%d IMC#%d", ctl_name, mci 402 drivers/edac/skx_common.c if (!mci->ctl_name) { mci 407 drivers/edac/skx_common.c mci->mtype_cap = MEM_FLAG_DDR4 | MEM_FLAG_NVDIMM; mci 408 drivers/edac/skx_common.c mci->edac_ctl_cap = EDAC_FLAG_NONE; mci 409 drivers/edac/skx_common.c mci->edac_cap = EDAC_FLAG_NONE; mci 410 drivers/edac/skx_common.c mci->mod_name = mod_str; mci 411 drivers/edac/skx_common.c mci->dev_name = pci_name(pdev); mci 412 drivers/edac/skx_common.c mci->ctl_page_to_phys = NULL; mci 414 drivers/edac/skx_common.c rc = get_dimm_config(mci); mci 419 drivers/edac/skx_common.c mci->pdev = &pdev->dev; mci 422 drivers/edac/skx_common.c if (unlikely(edac_mc_add_mc(mci))) { mci 431 drivers/edac/skx_common.c kfree(mci->ctl_name); mci 433 drivers/edac/skx_common.c edac_mc_free(mci); mci 434 drivers/edac/skx_common.c imc->mci = NULL; mci 440 drivers/edac/skx_common.c struct mem_ctl_info *mci = imc->mci; mci 442 drivers/edac/skx_common.c if (!mci) mci 445 drivers/edac/skx_common.c edac_dbg(0, "MC%d: mci = %p\n", imc->mc, mci); mci 448 drivers/edac/skx_common.c edac_mc_del_mc(mci->pdev); mci 450 drivers/edac/skx_common.c edac_dbg(1, "%s: free mci struct\n", mci->ctl_name); mci 451 drivers/edac/skx_common.c kfree(mci->ctl_name); mci 452 drivers/edac/skx_common.c edac_mc_free(mci); mci 466 drivers/edac/skx_common.c return d->imc[lmc].mci; mci 473 drivers/edac/skx_common.c static void skx_mce_output_error(struct mem_ctl_info *mci, mci 559 drivers/edac/skx_common.c edac_mc_handle_error(tp_event, mci, core_err_cnt, mci 570 drivers/edac/skx_common.c struct mem_ctl_info *mci; mci 587 drivers/edac/skx_common.c mci = get_mci(res.socket, res.imc); mci 592 drivers/edac/skx_common.c mci = res.dev->imc[res.imc].mci; mci 595 drivers/edac/skx_common.c if (!mci) mci 603 drivers/edac/skx_common.c skx_mc_printk(mci, KERN_DEBUG, "HANDLING MCE MEMORY ERROR\n"); mci 605 drivers/edac/skx_common.c skx_mc_printk(mci, KERN_DEBUG, "CPU %d: Machine Check %s: 0x%llx " mci 608 drivers/edac/skx_common.c skx_mc_printk(mci, KERN_DEBUG, "TSC 0x%llx ", mce->tsc); mci 609 drivers/edac/skx_common.c skx_mc_printk(mci, KERN_DEBUG, "ADDR 0x%llx ", mce->addr); mci 610 drivers/edac/skx_common.c skx_mc_printk(mci, KERN_DEBUG, "MISC 0x%llx ", mce->misc); mci 612 drivers/edac/skx_common.c skx_mc_printk(mci, KERN_DEBUG, "PROCESSOR %u:0x%x TIME %llu SOCKET " mci 616 drivers/edac/skx_common.c skx_mce_output_error(mci, mce, &res); mci 631 drivers/edac/skx_common.c if (d->imc[i].mci) mci 20 drivers/edac/skx_common.h #define skx_mc_printk(mci, level, fmt, arg...) \ mci 21 drivers/edac/skx_common.h edac_mc_chipset_printk(mci, level, "skx", fmt, ##arg) mci 59 drivers/edac/skx_common.h struct mem_ctl_info *mci; mci 114 drivers/edac/skx_common.h typedef int (*get_dimm_config_f)(struct mem_ctl_info *mci); mci 473 drivers/edac/synopsys_edac.c static void handle_error(struct mem_ctl_info *mci, struct synps_ecc_status *p) mci 475 drivers/edac/synopsys_edac.c struct synps_edac_priv *priv = mci->pvt_info; mci 493 drivers/edac/synopsys_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, mci 511 drivers/edac/synopsys_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, mci 529 drivers/edac/synopsys_edac.c struct mem_ctl_info *mci = dev_id; mci 533 drivers/edac/synopsys_edac.c priv = mci->pvt_info; mci 547 drivers/edac/synopsys_edac.c handle_error(mci, &priv->stat); mci 561 drivers/edac/synopsys_edac.c static void check_errors(struct mem_ctl_info *mci) mci 567 drivers/edac/synopsys_edac.c priv = mci->pvt_info; mci 576 drivers/edac/synopsys_edac.c handle_error(mci, &priv->stat); mci 768 drivers/edac/synopsys_edac.c static void init_csrows(struct mem_ctl_info *mci) mci 770 drivers/edac/synopsys_edac.c struct synps_edac_priv *priv = mci->pvt_info; mci 779 drivers/edac/synopsys_edac.c for (row = 0; row < mci->nr_csrows; row++) { mci 780 drivers/edac/synopsys_edac.c csi = mci->csrows[row]; mci 803 drivers/edac/synopsys_edac.c static void mc_init(struct mem_ctl_info *mci, struct platform_device *pdev) mci 807 drivers/edac/synopsys_edac.c mci->pdev = &pdev->dev; mci 808 drivers/edac/synopsys_edac.c priv = mci->pvt_info; mci 809 drivers/edac/synopsys_edac.c platform_set_drvdata(pdev, mci); mci 812 drivers/edac/synopsys_edac.c mci->mtype_cap = MEM_FLAG_DDR3 | MEM_FLAG_DDR2; mci 813 drivers/edac/synopsys_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED; mci 814 drivers/edac/synopsys_edac.c mci->scrub_cap = SCRUB_HW_SRC; mci 815 drivers/edac/synopsys_edac.c mci->scrub_mode = SCRUB_NONE; mci 817 drivers/edac/synopsys_edac.c mci->edac_cap = EDAC_FLAG_SECDED; mci 818 drivers/edac/synopsys_edac.c mci->ctl_name = "synps_ddr_controller"; mci 819 drivers/edac/synopsys_edac.c mci->dev_name = SYNPS_EDAC_MOD_STRING; mci 820 drivers/edac/synopsys_edac.c mci->mod_name = SYNPS_EDAC_MOD_VER; mci 826 drivers/edac/synopsys_edac.c mci->edac_check = check_errors; mci 829 drivers/edac/synopsys_edac.c mci->ctl_page_to_phys = NULL; mci 831 drivers/edac/synopsys_edac.c init_csrows(mci); mci 848 drivers/edac/synopsys_edac.c static int setup_irq(struct mem_ctl_info *mci, mci 851 drivers/edac/synopsys_edac.c struct synps_edac_priv *priv = mci->pvt_info; mci 862 drivers/edac/synopsys_edac.c 0, dev_name(&pdev->dev), mci); mci 976 drivers/edac/synopsys_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 977 drivers/edac/synopsys_edac.c struct synps_edac_priv *priv = mci->pvt_info; mci 990 drivers/edac/synopsys_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 991 drivers/edac/synopsys_edac.c struct synps_edac_priv *priv = mci->pvt_info; mci 1005 drivers/edac/synopsys_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 1006 drivers/edac/synopsys_edac.c struct synps_edac_priv *priv = mci->pvt_info; mci 1017 drivers/edac/synopsys_edac.c struct mem_ctl_info *mci = to_mci(dev); mci 1018 drivers/edac/synopsys_edac.c struct synps_edac_priv *priv = mci->pvt_info; mci 1033 drivers/edac/synopsys_edac.c static int edac_create_sysfs_attributes(struct mem_ctl_info *mci) mci 1037 drivers/edac/synopsys_edac.c rc = device_create_file(&mci->dev, &dev_attr_inject_data_error); mci 1040 drivers/edac/synopsys_edac.c rc = device_create_file(&mci->dev, &dev_attr_inject_data_poison); mci 1046 drivers/edac/synopsys_edac.c static void edac_remove_sysfs_attributes(struct mem_ctl_info *mci) mci 1048 drivers/edac/synopsys_edac.c device_remove_file(&mci->dev, &dev_attr_inject_data_error); mci 1049 drivers/edac/synopsys_edac.c device_remove_file(&mci->dev, &dev_attr_inject_data_poison); mci 1292 drivers/edac/synopsys_edac.c struct mem_ctl_info *mci; mci 1318 drivers/edac/synopsys_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, mci 1320 drivers/edac/synopsys_edac.c if (!mci) { mci 1326 drivers/edac/synopsys_edac.c priv = mci->pvt_info; mci 1330 drivers/edac/synopsys_edac.c mc_init(mci, pdev); mci 1333 drivers/edac/synopsys_edac.c rc = setup_irq(mci, pdev); mci 1338 drivers/edac/synopsys_edac.c rc = edac_mc_add_mc(mci); mci 1347 drivers/edac/synopsys_edac.c if (edac_create_sysfs_attributes(mci)) { mci 1369 drivers/edac/synopsys_edac.c edac_mc_free(mci); mci 1382 drivers/edac/synopsys_edac.c struct mem_ctl_info *mci = platform_get_drvdata(pdev); mci 1383 drivers/edac/synopsys_edac.c struct synps_edac_priv *priv = mci->pvt_info; mci 1390 drivers/edac/synopsys_edac.c edac_remove_sysfs_attributes(mci); mci 1394 drivers/edac/synopsys_edac.c edac_mc_free(mci); mci 547 drivers/edac/thunderx_edac.c struct mem_ctl_info *mci = dev_id; mci 548 drivers/edac/thunderx_edac.c struct thunderx_lmc *lmc = mci->pvt_info; mci 575 drivers/edac/thunderx_edac.c struct mem_ctl_info *mci = dev_id; mci 576 drivers/edac/thunderx_edac.c struct thunderx_lmc *lmc = mci->pvt_info; mci 624 drivers/edac/thunderx_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 629 drivers/edac/thunderx_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 666 drivers/edac/thunderx_edac.c struct mem_ctl_info *mci; mci 688 drivers/edac/thunderx_edac.c mci = edac_mc_alloc(pci_dev_to_mc_idx(pdev), 1, &layer, mci 690 drivers/edac/thunderx_edac.c if (!mci) mci 693 drivers/edac/thunderx_edac.c mci->pdev = &pdev->dev; mci 694 drivers/edac/thunderx_edac.c lmc = mci->pvt_info; mci 696 drivers/edac/thunderx_edac.c pci_set_drvdata(pdev, mci); mci 705 drivers/edac/thunderx_edac.c mci->mtype_cap = FIELD_GET(LMC_DDR_PLL_CTL_DDR4, mci 709 drivers/edac/thunderx_edac.c mci->mtype_cap = FIELD_GET(LMC_DDR_PLL_CTL_DDR4, mci 714 drivers/edac/thunderx_edac.c mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED; mci 715 drivers/edac/thunderx_edac.c mci->edac_cap = EDAC_FLAG_SECDED; mci 717 drivers/edac/thunderx_edac.c mci->mod_name = "thunderx-lmc"; mci 718 drivers/edac/thunderx_edac.c mci->ctl_name = "thunderx-lmc"; mci 719 drivers/edac/thunderx_edac.c mci->dev_name = dev_name(&pdev->dev); mci 720 drivers/edac/thunderx_edac.c mci->scrub_mode = SCRUB_NONE; mci 737 drivers/edac/thunderx_edac.c "[EDAC] ThunderX LMC", mci); mci 771 drivers/edac/thunderx_edac.c ret = edac_mc_add_mc(mci); mci 783 drivers/edac/thunderx_edac.c ret = thunderx_create_debugfs_nodes(mci->debugfs, mci 798 drivers/edac/thunderx_edac.c edac_mc_free(mci); mci 805 drivers/edac/thunderx_edac.c struct mem_ctl_info *mci = pci_get_drvdata(pdev); mci 806 drivers/edac/thunderx_edac.c struct thunderx_lmc *lmc = mci->pvt_info; mci 811 drivers/edac/thunderx_edac.c edac_mc_free(mci); mci 1824 drivers/edac/thunderx_edac.c struct thunderx_l2c *mci = container_of(msix, struct thunderx_l2c, mci 1827 drivers/edac/thunderx_edac.c unsigned long head = ring_pos(mci->ring_head, ARRAY_SIZE(mci->err_ctx)); mci 1828 drivers/edac/thunderx_edac.c struct l2c_err_ctx *ctx = &mci->err_ctx[head]; mci 1830 drivers/edac/thunderx_edac.c ctx->reg_int = readq(mci->regs + L2C_MCI_INT_W1C); mci 1831 drivers/edac/thunderx_edac.c ctx->reg_ext = readq(mci->regs + L2C_MCI_ERR); mci 1833 drivers/edac/thunderx_edac.c writeq(ctx->reg_int, mci->regs + L2C_MCI_INT_W1C); mci 1837 drivers/edac/thunderx_edac.c mci->ring_head++; mci 94 drivers/edac/ti_edac.c struct mem_ctl_info *mci = data; mci 95 drivers/edac/ti_edac.c struct ti_edac *edac = mci->pvt_info; mci 106 drivers/edac/ti_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, err_count, mci 109 drivers/edac/ti_edac.c mci->ctl_name, "1B"); mci 114 drivers/edac/ti_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 117 drivers/edac/ti_edac.c mci->ctl_name, "2B"); mci 121 drivers/edac/ti_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 123 drivers/edac/ti_edac.c mci->ctl_name, "WR"); mci 130 drivers/edac/ti_edac.c static void ti_edac_setup_dimm(struct mem_ctl_info *mci, u32 type) mci 133 drivers/edac/ti_edac.c struct ti_edac *edac = mci->pvt_info; mci 138 drivers/edac/ti_edac.c dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci->n_layers, 0, 0, 0); mci 235 drivers/edac/ti_edac.c struct mem_ctl_info *mci; mci 261 drivers/edac/ti_edac.c mci = edac_mc_alloc(emif_id, 1, layers, sizeof(*edac)); mci 262 drivers/edac/ti_edac.c if (!mci) mci 265 drivers/edac/ti_edac.c mci->pdev = &pdev->dev; mci 266 drivers/edac/ti_edac.c edac = mci->pvt_info; mci 268 drivers/edac/ti_edac.c platform_set_drvdata(pdev, mci); mci 270 drivers/edac/ti_edac.c mci->mtype_cap = MEM_FLAG_DDR3 | MEM_FLAG_DDR2; mci 271 drivers/edac/ti_edac.c mci->edac_ctl_cap = EDAC_FLAG_SECDED | EDAC_FLAG_NONE; mci 272 drivers/edac/ti_edac.c mci->mod_name = EDAC_MOD_NAME; mci 273 drivers/edac/ti_edac.c mci->ctl_name = id->compatible; mci 274 drivers/edac/ti_edac.c mci->dev_name = dev_name(&pdev->dev); mci 277 drivers/edac/ti_edac.c ti_edac_setup_dimm(mci, (u32)(id->data)); mci 288 drivers/edac/ti_edac.c "emif-edac-irq", mci); mci 295 drivers/edac/ti_edac.c ret = edac_mc_add_mc(mci); mci 314 drivers/edac/ti_edac.c edac_mc_free(mci); mci 320 drivers/edac/ti_edac.c struct mem_ctl_info *mci = platform_get_drvdata(pdev); mci 323 drivers/edac/ti_edac.c edac_mc_free(mci); mci 150 drivers/edac/x38_edac.c static void x38_clear_error_info(struct mem_ctl_info *mci) mci 154 drivers/edac/x38_edac.c pdev = to_pci_dev(mci->pdev); mci 164 drivers/edac/x38_edac.c static void x38_get_and_clear_error_info(struct mem_ctl_info *mci, mci 168 drivers/edac/x38_edac.c void __iomem *window = mci->pvt_info; mci 170 drivers/edac/x38_edac.c pdev = to_pci_dev(mci->pdev); mci 200 drivers/edac/x38_edac.c x38_clear_error_info(mci); mci 203 drivers/edac/x38_edac.c static void x38_process_error_info(struct mem_ctl_info *mci, mci 213 drivers/edac/x38_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, 0, 0, 0, mci 222 drivers/edac/x38_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, mci 228 drivers/edac/x38_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, mci 237 drivers/edac/x38_edac.c static void x38_check(struct mem_ctl_info *mci) mci 241 drivers/edac/x38_edac.c edac_dbg(1, "MC%d\n", mci->mc_idx); mci 242 drivers/edac/x38_edac.c x38_get_and_clear_error_info(mci, &info); mci 243 drivers/edac/x38_edac.c x38_process_error_info(mci, &info); mci 322 drivers/edac/x38_edac.c struct mem_ctl_info *mci = NULL; mci 345 drivers/edac/x38_edac.c mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0); mci 346 drivers/edac/x38_edac.c if (!mci) mci 351 drivers/edac/x38_edac.c mci->pdev = &pdev->dev; mci 352 drivers/edac/x38_edac.c mci->mtype_cap = MEM_FLAG_DDR2; mci 354 drivers/edac/x38_edac.c mci->edac_ctl_cap = EDAC_FLAG_SECDED; mci 355 drivers/edac/x38_edac.c mci->edac_cap = EDAC_FLAG_SECDED; mci 357 drivers/edac/x38_edac.c mci->mod_name = EDAC_MOD_STR; mci 358 drivers/edac/x38_edac.c mci->ctl_name = x38_devs[dev_idx].ctl_name; mci 359 drivers/edac/x38_edac.c mci->dev_name = pci_name(pdev); mci 360 drivers/edac/x38_edac.c mci->edac_check = x38_check; mci 361 drivers/edac/x38_edac.c mci->ctl_page_to_phys = NULL; mci 362 drivers/edac/x38_edac.c mci->pvt_info = window; mci 372 drivers/edac/x38_edac.c for (i = 0; i < mci->nr_csrows; i++) { mci 374 drivers/edac/x38_edac.c struct csrow_info *csrow = mci->csrows[i]; mci 394 drivers/edac/x38_edac.c x38_clear_error_info(mci); mci 397 drivers/edac/x38_edac.c if (edac_mc_add_mc(mci)) { mci 408 drivers/edac/x38_edac.c if (mci) mci 409 drivers/edac/x38_edac.c edac_mc_free(mci); mci 432 drivers/edac/x38_edac.c struct mem_ctl_info *mci; mci 436 drivers/edac/x38_edac.c mci = edac_mc_del_mc(&pdev->dev); mci 437 drivers/edac/x38_edac.c if (!mci) mci 440 drivers/edac/x38_edac.c iounmap(mci->pvt_info); mci 442 drivers/edac/x38_edac.c edac_mc_free(mci); mci 134 drivers/edac/xgene_edac.c struct mem_ctl_info *mci; mci 144 drivers/edac/xgene_edac.c struct mem_ctl_info *mci = file->private_data; mci 145 drivers/edac/xgene_edac.c struct xgene_edac_mc_ctx *ctx = mci->pvt_info; mci 162 drivers/edac/xgene_edac.c static void xgene_edac_mc_create_debugfs_node(struct mem_ctl_info *mci) mci 167 drivers/edac/xgene_edac.c if (!mci->debugfs) mci 170 drivers/edac/xgene_edac.c edac_debugfs_create_file("inject_ctrl", S_IWUSR, mci->debugfs, mci, mci 174 drivers/edac/xgene_edac.c static void xgene_edac_mc_check(struct mem_ctl_info *mci) mci 176 drivers/edac/xgene_edac.c struct xgene_edac_mc_ctx *ctx = mci->pvt_info; mci 199 drivers/edac/xgene_edac.c edac_mc_chipset_printk(mci, KERN_ERR, "X-Gene", mci 202 drivers/edac/xgene_edac.c edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, mci 203 drivers/edac/xgene_edac.c 1, 0, 0, 0, 0, 0, -1, mci->ctl_name, ""); mci 214 drivers/edac/xgene_edac.c edac_mc_chipset_printk(mci, KERN_WARNING, "X-Gene", mci 221 drivers/edac/xgene_edac.c edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, mci 222 drivers/edac/xgene_edac.c 1, 0, 0, 0, 0, 0, -1, mci->ctl_name, ""); mci 237 drivers/edac/xgene_edac.c edac_mc_chipset_printk(mci, KERN_WARNING, "X-Gene", mci 240 drivers/edac/xgene_edac.c edac_mc_chipset_printk(mci, KERN_WARNING, "X-Gene", mci 247 drivers/edac/xgene_edac.c static void xgene_edac_mc_irq_ctl(struct mem_ctl_info *mci, bool enable) mci 249 drivers/edac/xgene_edac.c struct xgene_edac_mc_ctx *ctx = mci->pvt_info; mci 344 drivers/edac/xgene_edac.c struct mem_ctl_info *mci; mci 386 drivers/edac/xgene_edac.c mci = edac_mc_alloc(tmp_ctx.mcu_id, ARRAY_SIZE(layers), layers, mci 388 drivers/edac/xgene_edac.c if (!mci) { mci 393 drivers/edac/xgene_edac.c ctx = mci->pvt_info; mci 396 drivers/edac/xgene_edac.c ctx->mci = mci; mci 397 drivers/edac/xgene_edac.c mci->pdev = &mci->dev; mci 398 drivers/edac/xgene_edac.c mci->ctl_name = ctx->name; mci 399 drivers/edac/xgene_edac.c mci->dev_name = ctx->name; mci 401 drivers/edac/xgene_edac.c mci->mtype_cap = MEM_FLAG_RDDR | MEM_FLAG_RDDR2 | MEM_FLAG_RDDR3 | mci 403 drivers/edac/xgene_edac.c mci->edac_ctl_cap = EDAC_FLAG_SECDED; mci 404 drivers/edac/xgene_edac.c mci->edac_cap = EDAC_FLAG_SECDED; mci 405 drivers/edac/xgene_edac.c mci->mod_name = EDAC_MOD_STR; mci 406 drivers/edac/xgene_edac.c mci->ctl_page_to_phys = NULL; mci 407 drivers/edac/xgene_edac.c mci->scrub_cap = SCRUB_FLAG_HW_SRC; mci 408 drivers/edac/xgene_edac.c mci->scrub_mode = SCRUB_HW_SRC; mci 411 drivers/edac/xgene_edac.c mci->edac_check = xgene_edac_mc_check; mci 413 drivers/edac/xgene_edac.c if (edac_mc_add_mc(mci)) { mci 419 drivers/edac/xgene_edac.c xgene_edac_mc_create_debugfs_node(mci); mci 423 drivers/edac/xgene_edac.c xgene_edac_mc_irq_ctl(mci, true); mci 431 drivers/edac/xgene_edac.c edac_mc_free(mci); mci 439 drivers/edac/xgene_edac.c xgene_edac_mc_irq_ctl(mcu->mci, false); mci 440 drivers/edac/xgene_edac.c edac_mc_del_mc(&mcu->mci->dev); mci 441 drivers/edac/xgene_edac.c edac_mc_free(mcu->mci); mci 1830 drivers/edac/xgene_edac.c xgene_edac_mc_check(mcu->mci); mci 25 drivers/media/pci/ddbridge/ddbridge-mci.c static int mci_reset(struct mci *state) mci 51 drivers/media/pci/ddbridge/ddbridge-mci.c int ddb_mci_config(struct mci *state, u32 config) mci 61 drivers/media/pci/ddbridge/ddbridge-mci.c static int _mci_cmd_unlocked(struct mci *state, mci 89 drivers/media/pci/ddbridge/ddbridge-mci.c int ddb_mci_cmd(struct mci *state, mci 120 drivers/media/pci/ddbridge/ddbridge-mci.c static int probe(struct mci *state) mci 134 drivers/media/pci/ddbridge/ddbridge-mci.c struct mci *state; mci 246 drivers/media/pci/ddbridge/ddbridge-mci.h int (*init)(struct mci *mci); mci 254 drivers/media/pci/ddbridge/ddbridge-mci.h int ddb_mci_cmd(struct mci *state, struct mci_command *command, mci 256 drivers/media/pci/ddbridge/ddbridge-mci.h int ddb_mci_config(struct mci *state, u32 config); mci 45 drivers/media/pci/ddbridge/ddbridge-sx8.c struct mci mci; mci 58 drivers/media/pci/ddbridge/ddbridge-sx8.c struct mci_base *mci_base = state->mci.base; mci 76 drivers/media/pci/ddbridge/ddbridge-sx8.c cmd.demod = state->mci.demod; mci 77 drivers/media/pci/ddbridge/ddbridge-sx8.c stat = ddb_mci_cmd(&state->mci, &cmd, &state->signal_info); mci 117 drivers/media/pci/ddbridge/ddbridge-sx8.c cmd.demod = state->mci.demod; mci 118 drivers/media/pci/ddbridge/ddbridge-sx8.c stat = ddb_mci_cmd(&state->mci, &cmd, &res); mci 136 drivers/media/pci/ddbridge/ddbridge-sx8.c struct mci_base *mci_base = state->mci.base; mci 141 drivers/media/pci/ddbridge/ddbridge-sx8.c cmd.tuner = state->mci.tuner; mci 143 drivers/media/pci/ddbridge/ddbridge-sx8.c cmd.sx8_input_enable.flags = sx8_base->gain_mode[state->mci.tuner]; mci 144 drivers/media/pci/ddbridge/ddbridge-sx8.c return ddb_mci_cmd(&state->mci, &cmd, NULL); mci 150 drivers/media/pci/ddbridge/ddbridge-sx8.c struct mci_base *mci_base = state->mci.base; mci 153 drivers/media/pci/ddbridge/ddbridge-sx8.c u32 input = state->mci.tuner; mci 156 drivers/media/pci/ddbridge/ddbridge-sx8.c if (state->mci.demod != SX8_DEMOD_NONE) { mci 158 drivers/media/pci/ddbridge/ddbridge-sx8.c cmd.demod = state->mci.demod; mci 159 drivers/media/pci/ddbridge/ddbridge-sx8.c ddb_mci_cmd(&state->mci, &cmd, NULL); mci 162 drivers/media/pci/ddbridge/ddbridge-sx8.c cmd.demod = state->mci.demod; mci 164 drivers/media/pci/ddbridge/ddbridge-sx8.c ddb_mci_cmd(&state->mci, &cmd, NULL); mci 165 drivers/media/pci/ddbridge/ddbridge-sx8.c ddb_mci_config(&state->mci, SX8_TSCONFIG_MODE_NORMAL); mci 172 drivers/media/pci/ddbridge/ddbridge-sx8.c if (state->mci.demod < SX8_DEMOD_NUM) { mci 173 drivers/media/pci/ddbridge/ddbridge-sx8.c sx8_base->demod_in_use[state->mci.demod] = 0; mci 174 drivers/media/pci/ddbridge/ddbridge-sx8.c state->mci.demod = SX8_DEMOD_NONE; mci 176 drivers/media/pci/ddbridge/ddbridge-sx8.c sx8_base->used_ldpc_bitrate[state->mci.nr] = 0; mci 186 drivers/media/pci/ddbridge/ddbridge-sx8.c struct mci_base *mci_base = state->mci.base; mci 192 drivers/media/pci/ddbridge/ddbridge-sx8.c u32 input = state->mci.tuner; mci 219 drivers/media/pci/ddbridge/ddbridge-sx8.c if (state->mci.nr < 4) mci 220 drivers/media/pci/ddbridge/ddbridge-sx8.c i = state->mci.nr; mci 222 drivers/media/pci/ddbridge/ddbridge-sx8.c i = state->mci.nr; mci 263 drivers/media/pci/ddbridge/ddbridge-sx8.c sx8_base->used_ldpc_bitrate[state->mci.nr] = p->symbol_rate mci 265 drivers/media/pci/ddbridge/ddbridge-sx8.c state->mci.demod = i; mci 279 drivers/media/pci/ddbridge/ddbridge-sx8.c cmd.demod = state->mci.demod; mci 281 drivers/media/pci/ddbridge/ddbridge-sx8.c ddb_mci_cmd(&state->mci, &cmd, NULL); mci 282 drivers/media/pci/ddbridge/ddbridge-sx8.c ddb_mci_config(&state->mci, ts_config); mci 287 drivers/media/pci/ddbridge/ddbridge-sx8.c state->mci.nr, state->mci.tuner, state->mci.demod); mci 298 drivers/media/pci/ddbridge/ddbridge-sx8.c cmd.tuner = state->mci.tuner; mci 299 drivers/media/pci/ddbridge/ddbridge-sx8.c cmd.demod = state->mci.demod; mci 300 drivers/media/pci/ddbridge/ddbridge-sx8.c cmd.output = state->mci.nr; mci 303 drivers/media/pci/ddbridge/ddbridge-sx8.c stat = ddb_mci_cmd(&state->mci, &cmd, NULL); mci 313 drivers/media/pci/ddbridge/ddbridge-sx8.c struct mci_base *mci_base = state->mci.base; mci 318 drivers/media/pci/ddbridge/ddbridge-sx8.c u32 input = state->mci.tuner; mci 333 drivers/media/pci/ddbridge/ddbridge-sx8.c state->mci.demod = 0; mci 349 drivers/media/pci/ddbridge/ddbridge-sx8.c cmd.tuner = state->mci.tuner; mci 350 drivers/media/pci/ddbridge/ddbridge-sx8.c cmd.demod = state->mci.demod; mci 351 drivers/media/pci/ddbridge/ddbridge-sx8.c stat = ddb_mci_cmd(&state->mci, &cmd, NULL); mci 354 drivers/media/pci/ddbridge/ddbridge-sx8.c ddb_mci_config(&state->mci, ts_config); mci 441 drivers/media/pci/ddbridge/ddbridge-sx8.c struct mci_base *mci_base = state->mci.base; mci 446 drivers/media/pci/ddbridge/ddbridge-sx8.c state->mci.tuner = input; mci 447 drivers/media/pci/ddbridge/ddbridge-sx8.c dev_dbg(mci_base->dev, "MCI-%d: input=%d\n", state->mci.nr, input); mci 471 drivers/media/pci/ddbridge/ddbridge-sx8.c static int init(struct mci *mci) mci 473 drivers/media/pci/ddbridge/ddbridge-sx8.c struct sx8 *state = (struct sx8 *)mci; mci 475 drivers/media/pci/ddbridge/ddbridge-sx8.c state->mci.demod = SX8_DEMOD_NONE; mci 517 drivers/net/ethernet/dec/tulip/de4x5.c u_int mci; /* 21142 MII Connector Interrupt info */ mci 4717 drivers/net/ethernet/dec/tulip/de4x5.c lp->phy[lp->active].mci = *p; mci 42 drivers/net/wireless/ath/ath9k/ar9003_aic.c struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; mci 455 drivers/net/wireless/ath/ath9k/ar9003_aic.c struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; mci 583 drivers/net/wireless/ath/ath9k/ar9003_aic.c struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; mci 127 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 130 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (mci->bt_version_known || mci 131 drivers/net/wireless/ath/ath9k/ar9003_mci.c (mci->bt_state == MCI_BT_SLEEP)) mci 142 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 148 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->wlan_ver_major; mci 150 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->wlan_ver_minor; mci 157 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 158 drivers/net/wireless/ath/ath9k/ar9003_mci.c u32 *payload = &mci->wlan_channels[0]; mci 160 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (!mci->wlan_channels_update || mci 161 drivers/net/wireless/ath/ath9k/ar9003_mci.c (mci->bt_state == MCI_BT_SLEEP)) mci 173 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 177 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (mci->bt_state == MCI_BT_SLEEP) mci 194 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->need_flush_btinfo = true; mci 198 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->query_bt = false; mci 204 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 211 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->query_bt = true; mci 213 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->unhalt_bt_gpm = true; mci 214 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->need_flush_btinfo = true; mci 227 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 231 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->bt_state = MCI_BT_SLEEP; mci 247 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->bt_state = MCI_BT_AWAKE; mci 288 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (mci->is_2g && MCI_ANT_ARCH_PA_LNA_SHARED(mci)) { mci 293 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (mci->is_2g && !mci->update_2g5g && MCI_ANT_ARCH_PA_LNA_SHARED(mci)) { mci 307 drivers/net/wireless/ath/ath9k/ar9003_mci.c if ((mci->bt_state == MCI_BT_AWAKE) && mci 323 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 326 drivers/net/wireless/ath/ath9k/ar9003_mci.c (mci->bt_state != MCI_BT_SLEEP) && mci 327 drivers/net/wireless/ath/ath9k/ar9003_mci.c !mci->halted_bt_gpm) { mci 331 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->ready = false; mci 358 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 360 drivers/net/wireless/ath/ath9k/ar9003_mci.c *raw_intr = mci->raw_intr; mci 361 drivers/net/wireless/ath/ath9k/ar9003_mci.c *rx_msg_intr = mci->rx_msg_intr; mci 364 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->raw_intr = 0; mci 365 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->rx_msg_intr = 0; mci 372 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 382 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->rx_msg_intr |= rx_msg_intr; mci 383 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->raw_intr |= raw_intr; mci 387 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->cont_status = REG_READ(ah, AR_MCI_CONT_STATUS); mci 396 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 398 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (!mci->update_2g5g && mci 399 drivers/net/wireless/ath/ath9k/ar9003_mci.c (mci->is_2g != is_2g)) mci 400 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->update_2g5g = true; mci 402 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->is_2g = is_2g; mci 407 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 416 drivers/net/wireless/ath/ath9k/ar9003_mci.c payload = (u32 *)(mci->gpm_buf + offset); mci 427 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 429 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (mci->config & ATH_MCI_CONFIG_MCI_OBS_MCI) { mci 438 drivers/net/wireless/ath/ath9k/ar9003_mci.c } else if (mci->config & ATH_MCI_CONFIG_MCI_OBS_TXRX) { mci 449 drivers/net/wireless/ath/ath9k/ar9003_mci.c } else if (mci->config & ATH_MCI_CONFIG_MCI_OBS_BT) { mci 498 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 503 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (mci->bt_state != cur_bt_state) mci 504 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->bt_state = cur_bt_state; mci 506 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (mci->bt_state != MCI_BT_SLEEP) { mci 511 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (mci->unhalt_bt_gpm == true) mci 518 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; mci 540 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 553 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->bt_ver_major = mci 555 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->bt_ver_minor = mci 557 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->bt_version_known = true; mci 559 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->bt_ver_major, mci->bt_ver_minor); mci 565 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->wlan_channels_update = true; mci 569 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->query_bt = true; mci 573 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->query_bt = true; mci 587 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 615 drivers/net/wireless/ath/ath9k/ar9003_mci.c p_gpm = (u32 *) (mci->gpm_buf + offset); mci 678 drivers/net/wireless/ath/ath9k/ar9003_mci.c p_gpm = (u32 *) (mci->gpm_buf + offset); mci 695 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; mci 735 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; mci 788 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 806 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (MCI_ANT_ARCH_PA_LNA_SHARED(mci)) { mci 816 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 831 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (!(mci->config & ATH_MCI_CONFIG_DISABLE_AGGR_THRESH)) { mci 832 drivers/net/wireless/ath/ath9k/ar9003_mci.c thresh = MS(mci->config, ATH_MCI_CONFIG_AGGR_THRESH); mci 847 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 852 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (mci->config & ATH_MCI_CONFIG_MCI_STAT_DBG) { mci 923 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 935 drivers/net/wireless/ath/ath9k/ar9003_mci.c REG_WRITE(ah, AR_MCI_GPM_0, mci->gpm_addr); mci 936 drivers/net/wireless/ath/ath9k/ar9003_mci.c REG_WRITE(ah, AR_MCI_GPM_1, mci->gpm_len); mci 937 drivers/net/wireless/ath/ath9k/ar9003_mci.c REG_WRITE(ah, AR_MCI_SCHD_TABLE_0, mci->sched_addr); mci 944 drivers/net/wireless/ath/ath9k/ar9003_mci.c u8 ant = MS(mci->config, ATH_MCI_CONFIG_ANT_ARCH); mci 954 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (is_2g && !(mci->config & ATH_MCI_CONFIG_DISABLE_OSLA)) mci 971 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (mci->config & ATH_MCI_CONFIG_CONCUR_TX) { mci 982 drivers/net/wireless/ath/ath9k/ar9003_mci.c regval = MS(mci->config, ATH_MCI_CONFIG_CLK_DIV); mci 1017 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (MCI_ANT_ARCH_PA_LNA_SHARED(mci)) mci 1026 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->ready = true; mci 1041 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; mci 1057 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 1060 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (!mci->update_2g5g || (mci->bt_state == MCI_BT_SLEEP)) mci 1063 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (mci->is_2g) { mci 1084 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 1103 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->update_2g5g = queue; mci 1107 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->wlan_channels_update = queue; mci 1112 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->unhalt_bt_gpm = queue; mci 1115 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->halted_bt_gpm = false; mci 1121 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->halted_bt_gpm = !queue; mci 1132 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 1134 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (!mci->update_2g5g && !force) mci 1137 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (mci->is_2g) { mci 1147 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (!(mci->config & ATH_MCI_CONFIG_DISABLE_OSLA)) mci 1171 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 1186 drivers/net/wireless/ath/ath9k/ar9003_mci.c } else if (check_bt && (mci->bt_state == MCI_BT_SLEEP)) { mci 1234 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; mci 1256 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; mci 1271 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 1273 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->gpm_addr = gpm_addr; mci 1274 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->gpm_buf = gpm_buf; mci 1275 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->gpm_len = len; mci 1276 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->sched_addr = sched_addr; mci 1292 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 1298 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (mci->ready) { mci 1309 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (value < mci->gpm_len) mci 1310 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->gpm_idx = value; mci 1312 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->gpm_idx = 0; mci 1326 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->bt_state = MCI_BT_AWAKE; mci 1330 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (mci->unhalt_bt_gpm) mci 1337 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->update_2g5g = true; mci 1339 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (mci->config & ATH_MCI_CONFIG_MCI_OBS_MASK) { mci 1360 drivers/net/wireless/ath/ath9k/ar9003_mci.c if ((tsf - mci->last_recovery) <= MCI_RECOVERY_DUR_TSF) { mci 1366 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->last_recovery = tsf; mci 1368 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->query_bt = true; mci 1369 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->need_flush_btinfo = true; mci 1374 drivers/net/wireless/ath/ath9k/ar9003_mci.c value = !(mci->config & ATH_MCI_CONFIG_DISABLE_FTP_STOMP); mci 1377 drivers/net/wireless/ath/ath9k/ar9003_mci.c value = (!mci->unhalt_bt_gpm && mci->need_flush_btinfo) ? 1 : 0; mci 1378 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->need_flush_btinfo = false; mci 1407 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 1415 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->is_2g = false; mci 1416 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->update_2g5g = true; mci 1420 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->update_2g5g = true; mci 1460 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 1467 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (mci->gpm_idx == offset) mci 1470 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->gpm_idx, offset); mci 1471 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->query_bt = true; mci 1472 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->need_flush_btinfo = true; mci 1473 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->gpm_idx = 0; mci 1478 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 1497 drivers/net/wireless/ath/ath9k/ar9003_mci.c offset = mci->gpm_len - 1; mci 1498 drivers/net/wireless/ath/ath9k/ar9003_mci.c else if (offset >= mci->gpm_len) { mci 1505 drivers/net/wireless/ath/ath9k/ar9003_mci.c if ((offset == 0xFFFF) || (gpm_ptr == mci->gpm_idx)) { mci 1515 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (offset != mci->gpm_idx) mci 1520 drivers/net/wireless/ath/ath9k/ar9003_mci.c temp_index = mci->gpm_idx; mci 1522 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (temp_index >= mci->gpm_len) mci 1525 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->gpm_idx++; mci 1527 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (mci->gpm_idx >= mci->gpm_len) mci 1528 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->gpm_idx = 0; mci 1553 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 1555 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->bt_ver_major = major; mci 1556 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->bt_ver_minor = minor; mci 1557 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->bt_version_known = true; mci 1559 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->bt_ver_major, mci->bt_ver_minor); mci 1565 drivers/net/wireless/ath/ath9k/ar9003_mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 1567 drivers/net/wireless/ath/ath9k/ar9003_mci.c mci->wlan_channels_update = true; mci 1574 drivers/net/wireless/ath/ath9k/ar9003_mci.c if (!ah->btcoex_hw.mci.concur_tx) mci 121 drivers/net/wireless/ath/ath9k/ar9003_mci.h #define MCI_ANT_ARCH_PA_LNA_SHARED(mci) \ mci 122 drivers/net/wireless/ath/ath9k/ar9003_mci.h ((MS(mci->config, ATH_MCI_CONFIG_ANT_ARCH) == ATH_MCI_ANT_ARCH_1_ANT_PA_LNA_SHARED) || \ mci 123 drivers/net/wireless/ath/ath9k/ar9003_mci.h (MS(mci->config, ATH_MCI_CONFIG_ANT_ARCH) == ATH_MCI_ANT_ARCH_2_ANT_PA_LNA_SHARED)) mci 786 drivers/net/wireless/ath/ath9k/ath9k.h struct ath_mci_profile mci; mci 235 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.ready = false; mci 236 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.bt_state = 0; mci 237 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.bt_ver_major = 3; mci 238 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.bt_ver_minor = 0; mci 239 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.bt_version_known = false; mci 240 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.update_2g5g = true; mci 241 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.is_2g = true; mci 242 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.wlan_channels_update = false; mci 243 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.wlan_channels[0] = 0x00000000; mci 244 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.wlan_channels[1] = 0xffffffff; mci 245 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.wlan_channels[2] = 0xffffffff; mci 246 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.wlan_channels[3] = 0x7fffffff; mci 247 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.query_bt = true; mci 248 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.unhalt_bt_gpm = true; mci 249 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.halted_bt_gpm = false; mci 250 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.need_flush_btinfo = false; mci 251 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.wlan_cal_seq = 0; mci 252 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.wlan_cal_done = 0; mci 253 drivers/net/wireless/ath/ath9k/btcoex.c ah->btcoex_hw.mci.config = (AR_SREV_9462(ah)) ? 0x2201 : 0xa4c1; mci 277 drivers/net/wireless/ath/ath9k/btcoex.c struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; mci 293 drivers/net/wireless/ath/ath9k/btcoex.c btcoex_hw->mci.stomp_ftp) ? mci 109 drivers/net/wireless/ath/ath9k/btcoex.h struct ath9k_hw_mci mci; mci 522 drivers/net/wireless/ath/ath9k/debug.c sc->debug.stats.istats.mci++; mci 562 drivers/net/wireless/ath/ath9k/debug.c PR_IS("MCI", mci); mci 114 drivers/net/wireless/ath/ath9k/debug.h u32 mci; mci 174 drivers/net/wireless/ath/ath9k/gpio.c struct ath_mci_profile *mci = &btcoex->mci; mci 179 drivers/net/wireless/ath/ath9k/gpio.c (mci->num_pan || mci->num_other_acl)) mci 180 drivers/net/wireless/ath/ath9k/gpio.c ah->btcoex_hw.mci.stomp_ftp = mci 183 drivers/net/wireless/ath/ath9k/gpio.c ah->btcoex_hw.mci.stomp_ftp = false; mci 346 drivers/net/wireless/ath/ath9k/gpio.c struct ath_mci_profile *mci = &sc->btcoex.mci; mci 349 drivers/net/wireless/ath/ath9k/gpio.c if ((sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_MCI) && mci->aggr_limit) mci 350 drivers/net/wireless/ath/ath9k/gpio.c aggr_limit = (max_4ms_framelen * mci->aggr_limit) >> 4; mci 394 drivers/net/wireless/ath/ath9k/gpio.c ath_mci_flush_profile(&sc->btcoex.mci); mci 436 drivers/net/wireless/ath/ath9k/gpio.c INIT_LIST_HEAD(&sc->btcoex.mci.info); mci 455 drivers/net/wireless/ath/ath9k/gpio.c struct ath_mci_profile *mci = &btcoex->mci; mci 461 drivers/net/wireless/ath/ath9k/gpio.c ATH_DUMP_BTCOEX("Total BT profiles", NUM_PROF(mci)); mci 462 drivers/net/wireless/ath/ath9k/gpio.c ATH_DUMP_BTCOEX("MGMT", mci->num_mgmt); mci 463 drivers/net/wireless/ath/ath9k/gpio.c ATH_DUMP_BTCOEX("SCO", mci->num_sco); mci 464 drivers/net/wireless/ath/ath9k/gpio.c ATH_DUMP_BTCOEX("A2DP", mci->num_a2dp); mci 465 drivers/net/wireless/ath/ath9k/gpio.c ATH_DUMP_BTCOEX("HID", mci->num_hid); mci 466 drivers/net/wireless/ath/ath9k/gpio.c ATH_DUMP_BTCOEX("PAN", mci->num_pan); mci 467 drivers/net/wireless/ath/ath9k/gpio.c ATH_DUMP_BTCOEX("ACL", mci->num_other_acl); mci 468 drivers/net/wireless/ath/ath9k/gpio.c ATH_DUMP_BTCOEX("BDR", mci->num_bdr); mci 469 drivers/net/wireless/ath/ath9k/gpio.c ATH_DUMP_BTCOEX("Aggr. Limit", mci->aggr_limit); mci 474 drivers/net/wireless/ath/ath9k/gpio.c ATH_DUMP_BTCOEX("Concurrent Tx", btcoex_hw->mci.concur_tx); mci 26 drivers/net/wireless/ath/ath9k/mci.c ath_mci_find_profile(struct ath_mci_profile *mci, mci 31 drivers/net/wireless/ath/ath9k/mci.c if (list_empty(&mci->info)) mci 34 drivers/net/wireless/ath/ath9k/mci.c list_for_each_entry(entry, &mci->info, list) { mci 42 drivers/net/wireless/ath/ath9k/mci.c struct ath_mci_profile *mci, mci 48 drivers/net/wireless/ath/ath9k/mci.c if ((mci->num_sco == ATH_MCI_MAX_SCO_PROFILE) && mci 52 drivers/net/wireless/ath/ath9k/mci.c if (((NUM_PROF(mci) - mci->num_sco) == ATH_MCI_MAX_ACL_PROFILE) && mci 61 drivers/net/wireless/ath/ath9k/mci.c INC_PROF(mci, info); mci 62 drivers/net/wireless/ath/ath9k/mci.c list_add_tail(&entry->list, &mci->info); mci 65 drivers/net/wireless/ath/ath9k/mci.c mci->voice_priority = voice_priority[info->voice_type]; mci 67 drivers/net/wireless/ath/ath9k/mci.c mci->voice_priority = 110; mci 74 drivers/net/wireless/ath/ath9k/mci.c struct ath_mci_profile *mci, mci 80 drivers/net/wireless/ath/ath9k/mci.c DEC_PROF(mci, entry); mci 85 drivers/net/wireless/ath/ath9k/mci.c void ath_mci_flush_profile(struct ath_mci_profile *mci) mci 89 drivers/net/wireless/ath/ath9k/mci.c mci->aggr_limit = 0; mci 90 drivers/net/wireless/ath/ath9k/mci.c mci->num_mgmt = 0; mci 92 drivers/net/wireless/ath/ath9k/mci.c if (list_empty(&mci->info)) mci 95 drivers/net/wireless/ath/ath9k/mci.c list_for_each_entry_safe(info, tinfo, &mci->info, list) { mci 97 drivers/net/wireless/ath/ath9k/mci.c DEC_PROF(mci, info); mci 104 drivers/net/wireless/ath/ath9k/mci.c struct ath_mci_profile *mci = &btcoex->mci; mci 115 drivers/net/wireless/ath/ath9k/mci.c (!mci->aggr_limit || (mci->aggr_limit > (2 * wlan_airtime)))) mci 116 drivers/net/wireless/ath/ath9k/mci.c mci->aggr_limit = 2 * wlan_airtime; mci 123 drivers/net/wireless/ath/ath9k/mci.c struct ath_mci_profile *mci = &btcoex->mci; mci 124 drivers/net/wireless/ath/ath9k/mci.c struct ath9k_hw_mci *mci_hw = &sc->sc_ah->btcoex_hw.mci; mci 126 drivers/net/wireless/ath/ath9k/mci.c u32 num_profile = NUM_PROF(mci); mci 131 drivers/net/wireless/ath/ath9k/mci.c mci->aggr_limit = 0; mci 134 drivers/net/wireless/ath/ath9k/mci.c if (NUM_PROF(mci)) mci 137 drivers/net/wireless/ath/ath9k/mci.c btcoex->bt_stomp_type = mci->num_mgmt ? ATH_BTCOEX_STOMP_ALL : mci 141 drivers/net/wireless/ath/ath9k/mci.c info = list_first_entry(&mci->info, mci 144 drivers/net/wireless/ath/ath9k/mci.c if (mci->num_sco) { mci 146 drivers/net/wireless/ath/ath9k/mci.c mci->aggr_limit = 8; mci 148 drivers/net/wireless/ath/ath9k/mci.c mci->aggr_limit = 6; mci 151 drivers/net/wireless/ath/ath9k/mci.c mci->aggr_limit = 6; mci 154 drivers/net/wireless/ath/ath9k/mci.c mci->aggr_limit); mci 155 drivers/net/wireless/ath/ath9k/mci.c } else if (mci->num_pan || mci->num_other_acl) { mci 165 drivers/net/wireless/ath/ath9k/mci.c } else if (mci->num_hid) { mci 167 drivers/net/wireless/ath/ath9k/mci.c mci->aggr_limit = 6; mci 173 drivers/net/wireless/ath/ath9k/mci.c if (mci->num_hid == 2) mci 175 drivers/net/wireless/ath/ath9k/mci.c mci->aggr_limit = 6; mci 180 drivers/net/wireless/ath/ath9k/mci.c mci->aggr_limit = 4; mci 199 drivers/net/wireless/ath/ath9k/mci.c btcoex->duty_cycle += (mci->num_bdr ? ATH_MCI_BDR_DUTY_CYCLE : 0); mci 214 drivers/net/wireless/ath/ath9k/mci.c struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; mci 259 drivers/net/wireless/ath/ath9k/mci.c struct ath_mci_profile *mci = &btcoex->mci; mci 263 drivers/net/wireless/ath/ath9k/mci.c if (mci->num_mgmt) { mci 265 drivers/net/wireless/ath/ath9k/mci.c if (!mci->num_pan && !mci->num_other_acl) mci 274 drivers/net/wireless/ath/ath9k/mci.c if (mci->num_sco) mci 275 drivers/net/wireless/ath/ath9k/mci.c ath_mci_update_stomp_txprio(mci->voice_priority, mci 277 drivers/net/wireless/ath/ath9k/mci.c if (mci->num_other_acl) mci 279 drivers/net/wireless/ath/ath9k/mci.c if (mci->num_a2dp) mci 281 drivers/net/wireless/ath/ath9k/mci.c if (mci->num_hid) mci 283 drivers/net/wireless/ath/ath9k/mci.c if (mci->num_pan) mci 300 drivers/net/wireless/ath/ath9k/mci.c struct ath_mci_profile *mci = &btcoex->mci; mci 303 drivers/net/wireless/ath/ath9k/mci.c entry = ath_mci_find_profile(mci, info); mci 314 drivers/net/wireless/ath/ath9k/mci.c DEC_PROF(mci, entry); mci 315 drivers/net/wireless/ath/ath9k/mci.c INC_PROF(mci, info); mci 321 drivers/net/wireless/ath/ath9k/mci.c if (!entry && !ath_mci_add_profile(common, mci, info)) mci 324 drivers/net/wireless/ath/ath9k/mci.c ath_mci_del_profile(common, mci, entry); mci 334 drivers/net/wireless/ath/ath9k/mci.c struct ath_mci_profile *mci = &btcoex->mci; mci 336 drivers/net/wireless/ath/ath9k/mci.c int i = 0, old_num_mgmt = mci->num_mgmt; mci 343 drivers/net/wireless/ath/ath9k/mci.c if (ath_mci_find_profile(mci, &info)) mci 350 drivers/net/wireless/ath/ath9k/mci.c __set_bit(status->conn_handle, mci->status); mci 352 drivers/net/wireless/ath/ath9k/mci.c __clear_bit(status->conn_handle, mci->status); mci 354 drivers/net/wireless/ath/ath9k/mci.c mci->num_mgmt = 0; mci 356 drivers/net/wireless/ath/ath9k/mci.c if (test_bit(i, mci->status)) mci 357 drivers/net/wireless/ath/ath9k/mci.c mci->num_mgmt++; mci 361 drivers/net/wireless/ath/ath9k/mci.c if (old_num_mgmt != mci->num_mgmt) mci 379 drivers/net/wireless/ath/ath9k/mci.c ath_mci_flush_profile(&sc->btcoex.mci); mci 437 drivers/net/wireless/ath/ath9k/mci.c struct ath_mci_coex *mci = &sc->mci_coex; mci 438 drivers/net/wireless/ath/ath9k/mci.c struct ath_mci_buf *buf = &mci->sched_buf; mci 453 drivers/net/wireless/ath/ath9k/mci.c mci->sched_buf.bf_len = ATH_MCI_SCHED_BUF_SIZE; mci 455 drivers/net/wireless/ath/ath9k/mci.c mci->gpm_buf.bf_len = ATH_MCI_GPM_BUF_SIZE; mci 456 drivers/net/wireless/ath/ath9k/mci.c mci->gpm_buf.bf_addr = mci->sched_buf.bf_addr + mci->sched_buf.bf_len; mci 457 drivers/net/wireless/ath/ath9k/mci.c mci->gpm_buf.bf_paddr = mci->sched_buf.bf_paddr + mci->sched_buf.bf_len; mci 459 drivers/net/wireless/ath/ath9k/mci.c ret = ar9003_mci_setup(sc->sc_ah, mci->gpm_buf.bf_paddr, mci 460 drivers/net/wireless/ath/ath9k/mci.c mci->gpm_buf.bf_addr, (mci->gpm_buf.bf_len >> 4), mci 461 drivers/net/wireless/ath/ath9k/mci.c mci->sched_buf.bf_paddr); mci 485 drivers/net/wireless/ath/ath9k/mci.c struct ath_mci_coex *mci = &sc->mci_coex; mci 488 drivers/net/wireless/ath/ath9k/mci.c struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; mci 561 drivers/net/wireless/ath/ath9k/mci.c pgpm = mci->gpm_buf.bf_addr; mci 645 drivers/net/wireless/ath/ath9k/mci.c struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; mci 687 drivers/net/wireless/ath/ath9k/mci.c mci->wlan_channels[i] = channelmap[i]; mci 696 drivers/net/wireless/ath/ath9k/mci.c struct ath9k_hw_mci *mci_hw = &sc->sc_ah->btcoex_hw.mci; mci 729 drivers/net/wireless/ath/ath9k/mci.c struct ath_mci_profile *mci = &btcoex->mci; mci 731 drivers/net/wireless/ath/ath9k/mci.c if (!mci->num_sco && !mci->num_a2dp) mci 745 drivers/net/wireless/ath/ath9k/mci.c struct ath9k_hw_mci *mci_hw = &sc->sc_ah->btcoex_hw.mci; mci 153 drivers/net/wireless/ath/ath9k/mci.h void ath_mci_flush_profile(struct ath_mci_profile *mci); mci 197 drivers/s390/cio/chsc.h u32 mci; mci 445 include/linux/edac.h struct mem_ctl_info *mci; /* the parent */ mci 496 include/linux/edac.h struct mem_ctl_info *mci; /* the parent */ mci 579 include/linux/edac.h int (*set_sdram_scrub_rate) (struct mem_ctl_info * mci, u32 bw); mci 585 include/linux/edac.h int (*get_sdram_scrub_rate) (struct mem_ctl_info * mci); mci 589 include/linux/edac.h void (*edac_check) (struct mem_ctl_info * mci); mci 596 include/linux/edac.h unsigned long (*ctl_page_to_phys) (struct mem_ctl_info * mci,