• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/edac/

Lines Matching refs:mci

39 #define cpc925_mc_printk(mci, level, fmt, arg...) \
40 edac_mc_chipset_printk(mci, level, "CPC925", fmt, ##arg)
327 static void cpc925_init_csrows(struct mem_ctl_info *mci)
329 struct cpc925_mc_pdata *pdata = mci->pvt_info;
337 for (index = 0; index < mci->nr_csrows; index++) {
348 csrow = &mci->csrows[index];
387 static void cpc925_mc_init(struct mem_ctl_info *mci)
389 struct cpc925_mc_pdata *pdata = mci->pvt_info;
409 static void cpc925_mc_exit(struct mem_ctl_info *mci)
442 static void cpc925_mc_get_pfn(struct mem_ctl_info *mci, u32 mear,
459 if (mci->csrows[rank].first_page == 0) {
460 cpc925_mc_printk(mci, KERN_ERR, "ECC occurs in a "
467 pa = mci->csrows[rank].first_page << PAGE_SHIFT;
511 static int cpc925_mc_find_channel(struct mem_ctl_info *mci, u16 syndrome)
519 cpc925_mc_printk(mci, KERN_INFO, "Unexpected syndrome value: 0x%x\n",
525 static void cpc925_mc_check(struct mem_ctl_info *mci)
527 struct cpc925_mc_pdata *pdata = mci->pvt_info;
546 cpc925_mc_get_pfn(mci, mear, &pfn, &offset, &csrow);
549 cpc925_mc_printk(mci, KERN_INFO, "DRAM CECC Fault\n");
550 channel = cpc925_mc_find_channel(mci, syndrome);
551 edac_mc_handle_ce(mci, pfn, offset, syndrome,
552 csrow, channel, mci->ctl_name);
556 cpc925_mc_printk(mci, KERN_INFO, "DRAM UECC Fault\n");
557 edac_mc_handle_ue(mci, pfn, offset, csrow, mci->ctl_name);
560 cpc925_mc_printk(mci, KERN_INFO, "Dump registers:\n");
561 cpc925_mc_printk(mci, KERN_INFO, "APIMASK 0x%08x\n",
563 cpc925_mc_printk(mci, KERN_INFO, "APIEXCP 0x%08x\n",
565 cpc925_mc_printk(mci, KERN_INFO, "Mem Scrub Ctrl 0x%08x\n",
567 cpc925_mc_printk(mci, KERN_INFO, "Mem Scrub Rge Start 0x%08x\n",
569 cpc925_mc_printk(mci, KERN_INFO, "Mem Scrub Rge End 0x%08x\n",
571 cpc925_mc_printk(mci, KERN_INFO, "Mem Scrub Pattern 0x%08x\n",
573 cpc925_mc_printk(mci, KERN_INFO, "Mem Chk Ctrl 0x%08x\n",
575 cpc925_mc_printk(mci, KERN_INFO, "Mem Chk Rge End 0x%08x\n",
577 cpc925_mc_printk(mci, KERN_INFO, "Mem Err Address 0x%08x\n",
579 cpc925_mc_printk(mci, KERN_INFO, "Mem Err Syndrome 0x%08x\n",
821 static int cpc925_get_sdram_scrub_rate(struct mem_ctl_info *mci, u32 *bw)
823 struct cpc925_mc_pdata *pdata = mci->pvt_info;
834 cpc925_mc_printk(mci, KERN_INFO, "Scrub mode not enabled\n");
867 struct mem_ctl_info *mci;
904 mci = edac_mc_alloc(sizeof(struct cpc925_mc_pdata),
906 if (!mci) {
912 pdata = mci->pvt_info;
917 mci->dev = &pdev->dev;
918 platform_set_drvdata(pdev, mci);
919 mci->dev_name = dev_name(&pdev->dev);
920 mci->mtype_cap = MEM_FLAG_RDDR | MEM_FLAG_DDR;
921 mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED;
922 mci->edac_cap = EDAC_FLAG_SECDED;
923 mci->mod_name = CPC925_EDAC_MOD_STR;
924 mci->mod_ver = CPC925_EDAC_REVISION;
925 mci->ctl_name = pdev->name;
928 mci->edac_check = cpc925_mc_check;
930 mci->ctl_page_to_phys = NULL;
931 mci->scrub_mode = SCRUB_SW_SRC;
932 mci->set_sdram_scrub_rate = NULL;
933 mci->get_sdram_scrub_rate = cpc925_get_sdram_scrub_rate;
935 cpc925_init_csrows(mci);
938 cpc925_mc_init(mci);
940 if (edac_mc_add_mc(mci) > 0) {
941 cpc925_mc_printk(mci, KERN_ERR, "Failed edac_mc_add_mc()\n");
954 cpc925_mc_exit(mci);
955 edac_mc_free(mci);
966 struct mem_ctl_info *mci = platform_get_drvdata(pdev);
973 cpc925_mc_exit(mci);
976 edac_mc_free(mci);