aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/edac/i7core_edac.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/edac/i7core_edac.c')
-rw-r--r--drivers/edac/i7core_edac.c27
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
595static int get_dimm_config(const struct mem_ctl_info *mci) 595static 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]);