kernel-fxtec-pro1x/drivers/edac
Mauro Carvalho Chehab 64e1fdaf55 i5000_edac: Fix the logic that retrieves memory information
The logic there is broken: it basically creates two csrows for
each DIMM and assumes that all DIMM's are dual rank. Only one of
the csrows will contain the entire DIMM size. If single rank
memories are found, they'll be marked with 0 bytes.

The check if the AMB is present were also wrong.

Yet, as the error reports don't use the memory size in order to
credit an error to the right DIMM, that part of the driver seems
to work. That's why probably nobody detected the issue yet.

After this patch, the memory layout is now properly reported,
when debug mode is enabled, and the number of ranks per dimm is
now shown:

calculate_dimm_size: ----------------------------------------------------------
calculate_dimm_size: slot  3       0 MB   |    0 MB   |    0 MB   |    0 MB   |
calculate_dimm_size: slot  2       0 MB   |    0 MB   |    0 MB   |    0 MB   |
calculate_dimm_size: ----------------------------------------------------------
calculate_dimm_size: slot  1       0 MB   |    0 MB   |    0 MB   |    0 MB   |
calculate_dimm_size: slot  0     512 MB 1R|  512 MB 1R|  512 MB 1R|  512 MB 1R|
calculate_dimm_size: ----------------------------------------------------------
calculate_dimm_size:            channel 0 | channel 1 | channel 2 | channel 3 |
calculate_dimm_size:                   branch 0       |        branch 1       |

(1R above means that all memories on my test machine are single-ranked)

Reviewed-by: Aristeu Rozanski <arozansk@redhat.com>
Cc: Doug Thompson <norsk5@yahoo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-28 19:13:52 -03:00
..
amd64_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
amd64_edac.h amd64_edac: Erratum #637 workaround 2011-04-26 16:18:56 +02:00
amd64_edac_dbg.c EDAC, MCE: Rework MCE injection 2010-10-21 14:47:59 +02:00
amd64_edac_inj.c amd64_edac: Add support for F15h DCT PCI config accesses 2011-03-17 14:46:11 +01:00
amd76x_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
amd8111_edac.c edac: Drop __DATE__ usage 2011-04-19 00:23:22 +02:00
amd8111_edac.h edac: AMD8111 driver header file 2009-04-02 19:05:03 -07:00
amd8131_edac.c edac: Drop __DATE__ usage 2011-04-19 00:23:22 +02:00
amd8131_edac.h tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
cell_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
cpc925_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
e7xxx_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
e752x_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
edac_core.h edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
edac_device.c edac: rewrite edac_align_ptr() 2012-05-28 19:10:59 -03:00
edac_device_sysfs.c edac: convert sysdev_class to a regular subsystem 2011-12-14 15:21:07 -08:00
edac_mc.c edac: Initialize the dimm label with the known information 2012-05-28 19:13:50 -03:00
edac_mc_sysfs.c edac: Initialize the dimm label with the known information 2012-05-28 19:13:50 -03:00
edac_module.c edac: Drop __DATE__ usage 2011-04-19 00:23:22 +02:00
edac_module.h edac: rewrite edac_align_ptr() 2012-05-28 19:10:59 -03:00
edac_pci.c edac: rewrite edac_align_ptr() 2012-05-28 19:10:59 -03:00
edac_pci_sysfs.c edac: convert sysdev_class to a regular subsystem 2011-12-14 15:21:07 -08:00
edac_stub.c device.h: cleanup users outside of linux/include (C files) 2012-03-11 14:27:37 -04:00
i7core_edac.c edac: Cleanup the logs for i7core and sb edac drivers 2012-05-28 19:13:51 -03:00
i3000_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
i3200_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
i5000_edac.c i5000_edac: Fix the logic that retrieves memory information 2012-05-28 19:13:52 -03:00
i5100_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
i5400_edac.c i5400_edac: improve debug messages to better represent the filled memory 2012-05-28 19:13:51 -03:00
i7300_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
i82443bxgx_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
i82860_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
i82875p_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
i82975x_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
Kconfig edac: sb_edac: Let the driver depend on PCI_MMCONFIG 2012-03-21 15:19:56 -03:00
Makefile edac: sb_edac: Add it to the building system 2011-11-01 10:01:54 -02:00
mce_amd.c MCE, AMD: Drop too granulary family model checks 2012-04-04 15:50:11 +02:00
mce_amd.h MCE, AMD: Constify error tables 2012-03-19 12:06:26 +01:00
mce_amd_inj.c device.h: cleanup users outside of linux/include (C files) 2012-03-11 14:27:37 -04:00
mpc85xx_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
mpc85xx_edac.h edac: Drop __DATE__ usage 2011-04-19 00:23:22 +02:00
mv64x60_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
mv64x60_edac.h edac: Drop __DATE__ usage 2011-04-19 00:23:22 +02:00
pasemi_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
ppc4xx_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
ppc4xx_edac.h edac: new ppc4xx driver module 2009-04-02 19:05:03 -07:00
r82600_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
sb_edac.c edac: Cleanup the logs for i7core and sb edac drivers 2012-05-28 19:13:51 -03:00
tile_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00
x38_edac.c edac: Remove the legacy EDAC ABI 2012-05-28 19:13:50 -03:00