Skip to content

Commit 10590a9

Browse files
qzhuo2aegl
authored andcommitted
EDAC/igen6: Add EDAC driver for Intel client SoCs using IBECC
This driver supports Intel client SoC with integrated memory controller using In-Band ECC(IBECC). The memory correctable and uncorrectable errors are reported via NMIs. The driver handles the NMIs and decodes the memory error address to platform specific address. The first IBECC-supported SoC is Elkhart Lake. [Tony: s/#include <linux/nmi.h>/#include <asm/nmi.h>/ to fix randconfig build] Signed-off-by: Qiuxu Zhuo <[email protected]> Signed-off-by: Tony Luck <[email protected]>
1 parent 3b20369 commit 10590a9

File tree

3 files changed

+928
-0
lines changed

3 files changed

+928
-0
lines changed

drivers/edac/Kconfig

+9
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,15 @@ config EDAC_PND2
269269
first used on the Apollo Lake platform and Denverton
270270
micro-server but may appear on others in the future.
271271

272+
config EDAC_IGEN6
273+
tristate "Intel client SoC Integrated MC"
274+
depends on PCI && X86_64 && PCI_MMCONFIG && ARCH_HAVE_NMI_SAFE_CMPXCHG
275+
help
276+
Support for error detection and correction on the Intel
277+
client SoC Integrated Memory Controller using In-Band ECC IP.
278+
This In-Band ECC is first used on the Elkhart Lake SoC but
279+
may appear on others in the future.
280+
272281
config EDAC_MPC85XX
273282
bool "Freescale MPC83xx / MPC85xx"
274283
depends on FSL_SOC && EDAC=y

drivers/edac/Makefile

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ obj-$(CONFIG_EDAC_I7300) += i7300_edac.o
3232
obj-$(CONFIG_EDAC_I7CORE) += i7core_edac.o
3333
obj-$(CONFIG_EDAC_SBRIDGE) += sb_edac.o
3434
obj-$(CONFIG_EDAC_PND2) += pnd2_edac.o
35+
obj-$(CONFIG_EDAC_IGEN6) += igen6_edac.o
3536
obj-$(CONFIG_EDAC_E7XXX) += e7xxx_edac.o
3637
obj-$(CONFIG_EDAC_E752X) += e752x_edac.o
3738
obj-$(CONFIG_EDAC_I82443BXGX) += i82443bxgx_edac.o

0 commit comments

Comments
 (0)