Lines Matching refs:mci

41 #define e752x_mc_printk(mci, level, fmt, arg...) \  argument
42 edac_mc_chipset_printk(mci, level, "e752x", fmt, ##arg)
305 static unsigned long ctl_page_to_phys(struct mem_ctl_info *mci, in ctl_page_to_phys() argument
309 struct e752x_pvt *pvt = (struct e752x_pvt *)mci->pvt_info; in ctl_page_to_phys()
328 static void do_process_ce(struct mem_ctl_info *mci, u16 error_one, in do_process_ce() argument
335 struct e752x_pvt *pvt = (struct e752x_pvt *)mci->pvt_info; in do_process_ce()
363 e752x_mc_printk(mci, KERN_WARNING, in do_process_ce()
367 row = edac_mc_find_csrow_by_page(mci, page); in do_process_ce()
373 edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, in do_process_ce()
379 static inline void process_ce(struct mem_ctl_info *mci, u16 error_one, in process_ce() argument
386 do_process_ce(mci, error_one, sec1_add, sec1_syndrome); in process_ce()
389 static void do_process_ue(struct mem_ctl_info *mci, u16 error_one, in do_process_ue() argument
394 struct e752x_pvt *pvt = (struct e752x_pvt *)mci->pvt_info; in do_process_ue()
407 edac_mc_find_csrow_by_page(mci, block_page); in do_process_ue()
410 edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, in do_process_ue()
426 edac_mc_find_csrow_by_page(mci, block_page); in do_process_ue()
429 edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, in do_process_ue()
437 static inline void process_ue(struct mem_ctl_info *mci, u16 error_one, in process_ue() argument
444 do_process_ue(mci, error_one, ded_add, scrb_add); in process_ue()
447 static inline void process_ue_no_info_wr(struct mem_ctl_info *mci, in process_ue_no_info_wr() argument
456 edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, 0, 0, 0, in process_ue_no_info_wr()
461 static void do_process_ded_retry(struct mem_ctl_info *mci, u16 error, in do_process_ded_retry() argument
466 struct e752x_pvt *pvt = (struct e752x_pvt *)mci->pvt_info; in do_process_ded_retry()
473 edac_mc_find_csrow_by_page(mci, page); in do_process_ded_retry()
475 e752x_mc_printk(mci, KERN_WARNING, in do_process_ded_retry()
480 static inline void process_ded_retry(struct mem_ctl_info *mci, u16 error, in process_ded_retry() argument
487 do_process_ded_retry(mci, error, retry_add); in process_ded_retry()
490 static inline void process_threshold_ce(struct mem_ctl_info *mci, u16 error, in process_threshold_ce() argument
496 e752x_mc_printk(mci, KERN_WARNING, "Memory threshold CE\n"); in process_threshold_ce()
791 static void e752x_check_dram(struct mem_ctl_info *mci, in e752x_check_dram() argument
802 process_ce(mci, error_one, info->dram_sec1_add, in e752x_check_dram()
806 process_ce(mci, error_next, info->dram_sec2_add, in e752x_check_dram()
810 process_ue_no_info_wr(mci, error_found, handle_error); in e752x_check_dram()
813 process_ue_no_info_wr(mci, error_found, handle_error); in e752x_check_dram()
816 process_ded_retry(mci, error_one, info->dram_retr_add, in e752x_check_dram()
820 process_ded_retry(mci, error_next, info->dram_retr_add, in e752x_check_dram()
824 process_threshold_ce(mci, error_one, error_found, handle_error); in e752x_check_dram()
827 process_threshold_ce(mci, error_next, error_found, in e752x_check_dram()
831 process_ue(mci, error_one, info->dram_ded_add, in e752x_check_dram()
835 process_ue(mci, error_next, info->dram_ded_add, in e752x_check_dram()
839 static void e752x_get_error_info(struct mem_ctl_info *mci, in e752x_get_error_info() argument
846 pvt = (struct e752x_pvt *)mci->pvt_info; in e752x_get_error_info()
946 static int e752x_process_error_info(struct mem_ctl_info *mci, in e752x_process_error_info() argument
976 e752x_check_dram(mci, info, &error_found, handle_errors); in e752x_process_error_info()
980 static void e752x_check(struct mem_ctl_info *mci) in e752x_check() argument
985 e752x_get_error_info(mci, &info); in e752x_check()
986 e752x_process_error_info(mci, &info, 1); in e752x_check()
990 static int set_sdram_scrub_rate(struct mem_ctl_info *mci, u32 new_bw) in set_sdram_scrub_rate() argument
993 struct e752x_pvt *pvt = (struct e752x_pvt *) mci->pvt_info; in set_sdram_scrub_rate()
1019 static int get_sdram_scrub_rate(struct mem_ctl_info *mci) in get_sdram_scrub_rate() argument
1022 struct e752x_pvt *pvt = (struct e752x_pvt *) mci->pvt_info; in get_sdram_scrub_rate()
1057 static inline int remap_csrow_index(struct mem_ctl_info *mci, int index) in remap_csrow_index() argument
1059 struct e752x_pvt *pvt = mci->pvt_info; in remap_csrow_index()
1067 static void e752x_init_csrows(struct mem_ctl_info *mci, struct pci_dev *pdev, in e752x_init_csrows() argument
1095 for (last_cumul_size = index = 0; index < mci->nr_csrows; index++) { in e752x_init_csrows()
1098 csrow = mci->csrows[remap_csrow_index(mci, index)]; in e752x_init_csrows()
1120 mci->edac_cap |= EDAC_FLAG_S4ECD4ED; in e752x_init_csrows()
1123 mci->edac_cap |= EDAC_FLAG_SECDED; in e752x_init_csrows()
1261 struct mem_ctl_info *mci; in e752x_probe1() local
1295 mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt)); in e752x_probe1()
1296 if (mci == NULL) in e752x_probe1()
1300 mci->mtype_cap = MEM_FLAG_RDDR; in e752x_probe1()
1302 mci->edac_ctl_cap = (dev_idx == I3100) ? EDAC_FLAG_SECDED : in e752x_probe1()
1305 mci->mod_name = EDAC_MOD_STR; in e752x_probe1()
1306 mci->mod_ver = E752X_REVISION; in e752x_probe1()
1307 mci->pdev = &pdev->dev; in e752x_probe1()
1310 pvt = (struct e752x_pvt *)mci->pvt_info; in e752x_probe1()
1315 edac_mc_free(mci); in e752x_probe1()
1320 mci->ctl_name = pvt->dev_info->ctl_name; in e752x_probe1()
1321 mci->dev_name = pci_name(pdev); in e752x_probe1()
1322 mci->edac_check = e752x_check; in e752x_probe1()
1323 mci->ctl_page_to_phys = ctl_page_to_phys; in e752x_probe1()
1324 mci->set_sdram_scrub_rate = set_sdram_scrub_rate; in e752x_probe1()
1325 mci->get_sdram_scrub_rate = get_sdram_scrub_rate; in e752x_probe1()
1334 e752x_init_csrows(mci, pdev, ddrcsr); in e752x_probe1()
1338 mci->edac_cap = EDAC_FLAG_SECDED; /* the only mode supported */ in e752x_probe1()
1340 mci->edac_cap |= EDAC_FLAG_NONE; in e752x_probe1()
1357 if (edac_mc_add_mc(mci)) { in e752x_probe1()
1363 e752x_get_error_info(mci, &discard); /* clear other MCH errors */ in e752x_probe1()
1382 edac_mc_free(mci); in e752x_probe1()
1401 struct mem_ctl_info *mci; in e752x_remove_one() local
1409 if ((mci = edac_mc_del_mc(&pdev->dev)) == NULL) in e752x_remove_one()
1412 pvt = (struct e752x_pvt *)mci->pvt_info; in e752x_remove_one()
1415 edac_mc_free(mci); in e752x_remove_one()