linux/drivers/edac
Luck, Tony eb1af3b71f EDAC/sb_edac: Fix computation of channel address
Large memory Haswell-EX systems with multiple DIMMs per channel were
sometimes reporting the wrong DIMM.

Found three problems:

 1) Debug printouts for socket and channel interleave were not interpreting
    the register fields correctly. The socket interleave field is a 2^X
    value (0=1, 1=2, 2=4, 3=8). The channel interleave is X+1 (0=1, 1=2,
    2=3. 3=4).

 2) Actual use of the socket interleave value didn't interpret as 2^X

 3) Conversion of address to channel address was complicated, and wrong.

Signed-off-by: Tony Luck <tony.luck@intel.com>
Acked-by: Aristeu Rozanski <arozansk@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-edac@vger.kernel.org
Cc: stable@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-03-10 18:31:55 +01:00
..
altera_edac.c EDAC, altera: Convert to debugfs wrappers 2015-09-22 18:20:56 +02:00
altera_edac.h EDAC, altera: SoCFPGA EDAC should not look for ECC_CORR_EN 2015-10-15 11:57:23 +02:00
amd64_edac_dbg.c EDAC: amd64: Use static attribute groups 2015-02-23 13:08:09 +01:00
amd64_edac_inj.c EDAC: amd64: Use static attribute groups 2015-02-23 13:08:09 +01:00
amd64_edac.c Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-11-03 17:51:33 -08:00
amd64_edac.h EDAC, amd64_edac: Update copyright and remove changelog 2015-09-29 13:41:04 +02:00
amd76x_edac.c EDAC: Remove DEFINE_PCI_DEVICE_TABLE macro 2013-12-06 10:23:41 +01:00
amd8111_edac.c amd8111_edac: Fix leaks in probe error paths 2014-02-25 10:09:09 +01:00
amd8111_edac.h
amd8131_edac.c edac: Drop __DATE__ usage 2011-04-19 00:23:22 +02:00
amd8131_edac.h
cell_edac.c edac: drop owner assignment from platform_drivers 2014-10-20 16:20:30 +02:00
cpc925_edac.c cpc925_edac: Report UE events properly 2014-10-22 22:58:45 +02:00
debugfs.c EDAC: Use edac_debugfs_remove_recursive() 2015-10-14 18:50:32 +02:00
e7xxx_edac.c e7xxx_edac: Report CE events properly 2014-10-22 22:59:00 +02:00
e752x_edac.c e752x_edac: Drop pvt->bridge_ck 2014-02-25 10:01:30 +01:00
edac_core.h EDAC: Carve out debugfs functionality 2015-09-22 12:29:46 +02:00
edac_device_sysfs.c EDAC: Remove edac_get_sysfs_subsys() error handling 2015-12-11 16:56:41 +01:00
edac_device.c EDAC: Rework workqueue handling 2015-12-11 16:56:43 +01:00
edac_mc_sysfs.c EDAC: Remove edac_get_sysfs_subsys() error handling 2015-12-11 16:56:41 +01:00
edac_mc.c EDAC: Rework workqueue handling 2015-12-11 16:56:43 +01:00
edac_module.c EDAC: Rework workqueue handling 2015-12-11 16:56:43 +01:00
edac_module.h EDAC: Rework workqueue handling 2015-12-11 16:56:43 +01:00
edac_pci_sysfs.c EDAC: Remove edac_get_sysfs_subsys() error handling 2015-12-11 16:56:41 +01:00
edac_pci.c EDAC: Rework workqueue handling 2015-12-11 16:56:43 +01:00
edac_stub.c EDAC: Rip out the edac_subsys reference counting 2015-12-11 16:56:39 +01:00
ghes_edac.c EDAC: Fix PAGES_TO_MiB macro misuse 2015-10-22 22:57:30 +02:00
highbank_l2_edac.c edac, highbank: Improve and unify naming 2013-11-04 17:01:07 -06:00
highbank_mc_edac.c EDAC: Constify of_device_id array 2015-03-20 17:50:07 +01:00
i7core_edac.c x86/mce: Kill drain_mcelog_buffer() 2015-08-13 10:12:52 +02:00
i3000_edac.c EDAC: Delete unnecessary check before calling pci_dev_put() 2014-11-19 16:33:48 +01:00
i3200_edac.c move io-64-nonatomic*.h out of asm-generic 2015-10-15 00:21:07 +02:00
i5000_edac.c EDAC: Remove DEFINE_PCI_DEVICE_TABLE macro 2013-12-06 10:23:41 +01:00
i5100_edac.c EDAC, i5100: Use to_delayed_work() 2016-01-01 18:31:34 +01:00
i5400_edac.c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2014-04-04 09:50:07 -07:00
i7300_edac.c Linux 3.14-rc5 2014-03-11 06:55:49 -03:00
i82443bxgx_edac.c EDAC, i82443bxgx: Don't export static symbol 2015-03-11 20:39:15 +01:00
i82860_edac.c EDAC: Delete unnecessary checks before pci_dev_put() 2015-02-23 13:06:23 +01:00
i82875p_edac.c EDAC: Delete unnecessary checks before pci_dev_put() 2015-02-23 13:06:23 +01:00
i82975x_edac.c EDAC: Delete unnecessary checks before pci_dev_put() 2015-02-23 13:06:23 +01:00
ie31200_edac.c move io-64-nonatomic*.h out of asm-generic 2015-10-15 00:21:07 +02:00
Kconfig x86/ras: Move AMD MCE injector to arch/x86/ras/ 2015-08-13 10:12:54 +02:00
Makefile EDAC: Rework workqueue handling 2015-12-11 16:56:43 +01:00
mce_amd.c x86/mce/AMD, EDAC: Enable error decoding of Scalable MCA errors 2016-03-08 11:48:14 +01:00
mce_amd.h x86, mce, severity: Extend the the mce_severity mechanism to handle UCNA/DEFERRED error 2014-11-19 10:55:43 -08:00
mpc85xx_edac.c EDAC, mpc85xx: Make mpc85xx-pci-edac a platform device 2015-12-11 16:56:16 +01:00
mpc85xx_edac.h EDAC, mpc85xx: Extend error address to 64 bit 2015-05-31 12:51:08 +02:00
mv64x60_edac.c EDAC, mv64x60: Use platform_register/unregister_drivers() 2015-12-03 12:05:40 +01:00
mv64x60_edac.h edac: Drop __DATE__ usage 2011-04-19 00:23:22 +02:00
octeon_edac-l2c.c EDAC, octeon: Fix broken build due to model helper renames 2015-07-02 10:46:28 +02:00
octeon_edac-lmc.c EDAC, octeon: Fix broken build due to model helper renames 2015-07-02 10:46:28 +02:00
octeon_edac-pc.c EDAC, octeon: Fix broken build due to model helper renames 2015-07-02 10:46:28 +02:00
octeon_edac-pci.c Drivers: edac: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
pasemi_edac.c Drivers: edac: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
ppc4xx_edac.c EDAC, ppc4xx_edac: Fix module autoload for OF platform driver 2015-10-03 12:19:42 +02:00
ppc4xx_edac.h
r82600_edac.c EDAC: Remove DEFINE_PCI_DEVICE_TABLE macro 2013-12-06 10:23:41 +01:00
sb_edac.c EDAC/sb_edac: Fix computation of channel address 2016-03-10 18:31:55 +01:00
synopsys_edac.c EDAC: Constify of_device_id array 2015-03-20 17:50:07 +01:00
tile_edac.c edac: drop owner assignment from platform_drivers 2014-10-20 16:20:30 +02:00
wq.c EDAC: Rework workqueue handling 2015-12-11 16:56:43 +01:00
x38_edac.c move io-64-nonatomic*.h out of asm-generic 2015-10-15 00:21:07 +02:00
xgene_edac.c EDAC, xgene: Add SoC support 2015-09-25 15:41:46 +02:00