- scrub_disabled = eapr & BIT(31);
- sdram_refresh_rate = dramcr & (BIT(0) | BIT(1));
-
- debugf2("MC: " __FILE__ ": %s(): sdram refresh rate = %#0x\n",
- __func__, sdram_refresh_rate);
-
- debugf2("MC: " __FILE__ ": %s(): DRAMC register = %#0x\n", __func__,
- dramcr);
-
- mci = edac_mc_alloc(0, R82600_NR_CSROWS, R82600_NR_CHANS);
-
- if (mci == NULL) {
- rc = -ENOMEM;
- goto fail;
- }
-
- debugf0("MC: " __FILE__ ": %s(): mci = %p\n", __func__, mci);
-
- mci->pdev = pdev;
- mci->mtype_cap = MEM_FLAG_RDDR | MEM_FLAG_DDR;
-
- mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_EC | EDAC_FLAG_SECDED;
- /* FIXME try to work out if the chip leads have been *
- * used for COM2 instead on this board? [MA6?] MAYBE: */
-
- /* On the R82600, the pins for memory bits 72:65 - i.e. the *
- * EC bits are shared with the pins for COM2 (!), so if COM2 *
- * is enabled, we assume COM2 is wired up, and thus no EDAC *
- * is possible. */
- mci->edac_cap = EDAC_FLAG_NONE | EDAC_FLAG_EC | EDAC_FLAG_SECDED;
- if (ecc_on) {
- if (scrub_disabled)
- debugf3("MC: " __FILE__ ": %s(): mci = %p - "
- "Scrubbing disabled! EAP: %#0x\n", __func__,
- mci, eapr);
- } else
- mci->edac_cap = EDAC_FLAG_NONE;
-
- mci->mod_name = BS_MOD_STR;
- mci->mod_ver = "$Revision: 1.1.2.6 $";
- mci->ctl_name = "R82600";
- mci->edac_check = r82600_check;
- mci->ctl_page_to_phys = NULL;