diff options
Diffstat (limited to 'drivers/edac/i7core_edac.c')
-rw-r--r-- | drivers/edac/i7core_edac.c | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/drivers/edac/i7core_edac.c b/drivers/edac/i7core_edac.c index df0acf02667..5449bd40a73 100644 --- a/drivers/edac/i7core_edac.c +++ b/drivers/edac/i7core_edac.c | |||
@@ -592,7 +592,7 @@ static int i7core_get_active_channels(const u8 socket, unsigned *channels, | |||
592 | return 0; | 592 | return 0; |
593 | } | 593 | } |
594 | 594 | ||
595 | static int get_dimm_config(const struct mem_ctl_info *mci) | 595 | static int get_dimm_config(struct mem_ctl_info *mci) |
596 | { | 596 | { |
597 | struct i7core_pvt *pvt = mci->pvt_info; | 597 | struct i7core_pvt *pvt = mci->pvt_info; |
598 | struct csrow_info *csr; | 598 | struct csrow_info *csr; |
@@ -602,6 +602,7 @@ static int get_dimm_config(const struct mem_ctl_info *mci) | |||
602 | unsigned long last_page = 0; | 602 | unsigned long last_page = 0; |
603 | enum edac_type mode; | 603 | enum edac_type mode; |
604 | enum mem_type mtype; | 604 | enum mem_type mtype; |
605 | struct dimm_info *dimm; | ||
605 | 606 | ||
606 | /* Get data from the MC register, function 0 */ | 607 | /* Get data from the MC register, function 0 */ |
607 | pdev = pvt->pci_mcr[0]; | 608 | pdev = pvt->pci_mcr[0]; |
@@ -721,7 +722,6 @@ static int get_dimm_config(const struct mem_ctl_info *mci) | |||
721 | csr->nr_pages = npages; | 722 | csr->nr_pages = npages; |
722 | 723 | ||
723 | csr->page_mask = 0; | 724 | csr->page_mask = 0; |
724 | csr->grain = 8; | ||
725 | csr->csrow_idx = csrow; | 725 | csr->csrow_idx = csrow; |
726 | csr->nr_channels = 1; | 726 | csr->nr_channels = 1; |
727 | 727 | ||
@@ -730,28 +730,27 @@ static int get_dimm_config(const struct mem_ctl_info *mci) | |||
730 | 730 | ||
731 | pvt->csrow_map[i][j] = csrow; | 731 | pvt->csrow_map[i][j] = csrow; |
732 | 732 | ||
733 | dimm = csr->channels[0].dimm; | ||
733 | switch (banks) { | 734 | switch (banks) { |
734 | case 4: | 735 | case 4: |
735 | csr->dtype = DEV_X4; | 736 | dimm->dtype = DEV_X4; |
736 | break; | 737 | break; |
737 | case 8: | 738 | case 8: |
738 | csr->dtype = DEV_X8; | 739 | dimm->dtype = DEV_X8; |
739 | break; | 740 | break; |
740 | case 16: | 741 | case 16: |
741 | csr->dtype = DEV_X16; | 742 | dimm->dtype = DEV_X16; |
742 | break; | 743 | break; |
743 | default: | 744 | default: |
744 | csr->dtype = DEV_UNKNOWN; | 745 | dimm->dtype = DEV_UNKNOWN; |
745 | } | 746 | } |
746 | 747 | ||
747 | csr->edac_mode = mode; | 748 | snprintf(dimm->label, sizeof(dimm->label), |
748 | csr->mtype = mtype; | 749 | "CPU#%uChannel#%u_DIMM#%u", |
749 | snprintf(csr->channels[0].dimm->label, | 750 | pvt->i7core_dev->socket, i, j); |
750 | sizeof(csr->channels[0].dimm->label), | 751 | dimm->grain = 8; |
751 | "CPU#%uChannel#%u_DIMM#%u", | 752 | dimm->edac_mode = mode; |
752 | pvt->i7core_dev->socket, i, j); | 753 | dimm->mtype = mtype; |
753 | |||
754 | csrow++; | ||
755 | } | 754 | } |
756 | 755 | ||
757 | pci_read_config_dword(pdev, MC_SAG_CH_0, &value[0]); | 756 | pci_read_config_dword(pdev, MC_SAG_CH_0, &value[0]); |