linux/drivers/edac
Aravind Gopalakrishnan a597d2a5d9 amd64_edac: Add F15h M60h support
This patch adds support for ECC error decoding for F15h M60h processor.
Aside from the usual changes, the patch adds support for some new features
in the processor:
 - DDR4(unbuffered, registered); LRDIMM DDR3 support
   - relevant debug messages have been modified/added to report these
     memory types
 - new dbam_to_cs mappers
   - if (F15h M60h && LRDIMM); we need a 'multiplier' value to find
     cs_size. This multiplier value is obtained from the per-dimm
     DCSM register. So, change the interface to accept a 'cs_mask_nr'
     value to facilitate this calculation
 - switch-casing determine_memory_type()
   - done to cleanse the function of too many if-else statements
     and improve readability
   - This is now called early in read_mc_regs() to cache dram_type

Misc cleanup:
 - amd64_pci_table[] is condensed by using PCI_VDEVICE macro.

Testing details:
Tested the patch by injecting 'ECC' type errors using mce_amd_inj
and error decoding works fine.

Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com>
Link: http://lkml.kernel.org/r/1414617483-4941-1-git-send-email-Aravind.Gopalakrishnan@amd.com
[ Boris: determine_memory_type() cleanups ]
Signed-off-by: Borislav Petkov <bp@suse.de>
2014-10-30 13:42:48 +01:00
..
altera_edac.c edac: altera: Add Altera SDRAM EDAC support 2014-09-04 13:41:46 -05:00
amd64_edac_dbg.c
amd64_edac_inj.c
amd64_edac.c amd64_edac: Add F15h M60h support 2014-10-30 13:42:48 +01:00
amd64_edac.h amd64_edac: Add F15h M60h support 2014-10-30 13:42:48 +01: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
amd8131_edac.h
cell_edac.c of: Migrate of_find_node_by_name() users to for_each_node_by_name() 2014-06-26 17:12:24 +01:00
cpc925_edac.c
e7xxx_edac.c EDAC: Remove DEFINE_PCI_DEVICE_TABLE macro 2013-12-06 10:23:41 +01:00
e752x_edac.c e752x_edac: Drop pvt->bridge_ck 2014-02-25 10:01:30 +01:00
edac_core.h EDAC: Fix mem_types strings type 2014-09-02 09:11:16 +02:00
edac_device_sysfs.c
edac_device.c EDAC: Don't try to cancel workqueue when it's never setup 2014-01-10 15:57:36 +01:00
edac_mc_sysfs.c edac: add DDR4 and RDDR4 2014-06-26 15:46:55 -03:00
edac_mc.c EDAC: Sync memory types and names 2014-10-20 14:22:50 +02:00
edac_module.c EDAC, edac_module.c: Remove unnecessary test on unsigned value 2014-06-24 15:13:08 +02:00
edac_module.h EDAC: Poll timeout cannot be zero, p2 2014-02-14 10:40:29 +01:00
edac_pci_sysfs.c
edac_pci.c
edac_stub.c EDAC: Add an edac_report parameter to EDAC 2013-12-11 18:06:47 +01:00
ghes_edac.c [media, edac] Change my email address 2014-02-07 08:03:07 -02:00
highbank_l2_edac.c
highbank_mc_edac.c
i7core_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
i3000_edac.c EDAC: Remove DEFINE_PCI_DEVICE_TABLE macro 2013-12-06 10:23:41 +01:00
i3200_edac.c i3200_edac: Add a missing pci_disable_device() on the exit path 2014-02-07 11:34:55 +01:00
i5000_edac.c EDAC: Remove DEFINE_PCI_DEVICE_TABLE macro 2013-12-06 10:23:41 +01:00
i5100_edac.c i5100_edac: Remove an unneeded condition in i5100_init_csrows() 2014-02-20 11:52:58 +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: Remove DEFINE_PCI_DEVICE_TABLE macro 2013-12-06 10:23:41 +01:00
i82860_edac.c EDAC: Remove DEFINE_PCI_DEVICE_TABLE macro 2013-12-06 10:23:41 +01:00
i82875p_edac.c Merge branches 'pci/host-exynos', 'pci/host-imx6', 'pci/resource' and 'pci/misc' into next 2014-05-30 11:41:17 -06:00
i82975x_edac.c EDAC: Remove DEFINE_PCI_DEVICE_TABLE macro 2013-12-06 10:23:41 +01:00
ie31200_edac.c ie31200_edac: Allocate mci and map mchbar first 2014-07-10 10:55:12 +02:00
Kconfig edac: altera: Add Altera SDRAM EDAC support 2014-09-04 13:41:46 -05:00
Makefile edac: altera: Add Altera SDRAM EDAC support 2014-09-04 13:41:46 -05:00
mce_amd_inj.c
mce_amd.c EDAC, MCE, AMD: Add MCE decoding for F15h M60h 2014-07-14 16:58:19 +02:00
mce_amd.h
mpc85xx_edac.c mpc85xx_edac: Make L2 interrupt shared too 2014-09-30 12:55:41 +02:00
mpc85xx_edac.h
mv64x60_edac.c {mv64x60,ppc4xx}_edac,: Remove deprecated IRQF_DISABLED 2014-10-20 14:23:09 +02:00
mv64x60_edac.h
octeon_edac-l2c.c
octeon_edac-lmc.c EDAC: Octeon: Add error injection support 2014-03-31 18:17:12 +02:00
octeon_edac-pc.c
octeon_edac-pci.c
pasemi_edac.c
ppc4xx_edac.c {mv64x60,ppc4xx}_edac,: Remove deprecated IRQF_DISABLED 2014-10-20 14:23:09 +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 sb_edac: Claim a different PCI device 2014-10-08 17:04:16 -03:00
tile_edac.c
x38_edac.c x38_edac: make use of lo_hi_readq() 2014-07-04 13:46:03 +02:00