android_kernel_xiaomi_sm8350/drivers/edac
Jeff Roberson 156edd4aaa edac: i5400 fix csrow mapping
The i5400 EDAC driver has several bugs with chip-select row computation
which most likely lead to bugs in detailed error reporting.  Attempts to
contact the authors have gone mostly unanswered so I am presenting my diff
here.  I do not subscribe to lkml and would appreciate being kept in the
cc.

The most egregious problem was miscalculating the addresses of MTR
registers after register 0 by assuming they are 32bit rather than 16.
This caused the driver to miss half of the memories.  Most motherboards
tend to have only 8 dimm slots and not 16, so this may not have been
noticed before.

Further, the row calculations multiplied the number of dimms several
times, ultimately ending up with a maximum row of 32.  The chipset only
supports 4 dimms in each of 4 channels, so csrow could not be higher than
4 unless you use a row per-rank with dual-rank dimms.  I opted to
eliminate this behavior as it is confusing to the user and the error
reporting works by slot and not rank.  This gives a much clearer view of
memory by slot and channel in /sys.

Signed-off-by: Jeff Roberson <jroberson@jroberson.net>
Signed-off-by: Doug Thompson <dougthompson@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-10-29 07:39:30 -07:00
..
amd64_edac_dbg.c x86, mce: pass mce info to EDAC for decoding 2009-09-14 18:59:17 +02:00
amd64_edac_inj.c amd64_edac: beef up DRAM error injection 2009-10-07 16:51:28 +02:00
amd64_edac.c amd64_edac: fix DRAM base and limit extraction masks, v2 2009-10-16 18:51:22 +02:00
amd64_edac.h amd64_edac: beef up DRAM error injection 2009-10-07 16:51:28 +02:00
amd76x_edac.c
amd8111_edac.c
amd8111_edac.h
amd8131_edac.c
amd8131_edac.h
cell_edac.c
cpc925_edac.c edac: fix resource size calculation 2009-09-24 07:21:04 -07:00
e7xxx_edac.c
e752x_edac.c
edac_core.h trivial: fix typo "for for" in multiple files 2009-09-21 15:14:54 +02:00
edac_device_sysfs.c
edac_device.c edac: core: remove completion-wait for complete with rcu_barrier 2009-09-24 07:21:05 -07:00
edac_mc_sysfs.c edac: add DDR3 memory type for MPC85xx EDAC 2009-06-30 18:55:59 -07:00
edac_mc.c edac: core: remove completion-wait for complete with rcu_barrier 2009-09-24 07:21:05 -07:00
edac_mce_amd.c x86: EDAC: carve out AMD MCE decoding logic 2009-10-02 15:42:19 +02:00
edac_mce_amd.h EDAC, AMD: carve out MCi_STATUS decoding 2009-09-14 19:01:07 +02:00
edac_module.c
edac_module.h
edac_pci_sysfs.c
edac_pci.c edac: core: remove completion-wait for complete with rcu_barrier 2009-09-24 07:21:05 -07:00
edac_stub.c
i3000_edac.c
i3200_edac.c edac: i3200 memory controller driver 2009-09-24 07:21:04 -07:00
i5000_edac.c
i5100_edac.c
i5400_edac.c edac: i5400 fix csrow mapping 2009-10-29 07:39:30 -07:00
i82443bxgx_edac.c
i82860_edac.c
i82875p_edac.c
i82975x_edac.c
Kconfig x86: EDAC: carve out AMD MCE decoding logic 2009-10-02 15:42:19 +02:00
Makefile x86: EDAC: carve out AMD MCE decoding logic 2009-10-02 15:42:19 +02:00
mpc85xx_edac.c edac: mpc85xx add mpc83xx support 2009-09-24 07:21:04 -07:00
mpc85xx_edac.h edac: add DDR3 memory type for MPC85xx EDAC 2009-06-30 18:55:59 -07:00
mv64x60_edac.c edac: fix resource size calculation 2009-09-24 07:21:04 -07:00
mv64x60_edac.h
pasemi_edac.c
ppc4xx_edac.c
ppc4xx_edac.h
r82600_edac.c
x38_edac.c edac: x38 fix mchbar high register addr 2009-07-29 19:10:34 -07:00