aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/edac.h
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2012-01-28 07:09:38 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-05-28 18:10:58 -0400
commita895bf8b1e1ea4c032a8fa8a09475a2ce09fe77a (patch)
tree79a1110d0f4a6f2d50d870fa77d11a5311fee4fc /include/linux/edac.h
parent5e2af0c09e60d11dd8297e259a9ca2b3d92d2cf4 (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/linux/edac.h')
-rw-r--r--include/linux/edac.h8
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
352struct csrow_info { 354struct 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 */