mirror of
https://github.com/torvalds/linux.git
synced 2024-11-29 15:41:36 +00:00
EDAC: Fix csrow size reported in sysfs
On csrow-based memory controllers, we combine the csrow size from both channels and there's no need to do that again in csrow_size_show which leads to double the size of a csrow. Fix it. Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
This commit is contained in:
parent
921a689965
commit
16a528ee39
@ -2174,6 +2174,7 @@ static int init_csrows(struct mem_ctl_info *mci)
|
||||
dimm->edac_mode = edac_mode;
|
||||
dimm->nr_pages = nr_pages;
|
||||
}
|
||||
csrow->nr_pages = nr_pages;
|
||||
}
|
||||
|
||||
return empty;
|
||||
|
@ -180,6 +180,9 @@ static ssize_t csrow_size_show(struct device *dev,
|
||||
int i;
|
||||
u32 nr_pages = 0;
|
||||
|
||||
if (csrow->mci->csbased)
|
||||
return sprintf(data, "%u\n", PAGES_TO_MiB(csrow->nr_pages));
|
||||
|
||||
for (i = 0; i < csrow->nr_channels; i++)
|
||||
nr_pages += csrow->channels[i]->dimm->nr_pages;
|
||||
return sprintf(data, "%u\n", PAGES_TO_MiB(nr_pages));
|
||||
|
@ -533,6 +533,7 @@ struct csrow_info {
|
||||
|
||||
u32 ue_count; /* Uncorrectable Errors for this csrow */
|
||||
u32 ce_count; /* Correctable Errors for this csrow */
|
||||
u32 nr_pages; /* combined pages count of all channels */
|
||||
|
||||
struct mem_ctl_info *mci; /* the parent */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user