.. | .. |
---|
104 | 104 | * |
---|
105 | 105 | * 31:14 Base Addr of 16K memory-mapped |
---|
106 | 106 | * configuration space |
---|
107 | | - * 13:1 reserverd |
---|
| 107 | + * 13:1 reserved |
---|
108 | 108 | * 0 mem-mapped config space enable |
---|
109 | 109 | */ |
---|
110 | 110 | |
---|
.. | .. |
---|
358 | 358 | return dualch; |
---|
359 | 359 | } |
---|
360 | 360 | |
---|
361 | | -static enum dev_type i82975x_dram_type(void __iomem *mch_window, int rank) |
---|
362 | | -{ |
---|
363 | | - /* |
---|
364 | | - * ECC is possible on i92975x ONLY with DEV_X8 |
---|
365 | | - */ |
---|
366 | | - return DEV_X8; |
---|
367 | | -} |
---|
368 | | - |
---|
369 | 361 | static void i82975x_init_csrows(struct mem_ctl_info *mci, |
---|
370 | 362 | struct pci_dev *pdev, void __iomem *mch_window) |
---|
371 | 363 | { |
---|
.. | .. |
---|
375 | 367 | u32 cumul_size, nr_pages; |
---|
376 | 368 | int index, chan; |
---|
377 | 369 | struct dimm_info *dimm; |
---|
378 | | - enum dev_type dtype; |
---|
379 | 370 | |
---|
380 | 371 | last_cumul_size = 0; |
---|
381 | 372 | |
---|
.. | .. |
---|
413 | 404 | * [0-7] for single-channel; i.e. csrow->nr_channels = 1 |
---|
414 | 405 | * [0-3] for dual-channel; i.e. csrow->nr_channels = 2 |
---|
415 | 406 | */ |
---|
416 | | - dtype = i82975x_dram_type(mch_window, index); |
---|
417 | 407 | for (chan = 0; chan < csrow->nr_channels; chan++) { |
---|
418 | 408 | dimm = mci->csrows[index]->channels[chan]->dimm; |
---|
419 | 409 | |
---|
.. | .. |
---|
423 | 413 | (chan == 0) ? 'A' : 'B', |
---|
424 | 414 | index); |
---|
425 | 415 | dimm->grain = 1 << 7; /* 128Byte cache-line resolution */ |
---|
426 | | - dimm->dtype = i82975x_dram_type(mch_window, index); |
---|
| 416 | + |
---|
| 417 | + /* ECC is possible on i92975x ONLY with DEV_X8. */ |
---|
| 418 | + dimm->dtype = DEV_X8; |
---|
| 419 | + |
---|
427 | 420 | dimm->mtype = MEM_DDR2; /* I82975x supports only DDR2 */ |
---|
428 | 421 | dimm->edac_mode = EDAC_SECDED; /* only supported */ |
---|
429 | 422 | } |
---|
.. | .. |
---|
492 | 485 | goto fail0; |
---|
493 | 486 | } |
---|
494 | 487 | mchbar &= 0xffffc000; /* bits 31:14 used for 16K window */ |
---|
495 | | - mch_window = ioremap_nocache(mchbar, 0x1000); |
---|
| 488 | + mch_window = ioremap(mchbar, 0x1000); |
---|
496 | 489 | if (!mch_window) { |
---|
497 | 490 | edac_dbg(3, "error ioremapping MCHBAR!\n"); |
---|
498 | 491 | goto fail0; |
---|
.. | .. |
---|
655 | 648 | |
---|
656 | 649 | edac_dbg(3, "\n"); |
---|
657 | 650 | |
---|
658 | | - /* Ensure that the OPSTATE is set correctly for POLL or NMI */ |
---|
659 | | - opstate_init(); |
---|
| 651 | + /* Ensure that the OPSTATE is set correctly for POLL or NMI */ |
---|
| 652 | + opstate_init(); |
---|
660 | 653 | |
---|
661 | 654 | pci_rc = pci_register_driver(&i82975x_driver); |
---|
662 | 655 | if (pci_rc < 0) |
---|