diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-01-28 07:09:38 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-05-28 18:10:58 -0400 |
commit | a895bf8b1e1ea4c032a8fa8a09475a2ce09fe77a (patch) | |
tree | 79a1110d0f4a6f2d50d870fa77d11a5311fee4fc /include | |
parent | 5e2af0c09e60d11dd8297e259a9ca2b3d92d2cf4 (diff) |
edac: move nr_pages to dimm struct
The number of pages is a dimm property. Move it to the dimm struct.
After this change, it is possible to add sysfs nodes for the DIMM's that
will properly represent the DIMM stick properties, including its size.
A TODO fix here is to properly represent dual-rank/quad-rank DIMMs when
the memory controller represents the memory via chip select rows.
Reviewed-by: Aristeu Rozanski <arozansk@redhat.com>
Acked-by: Borislav Petkov <borislav.petkov@amd.com>
Acked-by: Chris Metcalf <cmetcalf@tilera.com>
Cc: Doug Thompson <norsk5@yahoo.com>
Cc: Mark Gross <mark.gross@intel.com>
Cc: Jason Uhlenkott <juhlenko@akamai.com>
Cc: Tim Small <tim@buttersideup.com>
Cc: Ranganathan Desikan <ravi@jetztechnologies.com>
Cc: "Arvind R." <arvino55@gmail.com>
Cc: Olof Johansson <olof@lixom.net>
Cc: Egor Martovetsky <egor@pasemi.com>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Joe Perches <joe@perches.com>
Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Hitoshi Mitake <h.mitake@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Niklas Söderlund" <niklas.soderlund@ericsson.com>
Cc: Shaohui Xie <Shaohui.Xie@freescale.com>
Cc: Josh Boyer <jwboyer@gmail.com>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/edac.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/include/linux/edac.h b/include/linux/edac.h index 87aa07d2ee28..67717cab1313 100644 --- a/include/linux/edac.h +++ b/include/linux/edac.h | |||
@@ -324,6 +324,8 @@ struct dimm_info { | |||
324 | enum mem_type mtype; /* memory dimm type */ | 324 | enum mem_type mtype; /* memory dimm type */ |
325 | enum edac_type edac_mode; /* EDAC mode for this dimm */ | 325 | enum edac_type edac_mode; /* EDAC mode for this dimm */ |
326 | 326 | ||
327 | u32 nr_pages; /* number of pages in csrow */ | ||
328 | |||
327 | u32 ce_count; /* Correctable Errors for this dimm */ | 329 | u32 ce_count; /* Correctable Errors for this dimm */ |
328 | }; | 330 | }; |
329 | 331 | ||
@@ -350,12 +352,12 @@ struct rank_info { | |||
350 | }; | 352 | }; |
351 | 353 | ||
352 | struct csrow_info { | 354 | struct csrow_info { |
355 | /* Used only by edac_mc_find_csrow_by_page() */ | ||
353 | unsigned long first_page; /* first page number in csrow */ | 356 | unsigned long first_page; /* first page number in csrow */ |
354 | unsigned long last_page; /* last page number in csrow */ | 357 | unsigned long last_page; /* last page number in csrow */ |
355 | u32 nr_pages; /* number of pages in csrow */ | ||
356 | unsigned long page_mask; /* used for interleaving - | 358 | unsigned long page_mask; /* used for interleaving - |
357 | * 0UL for non intlv | 359 | * 0UL for non intlv */ |
358 | */ | 360 | |
359 | int csrow_idx; /* the chip-select row */ | 361 | int csrow_idx; /* the chip-select row */ |
360 | 362 | ||
361 | u32 ue_count; /* Uncorrectable Errors for this csrow */ | 363 | u32 ue_count; /* Uncorrectable Errors for this csrow */ |