kernel_optimize_test/drivers/edac
Peter Tyser dcca7c3d00 edac: mpc85xx improve SDRAM error reporting
Add the ability to detect the specific data line or ECC line which failed
when printing out SDRAM single-bit errors.  An example of a single-bit
SDRAM ECC error is below:

  EDAC MPC85xx MC1: Err Detect Register: 0x80000004
  EDAC MPC85xx MC1: Faulty data bit: 59
  EDAC MPC85xx MC1: Expected Data / ECC:  0x7f80d000_409effa0 / 0x6d
  EDAC MPC85xx MC1: Captured Data / ECC:  0x7780d000_409effa0 / 0x6d
  EDAC MPC85xx MC1: Err addr: 0x00031ca0
  EDAC MPC85xx MC1: PFN: 0x00000031

Knowning which specific data or ECC line caused an error can be useful in
tracking down hardware issues such as improperly terminated signals, loose
pins, etc.

Note that this feature is only currently enabled for 64-bit wide data
buses, 32-bit wide bus support should be added.

I don't have any 32-bit wide systems to test on.  If someone has one and
is willing to give this patch a shot with the check for a 64-bit data bus
removed it would be much appreciated and I can re-submit with both 32 and
64 bit buses supported.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Signed-off-by: Doug Thompson <dougthompson@xmission.com>
Cc: Kumar Gala <galak@gate.crashing.org>
Cc: Dave Jiang <djiang@mvista.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-03-12 15:52:40 -08: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 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp 2010-03-03 09:25:37 -08:00
amd64_edac.h amd64_edac: Simplify ECC override handling 2010-03-01 19:25:12 +01:00
amd76x_edac.c edac: fix module initialization on several modules 2nd time 2008-04-29 08:06:26 -07:00
amd8111_edac.c edac: add edac_device_alloc_index() 2009-06-18 13:03:56 -07:00
amd8111_edac.h edac: AMD8111 driver header file 2009-04-02 19:05:03 -07:00
amd8131_edac.c edac: AMD8111 & AMD8131 use dev_name() 2009-05-29 08:40:03 -07:00
amd8131_edac.h edac: AMD8131 driver header file 2009-04-02 19:05:03 -07:00
cell_edac.c edac: add missing __devexit_p() 2009-06-18 13:03:57 -07:00
cpc925_edac.c edac: fix resource size calculation 2009-09-24 07:21:04 -07:00
e7xxx_edac.c edac: fix module initialization on several modules 2nd time 2008-04-29 08:06:26 -07:00
e752x_edac.c trivial: fix typos s/paramter/parameter/ and s/excute/execute/ in documentation and source comments. 2009-06-12 18:01:46 +02:00
edac_core.h edac: add memory types strings for debugging 2009-12-07 19:14:31 +01:00
edac_device_sysfs.c Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
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 Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
edac_mc.c edac: add memory types strings for debugging 2009-12-07 19:14:31 +01:00
edac_mce_amd.c edac, mce, amd: silence GART TLB errors 2009-12-16 17:48:39 +01: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: remove unneeded functions and add static accessor 2008-04-29 08:06:26 -07:00
edac_pci_sysfs.c Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
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 edac: fix module initialization on several modules 2nd time 2008-04-29 08:06:26 -07:00
i3200_edac.c edac: i3200 memory controller driver 2009-09-24 07:21:04 -07:00
i5000_edac.c edac: i5000_edac critical fix panic out of bounds 2010-01-16 12:15:38 -08:00
i5100_edac.c edac: i5100 add 6 ranks per channel 2009-12-16 07:20:12 -08:00
i5400_edac.c edac: i5400 fix csrow mapping 2009-10-29 07:39:30 -07:00
i82443bxgx_edac.c edac: make i82443bxgx_edac coexist with intel_agp 2008-10-16 11:21:48 -07:00
i82860_edac.c edac: fix module initialization on several modules 2nd time 2008-04-29 08:06:26 -07:00
i82875p_edac.c pci: use pci_ioremap_bar() in drivers/edac 2009-01-06 15:59:30 -08:00
i82975x_edac.c edac: fix module initialization on several modules 2nd time 2008-04-29 08:06:26 -07:00
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 improve SDRAM error reporting 2010-03-12 15:52:40 -08:00
mpc85xx_edac.h edac: mpc85xx mask ecc syndrome correctly 2010-03-12 15:52:40 -08:00
mv64x60_edac.c edac: fix resource size calculation 2009-09-24 07:21:04 -07:00
mv64x60_edac.h drivers-edac: add marvell mv64x60 driver 2008-02-07 08:42:23 -08:00
pasemi_edac.c pasemi_edac needs to include linux/edac.h 2008-04-29 19:06:57 -07:00
ppc4xx_edac.c edac: new ppc4xx driver module 2009-04-02 19:05:03 -07:00
ppc4xx_edac.h edac: new ppc4xx driver module 2009-04-02 19:05:03 -07:00
r82600_edac.c edac: fix module initialization on several modules 2nd time 2008-04-29 08:06:26 -07:00
x38_edac.c edac: x38 fix mchbar high register addr 2009-07-29 19:10:34 -07:00