| .. | .. |
|---|
| 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) |
|---|