Skip to content

Commit 773d8bb

Browse files
lilili-kernelaegl
authored andcommitted
EDAC/igen6: Add Intel Wildcat Lake SoCs support
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 <[email protected]> Signed-off-by: Qiuxu Zhuo <[email protected]> Signed-off-by: Tony Luck <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent 9ad08c1 commit 773d8bb

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

drivers/edac/igen6_edac.c

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,9 @@ static struct work_struct ecclog_work;
275275
#define DID_PTL_H_SKU2 0xb001
276276
#define DID_PTL_H_SKU3 0xb002
277277

278+
/* Compute die IDs for Wildcat Lake with IBECC */
279+
#define DID_WCL_SKU1 0xfd00
280+
278281
static int get_mchbar(struct pci_dev *pdev, u64 *mchbar)
279282
{
280283
union {
@@ -569,6 +572,17 @@ static struct res_config mtl_p_cfg = {
569572
.err_addr_to_imc_addr = adl_err_addr_to_imc_addr,
570573
};
571574

575+
static struct res_config wcl_cfg = {
576+
.machine_check = true,
577+
.num_imc = 1,
578+
.imc_base = 0xd800,
579+
.ibecc_base = 0xd400,
580+
.ibecc_error_log_offset = 0x170,
581+
.ibecc_available = mtl_p_ibecc_available,
582+
.err_addr_to_sys_addr = adl_err_addr_to_sys_addr,
583+
.err_addr_to_imc_addr = adl_err_addr_to_imc_addr,
584+
};
585+
572586
static struct pci_device_id igen6_pci_tbl[] = {
573587
{ PCI_VDEVICE(INTEL, DID_EHL_SKU5), (kernel_ulong_t)&ehl_cfg },
574588
{ PCI_VDEVICE(INTEL, DID_EHL_SKU6), (kernel_ulong_t)&ehl_cfg },
@@ -622,6 +636,7 @@ static struct pci_device_id igen6_pci_tbl[] = {
622636
{ PCI_VDEVICE(INTEL, DID_PTL_H_SKU1), (kernel_ulong_t)&mtl_p_cfg },
623637
{ PCI_VDEVICE(INTEL, DID_PTL_H_SKU2), (kernel_ulong_t)&mtl_p_cfg },
624638
{ PCI_VDEVICE(INTEL, DID_PTL_H_SKU3), (kernel_ulong_t)&mtl_p_cfg },
639+
{ PCI_VDEVICE(INTEL, DID_WCL_SKU1), (kernel_ulong_t)&wcl_cfg },
625640
{ },
626641
};
627642
MODULE_DEVICE_TABLE(pci, igen6_pci_tbl);

0 commit comments

Comments
 (0)