edac: move nr_pages to dimm struct
[deliverable/linux.git] / drivers / edac / e7xxx_edac.c
index 5ed97f6eb3466510eaf7b43fc1d0ae901f80f257..709aca216639668c9386c40808168bc5483a0327 100644 (file)
@@ -349,7 +349,7 @@ static void e7xxx_init_csrows(struct mem_ctl_info *mci, struct pci_dev *pdev,
        unsigned long last_cumul_size;
        int index, j;
        u8 value;
-       u32 dra, cumul_size;
+       u32 dra, cumul_size, nr_pages;
        int drc_chan, drc_drbg, drc_ddim, mem_dev;
        struct csrow_info *csrow;
        struct dimm_info *dimm;
@@ -380,12 +380,13 @@ static void e7xxx_init_csrows(struct mem_ctl_info *mci, struct pci_dev *pdev,
 
                csrow->first_page = last_cumul_size;
                csrow->last_page = cumul_size - 1;
-               csrow->nr_pages = cumul_size - last_cumul_size;
+               nr_pages = cumul_size - last_cumul_size;
                last_cumul_size = cumul_size;
 
                for (j = 0; j < drc_chan + 1; j++) {
                        dimm = csrow->channels[j].dimm;
 
+                       dimm->nr_pages = nr_pages / (drc_chan + 1);
                        dimm->grain = 1 << 12;  /* 4KiB - resolution of CELOG */
                        dimm->mtype = MEM_RDDR; /* only one type supported */
                        dimm->dtype = mem_dev ? DEV_X4 : DEV_X8;
This page took 0.027026 seconds and 5 git commands to generate.