Lines Matching +full:buffered +full:- +full:negative
14 * www.radisys.com/files/support_downloads/007-01277-0002.82600DataBook.pdf
37 * signals buffered) and unbuffered DIMM types are supported. Mixing of
38 * registered and unbuffered DIMMs as well as mixing of ECC and non-ECC DIMMs
49 /* Radisys 82600 register addresses - device 0 function 0 - PCI bridge */
125 * 7:0 Address lines 30:24 - upper limit of
142 pdev = to_pci_dev(mci->pdev); in r82600_get_error_info()
143 pci_read_config_dword(pdev, R82600_EAP, &info->eapr); in r82600_get_error_info()
145 if (info->eapr & BIT(0)) in r82600_get_error_info()
151 if (info->eapr & BIT(1)) in r82600_get_error_info()
169 eapaddr = ((info->eapr >> 12) & 0x7FFF) << 13; in r82600_process_error_info()
171 syndrome = (info->eapr >> 4) & 0xFF; in r82600_process_error_info()
177 if (info->eapr & BIT(0)) { /* CE? */ in r82600_process_error_info()
184 0, -1, in r82600_process_error_info()
185 mci->ctl_name, ""); in r82600_process_error_info()
188 if (info->eapr & BIT(1)) { /* UE? */ in r82600_process_error_info()
196 0, -1, in r82600_process_error_info()
197 mci->ctl_name, ""); in r82600_process_error_info()
207 edac_dbg(1, "MC%d\n", mci->mc_idx); in r82600_check()
231 for (index = 0; index < mci->nr_csrows; index++) { in r82600_init_csrows()
232 csrow = mci->csrows[index]; in r82600_init_csrows()
233 dimm = csrow->channels[0]->dimm; in r82600_init_csrows()
252 csrow->first_page = row_base >> PAGE_SHIFT; in r82600_init_csrows()
253 csrow->last_page = (row_high_limit >> PAGE_SHIFT) - 1; in r82600_init_csrows()
255 dimm->nr_pages = csrow->last_page - csrow->first_page + 1; in r82600_init_csrows()
256 /* Error address is top 19 bits - so granularity is * in r82600_init_csrows()
258 dimm->grain = 1 << 14; in r82600_init_csrows()
259 dimm->mtype = reg_sdram ? MEM_RDDR : MEM_DDR; in r82600_init_csrows()
260 /* FIXME - check that this is unknowable with this chipset */ in r82600_init_csrows()
261 dimm->dtype = DEV_UNKNOWN; in r82600_init_csrows()
264 dimm->edac_mode = ecc_on ? EDAC_SECDED : EDAC_NONE; in r82600_init_csrows()
294 return -ENOMEM; in r82600_probe1()
297 mci->pdev = &pdev->dev; in r82600_probe1()
298 mci->mtype_cap = MEM_FLAG_RDDR | MEM_FLAG_DDR; in r82600_probe1()
299 mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_EC | EDAC_FLAG_SECDED; in r82600_probe1()
304 /* On the R82600, the pins for memory bits 72:65 - i.e. the * in r82600_probe1()
308 mci->edac_cap = EDAC_FLAG_NONE | EDAC_FLAG_EC | EDAC_FLAG_SECDED; in r82600_probe1()
312 edac_dbg(3, "mci = %p - Scrubbing disabled! EAP: %#0x\n", in r82600_probe1()
315 mci->edac_cap = EDAC_FLAG_NONE; in r82600_probe1()
317 mci->mod_name = EDAC_MOD_STR; in r82600_probe1()
318 mci->ctl_name = "R82600"; in r82600_probe1()
319 mci->dev_name = pci_name(pdev); in r82600_probe1()
320 mci->edac_check = r82600_check; in r82600_probe1()
321 mci->ctl_page_to_phys = NULL; in r82600_probe1()
341 r82600_pci = edac_pci_create_generic_ctl(&pdev->dev, EDAC_MOD_STR); in r82600_probe1()
356 return -ENODEV; in r82600_probe1()
359 /* returns count (>= 0), or negative on error */
366 return r82600_probe1(pdev, ent->driver_data); in r82600_init_one()
378 if ((mci = edac_mc_del_mc(&pdev->dev)) == NULL) in r82600_remove_one()
419 MODULE_AUTHOR("Tim Small <tim@buttersideup.com> - WPAD Ltd. "