* [PATCH 0/3] EDAC: Add three Intel CPUs for EDAC support
@ 2025-07-04 15:16 Qiuxu Zhuo
2025-07-04 15:16 ` [PATCH 1/3] EDAC/i10nm: Add Intel Granite Rapids-D support Qiuxu Zhuo
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Qiuxu Zhuo @ 2025-07-04 15:16 UTC (permalink / raw)
To: Tony Luck, Borislav Petkov
Cc: Qiuxu Zhuo, James Morse, Mauro Carvalho Chehab, Robert Richter,
Lili Li, Laurens SEGHERS, VikasX Chougule, linux-edac,
linux-kernel
Add EDAC support for three Intel CPUs:
- Patch 1: Wildcat Lake SoCs with In-Band ECC.
- Patch 2: Granite Rapids-D for micro-server and edge computing applications.
- Patch 3: Raptor Lake HX series SoCs with Out-of-Band ECC.
This patch series is on top of RAS edac-drivers branch.
Lili Li (1):
EDAC/igen6: Add Intel Wildcat Lake SoCs support
Qiuxu Zhuo (2):
EDAC/i10nm: Add Intel Granite Rapids-D support
EDAC/ie31200: Add Intel Raptor Lake-HX SoCs support
drivers/edac/i10nm_base.c | 12 +++++++++++-
drivers/edac/ie31200_edac.c | 4 ++++
drivers/edac/igen6_edac.c | 15 +++++++++++++++
3 files changed, 30 insertions(+), 1 deletion(-)
base-commit: 815703e2ecdf091a724c16671aadd8c55de24878
--
2.43.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/3] EDAC/i10nm: Add Intel Granite Rapids-D support
2025-07-04 15:16 [PATCH 0/3] EDAC: Add three Intel CPUs for EDAC support Qiuxu Zhuo
@ 2025-07-04 15:16 ` Qiuxu Zhuo
2025-07-04 15:16 ` [PATCH 2/3] EDAC/igen6: Add Intel Wildcat Lake SoCs support Qiuxu Zhuo
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Qiuxu Zhuo @ 2025-07-04 15:16 UTC (permalink / raw)
To: Tony Luck, Borislav Petkov
Cc: Qiuxu Zhuo, VikasX Chougule, James Morse, Mauro Carvalho Chehab,
Robert Richter, Lili Li, Laurens SEGHERS, linux-edac,
linux-kernel
The Granite Rapids-D CPU model uses memory controller registers similar
to those of the Granite Rapids server CPU but with a different memory
controller MMIO base.
Add the Granite Rapids-D CPU model ID and use the new memory controller
MMIO base for EDAC support.
Tested-by: VikasX Chougule <vikasx.chougule@intel.com>
Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
---
drivers/edac/i10nm_base.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/drivers/edac/i10nm_base.c b/drivers/edac/i10nm_base.c
index a3fca2567752..c1e45c16f70e 100644
--- a/drivers/edac/i10nm_base.c
+++ b/drivers/edac/i10nm_base.c
@@ -62,6 +62,7 @@
((GET_BITFIELD(reg, 0, 10) << 12) + 0x140000)
#define I10NM_GNR_IMC_MMIO_OFFSET 0x24c000
+#define I10NM_GNR_D_IMC_MMIO_OFFSET 0x206000
#define I10NM_GNR_IMC_MMIO_SIZE 0x4000
#define I10NM_HBM_IMC_MMIO_SIZE 0x9000
#define I10NM_DDR_IMC_CH_CNT(reg) GET_BITFIELD(reg, 21, 24)
@@ -687,6 +688,14 @@ static struct pci_dev *get_gnr_mdev(struct skx_dev *d, int logical_idx, int *phy
return NULL;
}
+static u32 get_gnr_imc_mmio_offset(void)
+{
+ if (boot_cpu_data.x86_vfm == INTEL_GRANITERAPIDS_D)
+ return I10NM_GNR_D_IMC_MMIO_OFFSET;
+
+ return I10NM_GNR_IMC_MMIO_OFFSET;
+}
+
/**
* get_ddr_munit() - Get the resource of the i-th DDR memory controller.
*
@@ -715,7 +724,7 @@ static struct pci_dev *get_ddr_munit(struct skx_dev *d, int i, u32 *offset, unsi
return NULL;
*offset = I10NM_GET_IMC_MMIO_OFFSET(reg) +
- I10NM_GNR_IMC_MMIO_OFFSET +
+ get_gnr_imc_mmio_offset() +
physical_idx * I10NM_GNR_IMC_MMIO_SIZE;
*size = I10NM_GNR_IMC_MMIO_SIZE;
@@ -1030,6 +1039,7 @@ static const struct x86_cpu_id i10nm_cpuids[] = {
X86_MATCH_VFM(INTEL_SAPPHIRERAPIDS_X, &spr_cfg),
X86_MATCH_VFM(INTEL_EMERALDRAPIDS_X, &spr_cfg),
X86_MATCH_VFM(INTEL_GRANITERAPIDS_X, &gnr_cfg),
+ X86_MATCH_VFM(INTEL_GRANITERAPIDS_D, &gnr_cfg),
X86_MATCH_VFM(INTEL_ATOM_CRESTMONT_X, &gnr_cfg),
X86_MATCH_VFM(INTEL_ATOM_CRESTMONT, &gnr_cfg),
X86_MATCH_VFM(INTEL_ATOM_DARKMONT_X, &gnr_cfg),
--
2.43.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/3] EDAC/igen6: Add Intel Wildcat Lake SoCs support
2025-07-04 15:16 [PATCH 0/3] EDAC: Add three Intel CPUs for EDAC support Qiuxu Zhuo
2025-07-04 15:16 ` [PATCH 1/3] EDAC/i10nm: Add Intel Granite Rapids-D support Qiuxu Zhuo
@ 2025-07-04 15:16 ` Qiuxu Zhuo
2025-07-04 15:16 ` [PATCH 3/3] EDAC/ie31200: Add Intel Raptor Lake-HX " Qiuxu Zhuo
2025-07-07 18:03 ` [PATCH 0/3] EDAC: Add three Intel CPUs for EDAC support Luck, Tony
3 siblings, 0 replies; 6+ messages in thread
From: Qiuxu Zhuo @ 2025-07-04 15:16 UTC (permalink / raw)
To: Tony Luck, Borislav Petkov
Cc: Lili Li, Qiuxu Zhuo, James Morse, Mauro Carvalho Chehab,
Robert Richter, Laurens SEGHERS, VikasX Chougule, linux-edac,
linux-kernel
From: Lili Li <lili.li@intel.com>
Intel Wildcat Lake is a mobile derivative of Panther Lake with one
memory controller. Wildcat Lake SoCs share the same IBECC registers
with Meteor Lake-P SoCs.
Add a compute die ID and a new configuration structure for Wildcat
Lake SoCs with In-Band ECC capability for EDAC support.
Signed-off-by: Lili Li <lili.li@intel.com>
Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
---
drivers/edac/igen6_edac.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/drivers/edac/igen6_edac.c b/drivers/edac/igen6_edac.c
index 5ffe9579959f..2fc59f9eed69 100644
--- a/drivers/edac/igen6_edac.c
+++ b/drivers/edac/igen6_edac.c
@@ -275,6 +275,9 @@ static struct work_struct ecclog_work;
#define DID_PTL_H_SKU2 0xb001
#define DID_PTL_H_SKU3 0xb002
+/* Compute die IDs for Wildcat Lake with IBECC */
+#define DID_WCL_SKU1 0xfd00
+
static int get_mchbar(struct pci_dev *pdev, u64 *mchbar)
{
union {
@@ -569,6 +572,17 @@ static struct res_config mtl_p_cfg = {
.err_addr_to_imc_addr = adl_err_addr_to_imc_addr,
};
+static struct res_config wcl_cfg = {
+ .machine_check = true,
+ .num_imc = 1,
+ .imc_base = 0xd800,
+ .ibecc_base = 0xd400,
+ .ibecc_error_log_offset = 0x170,
+ .ibecc_available = mtl_p_ibecc_available,
+ .err_addr_to_sys_addr = adl_err_addr_to_sys_addr,
+ .err_addr_to_imc_addr = adl_err_addr_to_imc_addr,
+};
+
static struct pci_device_id igen6_pci_tbl[] = {
{ PCI_VDEVICE(INTEL, DID_EHL_SKU5), (kernel_ulong_t)&ehl_cfg },
{ PCI_VDEVICE(INTEL, DID_EHL_SKU6), (kernel_ulong_t)&ehl_cfg },
@@ -622,6 +636,7 @@ static struct pci_device_id igen6_pci_tbl[] = {
{ PCI_VDEVICE(INTEL, DID_PTL_H_SKU1), (kernel_ulong_t)&mtl_p_cfg },
{ PCI_VDEVICE(INTEL, DID_PTL_H_SKU2), (kernel_ulong_t)&mtl_p_cfg },
{ PCI_VDEVICE(INTEL, DID_PTL_H_SKU3), (kernel_ulong_t)&mtl_p_cfg },
+ { PCI_VDEVICE(INTEL, DID_WCL_SKU1), (kernel_ulong_t)&wcl_cfg },
{ },
};
MODULE_DEVICE_TABLE(pci, igen6_pci_tbl);
--
2.43.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/3] EDAC/ie31200: Add Intel Raptor Lake-HX SoCs support
2025-07-04 15:16 [PATCH 0/3] EDAC: Add three Intel CPUs for EDAC support Qiuxu Zhuo
2025-07-04 15:16 ` [PATCH 1/3] EDAC/i10nm: Add Intel Granite Rapids-D support Qiuxu Zhuo
2025-07-04 15:16 ` [PATCH 2/3] EDAC/igen6: Add Intel Wildcat Lake SoCs support Qiuxu Zhuo
@ 2025-07-04 15:16 ` Qiuxu Zhuo
2025-07-07 18:03 ` [PATCH 0/3] EDAC: Add three Intel CPUs for EDAC support Luck, Tony
3 siblings, 0 replies; 6+ messages in thread
From: Qiuxu Zhuo @ 2025-07-04 15:16 UTC (permalink / raw)
To: Tony Luck, Borislav Petkov
Cc: Qiuxu Zhuo, Laurens SEGHERS, James Morse, Mauro Carvalho Chehab,
Robert Richter, Lili Li, VikasX Chougule, linux-edac,
linux-kernel
Intel Raptor Lake-HX SoC shares the same memory controller registers
as Raptor Lake-S SoC. Add a compute die ID for Raptor Lake-HX SoCs with
Out-of-Band ECC capability for EDAC support.
Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Tested-by: Laurens SEGHERS <laurens@rale.com>
---
drivers/edac/ie31200_edac.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/edac/ie31200_edac.c b/drivers/edac/ie31200_edac.c
index d9533ca25635..5c1fa1c0d12e 100644
--- a/drivers/edac/ie31200_edac.c
+++ b/drivers/edac/ie31200_edac.c
@@ -94,6 +94,9 @@
#define PCI_DEVICE_ID_INTEL_IE31200_RPL_S_5 0xa740 /* 8P+12E, e.g. i7-14700 */
#define PCI_DEVICE_ID_INTEL_IE31200_RPL_S_6 0xa704 /* 6P+8E, e.g. i5-14600 */
+/* Raptor Lake-HX */
+#define PCI_DEVICE_ID_INTEL_IE31200_RPL_HX_1 0xa702 /* 8P+16E, e.g. i9-13950HX */
+
/* Alder Lake-S */
#define PCI_DEVICE_ID_INTEL_IE31200_ADL_S_1 0x4660
@@ -756,6 +759,7 @@ static const struct pci_device_id ie31200_pci_tbl[] = {
{ PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IE31200_RPL_S_4), (kernel_ulong_t)&rpl_s_cfg},
{ PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IE31200_RPL_S_5), (kernel_ulong_t)&rpl_s_cfg},
{ PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IE31200_RPL_S_6), (kernel_ulong_t)&rpl_s_cfg},
+ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IE31200_RPL_HX_1), (kernel_ulong_t)&rpl_s_cfg},
{ PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IE31200_ADL_S_1), (kernel_ulong_t)&rpl_s_cfg},
{ PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IE31200_BTL_S_1), (kernel_ulong_t)&rpl_s_cfg},
{ PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_IE31200_BTL_S_2), (kernel_ulong_t)&rpl_s_cfg},
--
2.43.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 0/3] EDAC: Add three Intel CPUs for EDAC support
2025-07-04 15:16 [PATCH 0/3] EDAC: Add three Intel CPUs for EDAC support Qiuxu Zhuo
` (2 preceding siblings ...)
2025-07-04 15:16 ` [PATCH 3/3] EDAC/ie31200: Add Intel Raptor Lake-HX " Qiuxu Zhuo
@ 2025-07-07 18:03 ` Luck, Tony
2025-07-08 13:19 ` Zhuo, Qiuxu
3 siblings, 1 reply; 6+ messages in thread
From: Luck, Tony @ 2025-07-07 18:03 UTC (permalink / raw)
To: Qiuxu Zhuo
Cc: Borislav Petkov, James Morse, Mauro Carvalho Chehab,
Robert Richter, Lili Li, Laurens SEGHERS, VikasX Chougule,
linux-edac, linux-kernel
On Fri, Jul 04, 2025 at 11:16:06PM +0800, Qiuxu Zhuo wrote:
> Add EDAC support for three Intel CPUs:
>
> - Patch 1: Wildcat Lake SoCs with In-Band ECC.
> - Patch 2: Granite Rapids-D for micro-server and edge computing applications.
> - Patch 3: Raptor Lake HX series SoCs with Out-of-Band ECC.
>
> This patch series is on top of RAS edac-drivers branch.
>
> Lili Li (1):
> EDAC/igen6: Add Intel Wildcat Lake SoCs support
>
> Qiuxu Zhuo (2):
> EDAC/i10nm: Add Intel Granite Rapids-D support
> EDAC/ie31200: Add Intel Raptor Lake-HX SoCs support
>
> drivers/edac/i10nm_base.c | 12 +++++++++++-
> drivers/edac/ie31200_edac.c | 4 ++++
> drivers/edac/igen6_edac.c | 15 +++++++++++++++
> 3 files changed, 30 insertions(+), 1 deletion(-)
Added all three to RAS tree, branch edac-drivers.
Thanks
-Tony
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [PATCH 0/3] EDAC: Add three Intel CPUs for EDAC support
2025-07-07 18:03 ` [PATCH 0/3] EDAC: Add three Intel CPUs for EDAC support Luck, Tony
@ 2025-07-08 13:19 ` Zhuo, Qiuxu
0 siblings, 0 replies; 6+ messages in thread
From: Zhuo, Qiuxu @ 2025-07-08 13:19 UTC (permalink / raw)
To: Luck, Tony
Cc: Borislav Petkov, James Morse, Mauro Carvalho Chehab,
Robert Richter, Li, Lili, Laurens SEGHERS, Chougule, VikasX,
linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org
> From: Luck, Tony <tony.luck@intel.com>
> [...]
> Subject: Re: [PATCH 0/3] EDAC: Add three Intel CPUs for EDAC support
>
> On Fri, Jul 04, 2025 at 11:16:06PM +0800, Qiuxu Zhuo wrote:
> > Add EDAC support for three Intel CPUs:
> >
> > - Patch 1: Wildcat Lake SoCs with In-Band ECC.
> > - Patch 2: Granite Rapids-D for micro-server and edge computing
> applications.
> > - Patch 3: Raptor Lake HX series SoCs with Out-of-Band ECC.
> >
> > This patch series is on top of RAS edac-drivers branch.
> >
> > Lili Li (1):
> > EDAC/igen6: Add Intel Wildcat Lake SoCs support
> >
> > Qiuxu Zhuo (2):
> > EDAC/i10nm: Add Intel Granite Rapids-D support
> > EDAC/ie31200: Add Intel Raptor Lake-HX SoCs support
> >
> > drivers/edac/i10nm_base.c | 12 +++++++++++-
> > drivers/edac/ie31200_edac.c | 4 ++++
> > drivers/edac/igen6_edac.c | 15 +++++++++++++++
> > 3 files changed, 30 insertions(+), 1 deletion(-)
>
> Added all three to RAS tree, branch edac-drivers.
Thanks Tony.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-07-08 13:19 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-04 15:16 [PATCH 0/3] EDAC: Add three Intel CPUs for EDAC support Qiuxu Zhuo
2025-07-04 15:16 ` [PATCH 1/3] EDAC/i10nm: Add Intel Granite Rapids-D support Qiuxu Zhuo
2025-07-04 15:16 ` [PATCH 2/3] EDAC/igen6: Add Intel Wildcat Lake SoCs support Qiuxu Zhuo
2025-07-04 15:16 ` [PATCH 3/3] EDAC/ie31200: Add Intel Raptor Lake-HX " Qiuxu Zhuo
2025-07-07 18:03 ` [PATCH 0/3] EDAC: Add three Intel CPUs for EDAC support Luck, Tony
2025-07-08 13:19 ` Zhuo, Qiuxu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox